Skip to content

Commit b8610d8

Browse files
authored
Replace loggingMetricExporter with OtlpJsonLoggingMetricExporter. (#7373)
* Replace loggingMetricExporter with OtlpJsonLoggingMetricExporter. * Fix bazel workspace * Move OtlpJsonLoggingMetricExporter to proxy and controller. * Fix Bazel imports.
1 parent 42fcd27 commit b8610d8

13 files changed

Lines changed: 41 additions & 13 deletions

File tree

WORKSPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ maven_install(
9292
"io.opentelemetry:opentelemetry-exporter-prometheus:1.29.0-alpha",
9393
"io.opentelemetry:opentelemetry-exporter-logging:1.29.0",
9494
"io.opentelemetry:opentelemetry-sdk:1.29.0",
95+
"io.opentelemetry:opentelemetry-exporter-logging-otlp:1.29.0",
9596
"com.squareup.okio:okio-jvm:3.0.0",
9697
"io.opentelemetry:opentelemetry-api:1.29.0",
9798
"io.opentelemetry:opentelemetry-sdk-metrics:1.29.0",

broker/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ java_library(
4444
"@maven//:io_opentelemetry_opentelemetry_exporter_otlp",
4545
"@maven//:io_opentelemetry_opentelemetry_exporter_prometheus",
4646
"@maven//:io_opentelemetry_opentelemetry_exporter_logging",
47+
"@maven//:io_opentelemetry_opentelemetry_exporter_logging_otlp",
4748
"@maven//:io_opentelemetry_opentelemetry_sdk",
4849
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
4950
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",

broker/src/main/java/org/apache/rocketmq/broker/metrics/BrokerMetricsManager.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import io.opentelemetry.api.metrics.LongHistogram;
2424
import io.opentelemetry.api.metrics.Meter;
2525
import io.opentelemetry.api.metrics.ObservableLongGauge;
26-
import io.opentelemetry.exporter.logging.LoggingMetricExporter;
26+
import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingMetricExporter;
2727
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
2828
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder;
2929
import io.opentelemetry.exporter.prometheus.PrometheusHttpServer;
@@ -36,6 +36,7 @@
3636
import io.opentelemetry.sdk.metrics.View;
3737
import io.opentelemetry.sdk.metrics.ViewBuilder;
3838
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
39+
import io.opentelemetry.sdk.metrics.export.MetricExporter;
3940
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
4041
import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil;
4142
import io.opentelemetry.sdk.resources.Resource;
@@ -113,7 +114,7 @@ public class BrokerMetricsManager {
113114
private OtlpGrpcMetricExporter metricExporter;
114115
private PeriodicMetricReader periodicMetricReader;
115116
private PrometheusHttpServer prometheusHttpServer;
116-
private LoggingMetricExporter loggingMetricExporter;
117+
private MetricExporter loggingMetricExporter;
117118
private Meter brokerMeter;
118119

119120
public static Supplier<AttributesBuilder> attributesBuilderSupplier = Attributes::builder;
@@ -327,8 +328,8 @@ private void init() {
327328
if (metricsExporterType == MetricsExporterType.LOG) {
328329
SLF4JBridgeHandler.removeHandlersForRootLogger();
329330
SLF4JBridgeHandler.install();
330-
loggingMetricExporter = LoggingMetricExporter.create(brokerConfig.isMetricsInDelta() ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE);
331-
java.util.logging.Logger.getLogger(LoggingMetricExporter.class.getName()).setLevel(java.util.logging.Level.FINEST);
331+
loggingMetricExporter = OtlpJsonLoggingMetricExporter.create(brokerConfig.isMetricsInDelta() ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE);
332+
java.util.logging.Logger.getLogger(OtlpJsonLoggingMetricExporter.class.getName()).setLevel(java.util.logging.Level.FINEST);
332333
periodicMetricReader = PeriodicMetricReader.builder(loggingMetricExporter)
333334
.setInterval(brokerConfig.getMetricLoggingExporterIntervalInMills(), TimeUnit.MILLISECONDS)
334335
.build();

broker/src/main/resources/rmq.broker.logback.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,11 @@
672672
<appender-ref ref="RocketmqTrafficSiftingAppender"/>
673673
</logger>
674674

675+
<!-- Use json formatter to log metrics -->
676+
<logger name="io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingMetricExporter" additivity="false" level="INFO">
677+
<appender-ref ref="RocketmqBrokerMetricsSiftingAppender"/>
678+
</logger>
679+
675680
<logger name="io.opentelemetry.exporter.logging.LoggingMetricExporter" additivity="false" level="INFO">
676681
<appender-ref ref="RocketmqBrokerMetricsSiftingAppender"/>
677682
</logger>

common/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ java_library(
3535
"@maven//:io_opentelemetry_opentelemetry_sdk",
3636
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
3737
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
38+
"@maven//:io_opentelemetry_opentelemetry_exporter_logging_otlp",
3839
"@maven//:org_apache_commons_commons_lang3",
3940
"@maven//:org_lz4_lz4_java",
4041
"@maven//:io_github_aliyunmq_rocketmq_slf4j_api",

common/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@
8080
<groupId>io.opentelemetry</groupId>
8181
<artifactId>opentelemetry-sdk</artifactId>
8282
</dependency>
83+
<dependency>
84+
<groupId>io.opentelemetry</groupId>
85+
<artifactId>opentelemetry-exporter-logging-otlp</artifactId>
86+
</dependency>
8387
<dependency>
8488
<groupId>io.grpc</groupId>
8589
<artifactId>grpc-stub</artifactId>

controller/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ java_library(
4949
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
5050
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",
5151
"@maven//:io_opentelemetry_opentelemetry_exporter_logging",
52+
"@maven//:io_opentelemetry_opentelemetry_exporter_logging_otlp",
5253
"@maven//:org_slf4j_jul_to_slf4j",
5354
],
5455
)

controller/src/main/java/org/apache/rocketmq/controller/metrics/ControllerMetricsManager.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import io.opentelemetry.api.metrics.LongUpDownCounter;
2727
import io.opentelemetry.api.metrics.Meter;
2828
import io.opentelemetry.api.metrics.ObservableLongGauge;
29-
import io.opentelemetry.exporter.logging.LoggingMetricExporter;
29+
import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingMetricExporter;
3030
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
3131
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporterBuilder;
3232
import io.opentelemetry.exporter.prometheus.PrometheusHttpServer;
@@ -38,6 +38,7 @@
3838
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
3939
import io.opentelemetry.sdk.metrics.View;
4040
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
41+
import io.opentelemetry.sdk.metrics.export.MetricExporter;
4142
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
4243
import io.opentelemetry.sdk.resources.Resource;
4344
import java.io.File;
@@ -121,7 +122,7 @@ public class ControllerMetricsManager {
121122

122123
private PrometheusHttpServer prometheusHttpServer;
123124

124-
private LoggingMetricExporter loggingMetricExporter;
125+
private MetricExporter loggingMetricExporter;
125126

126127
public static ControllerMetricsManager getInstance(ControllerManager controllerManager) {
127128
if (instance == null) {
@@ -364,8 +365,8 @@ public void init() {
364365
if (type == MetricsExporterType.LOG) {
365366
SLF4JBridgeHandler.removeHandlersForRootLogger();
366367
SLF4JBridgeHandler.install();
367-
loggingMetricExporter = LoggingMetricExporter.create(config.isMetricsInDelta() ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE);
368-
java.util.logging.Logger.getLogger(LoggingMetricExporter.class.getName()).setLevel(java.util.logging.Level.FINEST);
368+
loggingMetricExporter = OtlpJsonLoggingMetricExporter.create(config.isMetricsInDelta() ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE);
369+
java.util.logging.Logger.getLogger(OtlpJsonLoggingMetricExporter.class.getName()).setLevel(java.util.logging.Level.FINEST);
369370
periodicMetricReader = PeriodicMetricReader.builder(loggingMetricExporter)
370371
.setInterval(config.getMetricLoggingExporterIntervalInMills(), TimeUnit.MILLISECONDS)
371372
.build();

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,11 @@
974974
<artifactId>opentelemetry-sdk</artifactId>
975975
<version>${opentelemetry.version}</version>
976976
</dependency>
977+
<dependency>
978+
<groupId>io.opentelemetry</groupId>
979+
<artifactId>opentelemetry-exporter-logging-otlp</artifactId>
980+
<version>${opentelemetry.version}</version>
981+
</dependency>
977982
<dependency>
978983
<groupId>org.slf4j</groupId>
979984
<artifactId>jul-to-slf4j</artifactId>

proxy/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ java_library(
5252
"@maven//:io_opentelemetry_opentelemetry_exporter_otlp",
5353
"@maven//:io_opentelemetry_opentelemetry_exporter_prometheus",
5454
"@maven//:io_opentelemetry_opentelemetry_exporter_logging",
55+
"@maven//:io_opentelemetry_opentelemetry_exporter_logging_otlp",
5556
"@maven//:io_opentelemetry_opentelemetry_sdk",
5657
"@maven//:io_opentelemetry_opentelemetry_sdk_common",
5758
"@maven//:io_opentelemetry_opentelemetry_sdk_metrics",

0 commit comments

Comments
 (0)