OpenTelemetry - java
Notes
no notes yet
Version 1.7.0 (2021-10-08):
General
- IMPORTANT: The
io.opentelemetry:opentelemetry-protomodule should now be considered deprecated. It will be removed from publications in a future release. If you need Java bindings for the OTLP protobufs, they are now being published via the new opentelemetry-proto-java repository. They are at new maven coordinates:io.opentelemetry.proto:opentelemetry-protoand versioning is aligned with the released version of the protobuf definitions themselves.
SDK
Exporters
- BREAKING CHANGE: The Jaeger gRPC exporter does not directly use the
protobuf-javalibrary for marshaling trace data. Along with this, theopentelemetry-exporter-jaegerartifact does not contain generated protobuf classes for the Jaeger API. If you were using these in your application, you must update your build configuration to also include the newjaeger-protoartifact. This artifact will not be included in a future 2.0 release of the SDK so it is recommended to instead generated the protobuf classes in your own build. - BREAKING CHANGE: The
opentelemetry-exporter-otlp-http-*exporter default endpoint ports have changed from4317to4318, in line with recent changes to the spec. - The OTLP gRPC exporters will now function without the
grpc-javadependency, ifokhttpis present on the classpath. - The (alpha) metrics that are generated by the gRPC exporters have changed slightly. They now have
a slightly different instrumentation library name,
"io.opentelemetry.exporters.otlp-grpc"and the names of the metrics have also changed. Now emitted are metrics with namesotlp.exporter.seenandotlp.exported.exported. Note that it is likely this will change in the future as the metrics semantic conventions are more defined.
Auto-configuration (alpha)
- BREAKING CHANGE: The behavior of
otel.exporter.otlp.endpointhas changed when the protocol ishttp/protobuf. The new behavior is in line with recent changes to the specification, which states that the signal path (e.g.v1/tracesorv1/metrics) is appended to the configured endpoint. Values for signal specific endpoint configuration (e.g.otel.exporter.otlp.traces.endpointandotel.exporter.otlp.metrics.endpoint) override the generic endpoint configuration and are used as-is without modification. - The
compressionoption for exporters now explicitly supports thenonevalue, in addition to the existinggzipvalue.
Metrics (alpha)
- BREAKING CHANGE: The
IntervalMetricReaderhas been removed, and replaced with aPeriodicMetricReaderthat provides an implementation of the newMetricReaderinterface. - This release includes initial support for multiple exporters to be configured for a single SDK
instance. See the
SdkMeterProviderBuilder.registerMetricReadermethod for more details. - This release includes initial support for the SDK recording of Metric Exemplars for sampled Spans.
See
SdkMeterProviderBuilder.setExemplarFilterand theExemplarFilterinterface for more details.
Logging (alpha)
- This release includes SDK extension interfaces for
LogProcessors andLogExporters, and has implementations for batch log processing and export via OTLP. These classes are intended for usage in implementations of log appenders that emit OTLP log entries.