Class OpenTelemetryMetricReporter

  • All Implemented Interfaces:
    io.opentelemetry.sdk.metrics.export.CollectionRegistration, io.opentelemetry.sdk.metrics.internal.export.MetricProducer, org.apache.flink.metrics.Reporter, 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 Detail

      • OpenTelemetryMetricReporter

        public OpenTelemetryMetricReporter()
    • Method Detail

      • open

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

        public void close()
        Specified by:
        close in interface org.apache.flink.metrics.Reporter
      • 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