Class OpenTelemetryMetricReporter

java.lang.Object
org.apache.flink.metrics.otel.OpenTelemetryReporterBase
org.apache.flink.metrics.otel.OpenTelemetryMetricReporter
All Implemented Interfaces:
io.opentelemetry.sdk.metrics.export.CollectionRegistration, io.opentelemetry.sdk.metrics.internal.export.MetricProducer, org.apache.flink.metrics.reporter.MetricReporter, org.apache.flink.metrics.reporter.Scheduled

public class OpenTelemetryMetricReporter extends OpenTelemetryReporterBase implements org.apache.flink.metrics.reporter.MetricReporter, io.opentelemetry.sdk.metrics.internal.export.MetricProducer, org.apache.flink.metrics.reporter.Scheduled
A Flink MetricReporter which is made to export metrics using Open Telemetry's MetricExporter.
  • Constructor Details

    • OpenTelemetryMetricReporter

      public OpenTelemetryMetricReporter()
  • Method Details

    • open

      public void open(org.apache.flink.metrics.MetricConfig metricConfig)
      Specified by:
      open in interface org.apache.flink.metrics.reporter.MetricReporter
      Overrides:
      open in class OpenTelemetryReporterBase
    • close

      public void close()
      Specified by:
      close in interface org.apache.flink.metrics.reporter.MetricReporter
    • notifyOfAddedMetric

      public void notifyOfAddedMetric(org.apache.flink.metrics.Metric metric, String metricName, org.apache.flink.metrics.MetricGroup group)
      Specified by:
      notifyOfAddedMetric in interface org.apache.flink.metrics.reporter.MetricReporter
    • notifyOfRemovedMetric

      public void notifyOfRemovedMetric(org.apache.flink.metrics.Metric metric, String metricName, org.apache.flink.metrics.MetricGroup group)
      Specified by:
      notifyOfRemovedMetric in interface org.apache.flink.metrics.reporter.MetricReporter
    • collectAllMetrics

      public Collection<io.opentelemetry.sdk.metrics.data.MetricData> collectAllMetrics()
      Note that all of the metric data structures in AbstractReporter are guarded by this, so must make this synchronized.
      Specified by:
      collectAllMetrics in interface io.opentelemetry.sdk.metrics.internal.export.MetricProducer
      Returns:
      The collection of metrics
    • report

      public void report()
      Specified by:
      report in interface org.apache.flink.metrics.reporter.Scheduled