Class TrackerMonitor

java.lang.Object
io.fluxzero.sdk.tracking.metrics.TrackerMonitor
All Implemented Interfaces:
BatchInterceptor

public class TrackerMonitor extends Object implements BatchInterceptor
  • Constructor Details

    • TrackerMonitor

      public TrackerMonitor()
  • Method Details

    • intercept

      public Consumer<io.fluxzero.common.api.tracking.MessageBatch> intercept(Consumer<io.fluxzero.common.api.tracking.MessageBatch> consumer, Tracker tracker)
      Description copied from interface: BatchInterceptor
      Intercepts the given batch message consumer and returns a decorated version to be invoked by the tracker.
      Specified by:
      intercept in interface BatchInterceptor
      Parameters:
      consumer - the original consumer that processes the MessageBatch
      tracker - the tracker invoking this interceptor
      Returns:
      a wrapped consumer with additional behavior
    • describeConsumerFilter

      public io.fluxzero.common.api.tracking.ConsumerFilter describeConsumerFilter(io.fluxzero.common.api.tracking.ConsumerFilter downstream)
      Description copied from interface: BatchInterceptor
      Describes serialized inputs needed by this interceptor and its downstream consumer. The default is unrestricted because interceptors can transform messages or require inputs that no handler accepts. Implementations may return downstream only when excluded inputs are irrelevant to their behavior and they never transform an excluded input into one the downstream filter admits. Custom inverse projections describe the input side of a transformation; this method runs after serializer/upcaster projection.
      Specified by:
      describeConsumerFilter in interface BatchInterceptor