Class TelemetryReporter

java.lang.Object
io.confluent.telemetry.reporter.TelemetryReporter
All Implemented Interfaces:
io.confluent.telemetry.api.events.EventEmitterProvider, AutoCloseable, org.apache.kafka.common.ClusterResourceListener, org.apache.kafka.common.Configurable, org.apache.kafka.common.metrics.MetricsReporter, org.apache.kafka.common.Reconfigurable, org.apache.kafka.server.telemetry.ClientTelemetry
Direct Known Subclasses:
KafkaServerMetricsReporter

public class TelemetryReporter extends Object implements org.apache.kafka.common.metrics.MetricsReporter, org.apache.kafka.common.ClusterResourceListener, io.confluent.telemetry.api.events.EventEmitterProvider, org.apache.kafka.server.telemetry.ClientTelemetry
  • Field Details

  • Constructor Details

    • TelemetryReporter

      public TelemetryReporter()
    • TelemetryReporter

      public TelemetryReporter(io.confluent.telemetry.events.EventLoggerFactory eventLoggerFactory)
  • Method Details

    • configure

      public void configure(Map<String,?> configs)
      Note: we are assuming that these methods are invoked in the following order: 1. configure() [must be called first invalid input: '&' only once] 2. contextChange() [must be called second] 3. contextChange() / reconfigurableConfigs() / reconfigure() [each may be called multiple times]
      Specified by:
      configure in interface org.apache.kafka.common.Configurable
    • validateReconfiguration

      public void validateReconfiguration(Map<String,?> configs) throws org.apache.kafka.common.config.ConfigException
      Specified by:
      validateReconfiguration in interface org.apache.kafka.common.metrics.MetricsReporter
      Specified by:
      validateReconfiguration in interface org.apache.kafka.common.Reconfigurable
      Throws:
      org.apache.kafka.common.config.ConfigException
    • reconfigure

      public void reconfigure(Map<String,?> newRawConfig)
      Specified by:
      reconfigure in interface org.apache.kafka.common.metrics.MetricsReporter
      Specified by:
      reconfigure in interface org.apache.kafka.common.Reconfigurable
    • reconfigurableConfigs

      public Set<String> reconfigurableConfigs()
      Specified by:
      reconfigurableConfigs in interface org.apache.kafka.common.metrics.MetricsReporter
      Specified by:
      reconfigurableConfigs in interface org.apache.kafka.common.Reconfigurable
    • contextChange

      public void contextChange(org.apache.kafka.common.metrics.MetricsContext metricsContext)
      Specified by:
      contextChange in interface org.apache.kafka.common.metrics.MetricsReporter
    • getCollectors

      public List<MetricsCollector> getCollectors()
    • getSelfMetrics

      public org.apache.kafka.common.metrics.Metrics getSelfMetrics()
    • close

      public void close()
      Called when the metrics repository is closed.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.apache.kafka.common.metrics.MetricsReporter
    • onUpdate

      public void onUpdate(org.apache.kafka.common.ClusterResource clusterResource)
      Specified by:
      onUpdate in interface org.apache.kafka.common.ClusterResourceListener
    • init

      public void init(List<org.apache.kafka.common.metrics.KafkaMetric> metrics)
      Specified by:
      init in interface org.apache.kafka.common.metrics.MetricsReporter
    • onRemoteConfigurationReceived

      public void onRemoteConfigurationReceived(io.confluent.telemetry.config.v2.remote.RemoteConfiguration remoteConfig)
    • metricChange

      public void metricChange(org.apache.kafka.common.metrics.KafkaMetric metric)
      This is called whenever a metric is added/registered
      Specified by:
      metricChange in interface org.apache.kafka.common.metrics.MetricsReporter
    • metricRemoval

      public void metricRemoval(org.apache.kafka.common.metrics.KafkaMetric metric)
      This is called whenever a metric is removed
      Specified by:
      metricRemoval in interface org.apache.kafka.common.metrics.MetricsReporter
    • getUsmMetricsIncludeList

      public static List<String> getUsmMetricsIncludeList(boolean clientMetricsEnabled)
    • emitter

      public Emitter emitter()
    • eventEmitter

      public io.confluent.telemetry.api.events.EventEmitter eventEmitter()
      Specified by:
      eventEmitter in interface io.confluent.telemetry.api.events.EventEmitterProvider
    • clientReceiver

      public org.apache.kafka.server.telemetry.ClientTelemetryReceiver clientReceiver()
      Specified by:
      clientReceiver in interface org.apache.kafka.server.telemetry.ClientTelemetry