Class HttpPostEmitter

java.lang.Object
org.apache.druid.java.util.emitter.core.HttpPostEmitter
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable, Emitter

public class HttpPostEmitter extends Object implements Flushable, Closeable, Emitter
  • Constructor Details

    • HttpPostEmitter

      public HttpPostEmitter(HttpEmitterConfig config, org.asynchttpclient.AsyncHttpClient client)
    • HttpPostEmitter

      public HttpPostEmitter(HttpEmitterConfig config, org.asynchttpclient.AsyncHttpClient client, com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
  • Method Details

    • start

      public void start()
      Specified by:
      start in interface Emitter
    • emit

      public void emit(Event event)
      Description copied from interface: Emitter
      Emit an event. This method must not throw exceptions or block. If an implementation receives too many events and internal queues fill up, it should drop events rather than blocking or consuming excessive memory. If an implementation receives input it considers to be invalid, or has an internal problem, it should deal with that by logging a warning rather than throwing an exception. Implementations that log warnings should consider throttling warnings to avoid excessive logs, since a busy Druid cluster can emit a high volume of metric events.
      Specified by:
      emit in interface Emitter
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface Emitter
      Specified by:
      flush in interface Flushable
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface Emitter
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getTotalAllocatedBuffers

      public int getTotalAllocatedBuffers()
      This and the following methods are public for external monitoring purposes.
    • getBuffersToEmit

      public int getBuffersToEmit()
    • getBuffersToReuse

      public int getBuffersToReuse()
    • getTotalFailedBuffers

      public int getTotalFailedBuffers()
    • getTotalDroppedBuffers

      public int getTotalDroppedBuffers()
    • getTotalEmittedEvents

      public long getTotalEmittedEvents()
    • getEventsToEmit

      public long getEventsToEmit()
    • getLargeEventsToEmit

      public long getLargeEventsToEmit()
    • getBatchFillingTimeCounter

      public ConcurrentTimeCounter getBatchFillingTimeCounter()
    • getSuccessfulSendingTimeCounter

      public ConcurrentTimeCounter getSuccessfulSendingTimeCounter()
    • getFailedSendingTimeCounter

      public ConcurrentTimeCounter getFailedSendingTimeCounter()