This page is meant as a template for writing a FLIP. To create a FLIP choose Tools->Copy on this page and modify with your content and replace the heading with the next FLIP number and a description of your issue. Replace anything in italics with your own description.

Document the state by adding a label to the FLIP page with one of "discussion", "accepted", "released", "rejected".

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

FLIP-481 is adding the EventReporter interface. However with FLIP-481 alone, Log4jTraceReporter would be the only available implementation of the EventReporter interface, which is not very helpful.

We proposing to contribute an EventReporter implementation using OpenTelemetry.

Proposed Changes

This flip proposes to add OpenTelemetryEventReporter and OpenTelemetryEventReporterFactory to the plugin flink-metrics/flink-metrics-otel.

The only custom configuration will be:

  • exporter.endpoint - url of the OpenTelemetry endpoint

  • exporter.timeout - timeout when reporting to the endpoint (Default value

Event reporters will also support scope.variables.additional

Example configuration:

events.reporters: otel
events.reporter.otel.factory.class: org.apache.flink.common.metrics.OpenTelemetryEventReporterFactory
events.reporter.otel.exporter.endpoint: http://127.0.0.1:1337
events.reporter.otel.scope.variables.additional: region:eu-west-1,environment:local-srichter-test,flink_runtime:1.18


Compatibility, Deprecation, and Migration Plan

There will be no impact on existing users, there is no need for any migration

Test Plan

On top of automated tests, this feature is already used and tested inside Confluent. Before committing the final accepted version would be tested inside Confluent again.

Rejected Alternatives

None