Class DeltaCounterAccumulationHandlerImpl

  • All Implemented Interfaces:
    ReportableEntityHandler<wavefront.report.ReportPoint,​String>

    public class DeltaCounterAccumulationHandlerImpl
    extends Object
    Handler that processes incoming DeltaCounter objects, aggregates them and hands it over to one of the SenderTask threads according to deltaCountersAggregationIntervalSeconds or before cache expires.
    Author:
    [email protected]
    • Field Detail

      • LOCAL_REGISTRY

        protected static final com.yammer.metrics.core.MetricsRegistry LOCAL_REGISTRY
    • Constructor Detail

      • DeltaCounterAccumulationHandlerImpl

        public DeltaCounterAccumulationHandlerImpl​(HandlerKey handlerKey,
                                                   int blockedItemsPerBatch,
                                                   @Nullable
                                                   Collection<SenderTask<String>> senderTasks,
                                                   @Nonnull
                                                   com.wavefront.api.agent.ValidationConfiguration validationConfig,
                                                   long aggregationIntervalSeconds,
                                                   @Nullable
                                                   Consumer<Long> receivedRateSink,
                                                   @Nullable
                                                   Logger blockedItemLogger,
                                                   @Nullable
                                                   Logger validItemsLogger)
        Parameters:
        handlerKey - metrics pipeline key.
        blockedItemsPerBatch - controls sample rate of how many blocked points are written into the main log file.
        senderTasks - sender tasks.
        validationConfig - validation configuration.
        aggregationIntervalSeconds - aggregation interval for delta counters.
        receivedRateSink - where to report received rate.
        blockedItemLogger - logger for blocked items.
        validItemsLogger - logger for valid items.
    • Method Detail

      • flushDeltaCounters

        public void flushDeltaCounters()
      • reject

        public void reject​(@Nullable
                           T item,
                           @Nullable
                           String message)
        Description copied from interface: ReportableEntityHandler
        Reject the input object as invalid, i.e. rejected based on criteria defined by Wavefront.
        Specified by:
        reject in interface ReportableEntityHandler<T,​U>
        Parameters:
        item - object to reject.
        message - more user-friendly message to write to the main log.
      • reject

        public void reject​(@Nonnull
                           String line,
                           @Nullable
                           String message)
        Description copied from interface: ReportableEntityHandler
        Reject the input object as invalid, i.e. rejected based on criteria defined by Wavefront.
        Specified by:
        reject in interface ReportableEntityHandler<T,​U>
        Parameters:
        line - string to reject and to write to RawBlockedPointsLog.
        message - more user-friendly message to write to the main log.
      • block

        public void block​(T item)
        Description copied from interface: ReportableEntityHandler
        Handle the input object as blocked. Blocked objects are otherwise valid objects that are rejected based on user-defined criteria.
        Specified by:
        block in interface ReportableEntityHandler<T,​U>
        Parameters:
        item - object to block.
      • block

        public void block​(@Nullable
                          T item,
                          @Nullable
                          String message)
        Description copied from interface: ReportableEntityHandler
        Handle the input object as blocked. Blocked objects are otherwise valid objects that are rejected based on user-defined criteria.
        Specified by:
        block in interface ReportableEntityHandler<T,​U>
        Parameters:
        item - object to block.
        message - message to write to the main log.
      • getReceivedCounter

        protected com.yammer.metrics.core.Counter getReceivedCounter()
      • printStats

        protected void printStats()
      • printTotal

        protected void printTotal()