Skip to content

Commit 75fa1c1

Browse files
committed
deps: Update OpenTelemetry Java Instrumentation 2.15.0 to 2.16.0
Signed-off-by: Thomas Vitale <ThomasVitale@users.noreply.github.com>
1 parent a986bb9 commit 75fa1c1

3 files changed

Lines changed: 19 additions & 6 deletions

File tree

arconia-opentelemetry/spring-boot-autoconfigure/arconia-opentelemetry-sdk-spring-boot-autoconfigure/src/main/java/io/arconia/opentelemetry/autoconfigure/sdk/metrics/exporter/otlp/OtlpMetricsExporterConfiguration.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Locale;
44

5+
import io.opentelemetry.api.metrics.MeterProvider;
56
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporter;
67
import io.opentelemetry.exporter.otlp.http.metrics.OtlpHttpMetricExporterBuilder;
78
import io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter;
@@ -15,6 +16,7 @@
1516

1617
import org.slf4j.Logger;
1718
import org.slf4j.LoggerFactory;
19+
import org.springframework.beans.factory.ObjectProvider;
1820
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1921
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2022
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -49,7 +51,7 @@ PropertiesOtlpMetricsConnectionDetails otlpMetricsConnectionDetails(OpenTelemetr
4951
@ConditionalOnMissingBean
5052
@ConditionalOnBean(OtlpMetricsConnectionDetails.class)
5153
@ConditionalOnProperty(prefix = OpenTelemetryMetricsExporterProperties.CONFIG_PREFIX + ".otlp", name = "protocol", havingValue = "http_protobuf", matchIfMissing = true)
52-
OtlpHttpMetricExporter otlpHttpMetricExporter(OpenTelemetryExporterProperties commonProperties, OpenTelemetryMetricsExporterProperties properties, OtlpMetricsConnectionDetails connectionDetails) {
54+
OtlpHttpMetricExporter otlpHttpMetricExporter(OpenTelemetryExporterProperties commonProperties, OpenTelemetryMetricsExporterProperties properties, OtlpMetricsConnectionDetails connectionDetails, ObjectProvider<MeterProvider> meterProvider) {
5355
OtlpHttpMetricExporterBuilder builder = OtlpHttpMetricExporter.builder()
5456
.setEndpoint(connectionDetails.getUrl(Protocol.HTTP_PROTOBUF))
5557
.setTimeout(properties.getOtlp().getTimeout() != null ? properties.getOtlp().getTimeout() : commonProperties.getOtlp().getTimeout())
@@ -59,6 +61,10 @@ OtlpHttpMetricExporter otlpHttpMetricExporter(OpenTelemetryExporterProperties co
5961
.setMemoryMode(commonProperties.getMemoryMode());
6062
commonProperties.getOtlp().getHeaders().forEach(builder::addHeader);
6163
properties.getOtlp().getHeaders().forEach(builder::addHeader);
64+
if (properties.getOtlp().isMetrics() != null && Boolean.TRUE.equals(properties.getOtlp().isMetrics())
65+
|| properties.getOtlp().isMetrics() == null && commonProperties.getOtlp().isMetrics()) {
66+
meterProvider.ifAvailable(builder::setMeterProvider);
67+
}
6268
logger.info("Configuring OpenTelemetry HTTP/Protobuf metric exporter with endpoint: {}", connectionDetails.getUrl(Protocol.HTTP_PROTOBUF));
6369
return builder.build();
6470
}
@@ -68,7 +74,7 @@ OtlpHttpMetricExporter otlpHttpMetricExporter(OpenTelemetryExporterProperties co
6874
@ConditionalOnMissingBean
6975
@ConditionalOnBean(OtlpMetricsConnectionDetails.class)
7076
@ConditionalOnProperty(prefix = OpenTelemetryMetricsExporterProperties.CONFIG_PREFIX + ".otlp", name = "protocol", havingValue = "grpc")
71-
OtlpGrpcMetricExporter otlpGrpcMetricExporter(OpenTelemetryExporterProperties commonProperties, OpenTelemetryMetricsExporterProperties properties, OtlpMetricsConnectionDetails connectionDetails) {
77+
OtlpGrpcMetricExporter otlpGrpcMetricExporter(OpenTelemetryExporterProperties commonProperties, OpenTelemetryMetricsExporterProperties properties, OtlpMetricsConnectionDetails connectionDetails, ObjectProvider<MeterProvider> meterProvider) {
7278
OtlpGrpcMetricExporterBuilder builder = OtlpGrpcMetricExporter.builder()
7379
.setEndpoint(connectionDetails.getUrl(Protocol.GRPC))
7480
.setTimeout(properties.getOtlp().getTimeout() != null ? properties.getOtlp().getTimeout() : commonProperties.getOtlp().getTimeout())
@@ -78,6 +84,10 @@ OtlpGrpcMetricExporter otlpGrpcMetricExporter(OpenTelemetryExporterProperties co
7884
.setMemoryMode(commonProperties.getMemoryMode());
7985
commonProperties.getOtlp().getHeaders().forEach(builder::addHeader);
8086
properties.getOtlp().getHeaders().forEach(builder::addHeader);
87+
if (properties.getOtlp().isMetrics() != null && Boolean.TRUE.equals(properties.getOtlp().isMetrics())
88+
|| properties.getOtlp().isMetrics() == null && commonProperties.getOtlp().isMetrics()) {
89+
meterProvider.ifAvailable(builder::setMeterProvider);
90+
}
8191
logger.info("Configuring OpenTelemetry gRPC metric exporter with endpoint: {}", connectionDetails.getUrl(Protocol.GRPC));
8292
return builder.build();
8393
}

docs/modules/opentelemetry/pages/instrumentation.adoc

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,18 @@ Such instrumentation libraries can be customized via the configuration propertie
3535
| `arconia.otel.instrumentation.enabled`
3636
| `true`
3737
| Whether OpenTelemetry instrumentation is globally enabled.
38+
3839
| `arconia.otel.instrumentation.logback-appender.enabled`
3940
| `true`
40-
| Whether OpenTelemetry instrumentation for the Logback Appender is enabled.
41+
| Whether OpenTelemetry instrumentation for the Logback Appender is enabled. This instrumentation is provided by the OpenTelemetry Java Instrumentation project and is still experimental.
42+
4143
| `arconia.otel.instrumentation.micrometer.enabled`
4244
| `true`
43-
| Whether OpenTelemetry instrumentation for the Micrometer bridge is enabled.
45+
| Whether OpenTelemetry instrumentation for the Micrometer bridge is enabled. This instrumentation is provided by the OpenTelemetry Java Instrumentation project and is still experimental.
46+
4447
| `arconia.otel.instrumentation.resource.enabled`
4548
| `true`
46-
| Whether OpenTelemetry instrumentation for the Resource is enabled.
49+
| Whether OpenTelemetry instrumentation for the Resource is enabled. This instrumentation is provided by the OpenTelemetry Java Instrumentation project and is still experimental.
4750
|===
4851

4952
Additional instrumentation libraries can be added to your project to enable more features and integrations with other libraries. Check out the https://opentelemetry.io/docs/languages/java/instrumentation/#library-instrumentation[OpenTelemetry documentation] for more information.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ org.gradle.parallel=true
88
org.gradle.jvmargs=-Xmx8g
99

1010
jSpecifyVersion=1.0.0
11-
openTelemetryInstrumentationVersion=2.15.0
11+
openTelemetryInstrumentationVersion=2.16.0
1212
openTelemetrySemanticConventionsVersion=1.32.0
1313
redisTestcontainersVersion=2.2.4
1414
springAiVersion=1.0.0-RC1

0 commit comments

Comments
 (0)