You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by pn...@apache.org on 2024/10/24 15:55:23 UTC

(flink) 05/05: [FLINK-33696][docs] Document OpenTelemetryMetric\TraceReporter

This is an automated email from the ASF dual-hosted git repository.

pnowojski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 5ba3f91717d273d2b3436e3851964fb6b399797c
Author: Piotr Nowojski <pi...@gmail.com>
AuthorDate: Wed Oct 16 13:02:48 2024 +0200

    [FLINK-33696][docs] Document OpenTelemetryMetric\TraceReporter
---
 docs/content/docs/deployment/metric_reporters.md   | 15 +++++++++
 docs/content/docs/deployment/trace_reporters.md    | 18 ++++++++++-
 .../open_telemetry_reporter_configuration.html     | 36 ++++++++++++++++++++++
 flink-docs/pom.xml                                 |  5 +++
 .../docs/util/ConfigurationOptionLocator.java      |  2 ++
 5 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/docs/content/docs/deployment/metric_reporters.md b/docs/content/docs/deployment/metric_reporters.md
index ed88a49fb97..411e5c19279 100644
--- a/docs/content/docs/deployment/metric_reporters.md
+++ b/docs/content/docs/deployment/metric_reporters.md
@@ -274,6 +274,21 @@ metrics.reporter.dghttp.interval: 60 SECONDS
 metrics.reporter.dghttp.useLogicalIdentifier: true
 ```
 
+### OpenTelemetry
+#### (org.apache.flink.metrics.otel.OpenTelemetryMetricReporterFactory)
+
+`OpenTelemetryMetricReporterFactory` currently supports only gRPC.
+
+Parameters:
+
+{{< include_reporter_config "layouts/shortcodes/generated/open_telemetry_reporter_configuration.html" >}}
+
+Example configuration:
+
+```yaml
+metrics.reporter.otel.factory.class: org.apache.flink.metrics.otel.OpenTelemetryMetricReporterFactory
+metrics.reporter.otel.exporter.endpoint: http://127.0.0.1:1337
+```
 
 ### Slf4j
 #### (org.apache.flink.metrics.slf4j.Slf4jReporter)
diff --git a/docs/content/docs/deployment/trace_reporters.md b/docs/content/docs/deployment/trace_reporters.md
index aec68b98f77..c310a54f69e 100644
--- a/docs/content/docs/deployment/trace_reporters.md
+++ b/docs/content/docs/deployment/trace_reporters.md
@@ -45,7 +45,7 @@ Example reporter configuration that specifies multiple reporters:
 ```yaml
 traces.reporters: otel,my_other_otel
 
-traces.reporter.otel.factory.class: org.apache.flink.common.metrics.OpenTelemetryTraceReporterFactory
+traces.reporter.otel.factory.class: org.apache.flink.traces.otel.OpenTelemetryTraceReporterFactory
 traces.reporter.otel.exporter.endpoint: http://127.0.0.1:1337
 traces.reporter.otel.scope.variables.additional: region:eu-west-1,environment:local,flink_runtime:1.17.1
 
@@ -64,6 +64,22 @@ Be careful that all the method must not block for a significant amount of time,
 
 The following sections list the supported reporters.
 
+### OpenTelemetry
+#### (org.apache.flink.traces.otel.OpenTelemetryTraceReporterFactory)
+
+`OpenTelemetryTraceReporterFactory` currently supports only gRPC.
+
+Parameters:
+
+{{< include_reporter_config "layouts/shortcodes/generated/open_telemetry_reporter_configuration.html" >}}
+
+Example configuration:
+
+```yaml
+traces.reporter.otel.factory.class: org.apache.flink.metrics.otel.OpenTelemetryTraceReporterFactory
+traces.reporter.otel.exporter.endpoint: http://127.0.0.1:1337
+```
+
 ### Slf4j
 #### (org.apache.flink.traces.slf4j.Slf4jTraceReporter)
 
diff --git a/docs/layouts/shortcodes/generated/open_telemetry_reporter_configuration.html b/docs/layouts/shortcodes/generated/open_telemetry_reporter_configuration.html
new file mode 100644
index 00000000000..812f375fbcc
--- /dev/null
+++ b/docs/layouts/shortcodes/generated/open_telemetry_reporter_configuration.html
@@ -0,0 +1,36 @@
+<table class="configuration table table-bordered">
+    <thead>
+        <tr>
+            <th class="text-left" style="width: 20%">Key</th>
+            <th class="text-left" style="width: 15%">Default</th>
+            <th class="text-left" style="width: 10%">Type</th>
+            <th class="text-left" style="width: 55%">Description</th>
+        </tr>
+    </thead>
+    <tbody>
+        <tr>
+            <td><h5>metrics.reporter.OpenTelemetry.exporter.endpoint</h5></td>
+            <td style="word-wrap: break-word;">(none)</td>
+            <td>String</td>
+            <td>Endpoint for the OpenTelemetry Reporters.</td>
+        </tr>
+        <tr>
+            <td><h5>metrics.reporter.OpenTelemetry.exporter.timeout</h5></td>
+            <td style="word-wrap: break-word;">(none)</td>
+            <td>String</td>
+            <td>Timeout for OpenTelemetry Reporters, as Duration string. Example: 10s for 10 seconds</td>
+        </tr>
+        <tr>
+            <td><h5>metrics.reporter.OpenTelemetry.service.name</h5></td>
+            <td style="word-wrap: break-word;">(none)</td>
+            <td>String</td>
+            <td>service.name passed to OpenTelemetry Reporters.</td>
+        </tr>
+        <tr>
+            <td><h5>metrics.reporter.OpenTelemetry.service.version</h5></td>
+            <td style="word-wrap: break-word;">(none)</td>
+            <td>String</td>
+            <td>service.version passed to OpenTelemetry Reporters.</td>
+        </tr>
+    </tbody>
+</table>
diff --git a/flink-docs/pom.xml b/flink-docs/pom.xml
index 3ae793094f6..0aa82442a63 100644
--- a/flink-docs/pom.xml
+++ b/flink-docs/pom.xml
@@ -90,6 +90,11 @@ under the License.
 			<artifactId>flink-metrics-influxdb</artifactId>
 			<version>${project.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.flink</groupId>
+			<artifactId>flink-metrics-otel</artifactId>
+			<version>${project.version}</version>
+		</dependency>
 		<dependency>
 			<!-- necessary for loading the web-submission extension -->
 			<groupId>org.apache.flink</groupId>
diff --git a/flink-docs/src/main/java/org/apache/flink/docs/util/ConfigurationOptionLocator.java b/flink-docs/src/main/java/org/apache/flink/docs/util/ConfigurationOptionLocator.java
index e2341cfeb0f..be9df91856c 100644
--- a/flink-docs/src/main/java/org/apache/flink/docs/util/ConfigurationOptionLocator.java
+++ b/flink-docs/src/main/java/org/apache/flink/docs/util/ConfigurationOptionLocator.java
@@ -63,6 +63,8 @@ public class ConfigurationOptionLocator {
                 new OptionsClassLocation(
                         "flink-metrics/flink-metrics-influxdb",
                         "org.apache.flink.metrics.influxdb"),
+                new OptionsClassLocation(
+                        "flink-metrics/flink-metrics-otel", "org.apache.flink.metrics.otel"),
                 new OptionsClassLocation(
                         "flink-state-backends/flink-statebackend-rocksdb",
                         "org.apache.flink.contrib.streaming.state"),