Skip to content

Commit 4ec24b1

Browse files
authored
Merge pull request #46354 from gsmet/opentelemetry-endpoint
Fix OpenTelemetry Metrics and Logs endpoint resolution
2 parents 540fe14 + 19f2ec6 commit 4ec24b1

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/exporter/otlp/OTelExporterRecorder.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ public MetricExporter apply(SyntheticCreationalContext<MetricExporter> context)
262262

263263
public Function<SyntheticCreationalContext<LogRecordExporter>, LogRecordExporter> createLogRecordExporter(
264264
OTelRuntimeConfig otelRuntimeConfig, OtlpExporterRuntimeConfig exporterRuntimeConfig, Supplier<Vertx> vertx) {
265-
final URI baseUri = getMetricsUri(exporterRuntimeConfig);
265+
final URI baseUri = getLogsUri(exporterRuntimeConfig);
266266

267267
return new Function<>() {
268268
@Override
@@ -398,7 +398,15 @@ private URI getTracesUri(OtlpExporterRuntimeConfig exporterRuntimeConfig) {
398398
}
399399

400400
private URI getMetricsUri(OtlpExporterRuntimeConfig exporterRuntimeConfig) {
401-
String endpoint = resolveTraceEndpoint(exporterRuntimeConfig);
401+
String endpoint = resolveMetricEndpoint(exporterRuntimeConfig);
402+
if (endpoint.isEmpty()) {
403+
return null;
404+
}
405+
return ExporterBuilderUtil.validateEndpoint(endpoint);
406+
}
407+
408+
private URI getLogsUri(OtlpExporterRuntimeConfig exporterRuntimeConfig) {
409+
String endpoint = resolveLogsEndpoint(exporterRuntimeConfig);
402410
if (endpoint.isEmpty()) {
403411
return null;
404412
}
@@ -423,6 +431,15 @@ static String resolveMetricEndpoint(final OtlpExporterRuntimeConfig runtimeConfi
423431
return endpoint.trim();
424432
}
425433

434+
static String resolveLogsEndpoint(final OtlpExporterRuntimeConfig runtimeConfig) {
435+
String endpoint = runtimeConfig.logs().endpoint()
436+
.filter(OTelExporterRecorder::excludeDefaultEndpoint)
437+
.orElse(runtimeConfig.endpoint()
438+
.filter(OTelExporterRecorder::excludeDefaultEndpoint)
439+
.orElse(DEFAULT_GRPC_BASE_URI));
440+
return endpoint.trim();
441+
}
442+
426443
private static boolean excludeDefaultEndpoint(String endpoint) {
427444
return !DEFAULT_GRPC_BASE_URI.equals(endpoint);
428445
}

extensions/opentelemetry/runtime/src/test/java/io/quarkus/opentelemetry/runtime/exporter/otlp/OtlpExporterProviderTest.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,46 @@ public void resolveMetricEndpoint_testIsSet() {
9494
null)));
9595
}
9696

97+
@Test
98+
public void resolveLogsEndpoint_newWins() {
99+
assertEquals("http://localhost:2222/",
100+
OTelExporterRecorder.resolveLogsEndpoint(createOtlpExporterRuntimeConfig(
101+
"http://localhost:1111/",
102+
"http://localhost:2222/")));
103+
}
104+
105+
@Test
106+
public void resolveLogsEndpoint_globalWins() {
107+
assertEquals("http://localhost:1111/",
108+
OTelExporterRecorder.resolveLogsEndpoint(createOtlpExporterRuntimeConfig(
109+
"http://localhost:1111/",
110+
DEFAULT_GRPC_BASE_URI)));
111+
}
112+
113+
@Test
114+
public void resolveLogsEndpoint_legacyTraceWins() {
115+
assertEquals("http://localhost:2222/",
116+
OTelExporterRecorder.resolveLogsEndpoint(createOtlpExporterRuntimeConfig(
117+
DEFAULT_GRPC_BASE_URI,
118+
"http://localhost:2222/")));
119+
}
120+
121+
@Test
122+
public void resolveLogsEndpoint_legacyGlobalWins() {
123+
assertEquals(DEFAULT_GRPC_BASE_URI,
124+
OTelExporterRecorder.resolveLogsEndpoint(createOtlpExporterRuntimeConfig(
125+
DEFAULT_GRPC_BASE_URI,
126+
null)));
127+
}
128+
129+
@Test
130+
public void resolveLogsEndpoint_testIsSet() {
131+
assertEquals(DEFAULT_GRPC_BASE_URI,
132+
OTelExporterRecorder.resolveLogsEndpoint(createOtlpExporterRuntimeConfig(
133+
null,
134+
null)));
135+
}
136+
97137
private OtlpExporterRuntimeConfig createOtlpExporterRuntimeConfig(String exporterGlobal, String newTrace) {
98138
return new OtlpExporterRuntimeConfig() {
99139
@Override

0 commit comments

Comments
 (0)