Class ComponentStatsManager

java.lang.Object
org.apache.pulsar.functions.instance.stats.ComponentStatsManager
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
FunctionStatsManager, SinkStatsManager, SourceStatsManager

public abstract class ComponentStatsManager extends Object implements AutoCloseable
  • Field Details

    • metricsLabels

      protected String[] metricsLabels
    • scheduledFuture

      protected ScheduledFuture<?> scheduledFuture
    • collectorRegistry

      protected final FunctionCollectorRegistry collectorRegistry
    • emptyQueue

      protected final com.google.common.collect.EvictingQueue emptyQueue
    • USER_METRIC_PREFIX

      public static final String USER_METRIC_PREFIX
      See Also:
    • METRICS_LABEL_NAMES

      public static final String[] METRICS_LABEL_NAMES
    • EXCEPTION_METRICS_LABEL_NAMES

      protected static final String[] EXCEPTION_METRICS_LABEL_NAMES
  • Constructor Details

  • Method Details

    • getStatsManager

      public static ComponentStatsManager getStatsManager(FunctionCollectorRegistry collectorRegistry, String[] metricsLabels, ScheduledExecutorService scheduledExecutorService, org.apache.pulsar.functions.proto.Function.FunctionDetails.ComponentType componentType)
    • reset

      public abstract void reset()
    • incrTotalReceived

      public abstract void incrTotalReceived()
    • incrTotalProcessedSuccessfully

      public abstract void incrTotalProcessedSuccessfully()
    • incrSysExceptions

      public abstract void incrSysExceptions(Throwable sysException)
    • incrUserExceptions

      public abstract void incrUserExceptions(Throwable userException)
    • incrSourceExceptions

      public abstract void incrSourceExceptions(Throwable userException)
    • incrSinkExceptions

      public abstract void incrSinkExceptions(Throwable userException)
    • setLastInvocation

      public abstract void setLastInvocation(long ts)
    • processTimeEnd

      public abstract void processTimeEnd(long startTime)
    • getTotalProcessedSuccessfully

      public abstract double getTotalProcessedSuccessfully()
    • getTotalRecordsReceived

      public abstract double getTotalRecordsReceived()
    • getTotalSysExceptions

      public abstract double getTotalSysExceptions()
    • getTotalUserExceptions

      public abstract double getTotalUserExceptions()
    • getLastInvocation

      public abstract double getLastInvocation()
    • getAvgProcessLatency

      public abstract double getAvgProcessLatency()
    • getTotalProcessedSuccessfully1min

      public abstract double getTotalProcessedSuccessfully1min()
    • getTotalRecordsReceived1min

      public abstract double getTotalRecordsReceived1min()
    • getTotalSysExceptions1min

      public abstract double getTotalSysExceptions1min()
    • getTotalUserExceptions1min

      public abstract double getTotalUserExceptions1min()
    • getAvgProcessLatency1min

      public abstract double getAvgProcessLatency1min()
    • getLatestUserExceptions

      public abstract com.google.common.collect.EvictingQueue<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.ExceptionInformation> getLatestUserExceptions()
    • getLatestSystemExceptions

      public abstract com.google.common.collect.EvictingQueue<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.ExceptionInformation> getLatestSystemExceptions()
    • getLatestSourceExceptions

      public abstract com.google.common.collect.EvictingQueue<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.ExceptionInformation> getLatestSourceExceptions()
    • getLatestSinkExceptions

      public abstract com.google.common.collect.EvictingQueue<org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.ExceptionInformation> getLatestSinkExceptions()
    • getStatsAsString

      public String getStatsAsString() throws IOException
      Throws:
      IOException
    • getExceptionInfo

      protected org.apache.pulsar.functions.proto.InstanceCommunication.FunctionStatus.ExceptionInformation getExceptionInfo(Throwable th, long ts)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable