OpenTelemetry - java
Notes
no notes yet
General
Enhancements
- The
"Implementation-Version"attribute has been added to the jar manifests for all published jar artifacts.
API
Enhancements
- A new method has been added to the Span and the SpanBuilder to enable adding a set of Attributes in one call, rather than
having to iterate over the contents and add them individually. See
Span.setAllAttributes(Attributes)andSpanBuilder.setAllAttributes(Attributes)
Behavioral Changes
- Previously, an AttributeKey with a null underlying key would preserve the null. Now, this will be converted to an empty String.
SDK
Enhancements
- The
IdGenerator.random()method will now attempt to detect if it is being used in an Android environment, and use a more Android-friendlyIdGeneratorinstance in that case. This will affect any usage of the SDK that does not explicitly specify a customIdGeneratorinstance when running on Android.
Behavioral Changes
- The name used for Tracer instances that do not have a name has been changed to be an empty String, rather than the
previously used
"unknown"value. This change is based on a specification clarification.
Propagators
Bugfixes
- The B3 Propagator injectors now only include the relevant fields for the specific injection format.
Behavioral Changes
- The
W3CBaggagePropagatorwill no longer explicitly populate an emptyBaggageinstance into the context when the header is unparsable. It will now return the provided Context instance unaltered, as is required by the specification. - The
AwsXrayPropagatorwill no longer explicitly populate an invalidSpaninstance into the context when the headers are unparsable. It will now return the provided Context instance unaltered, as is required by the specification.
Exporters
- The
jaeger-thriftexporter has had its dependency on thejaeger-clientlibrary updated to version1.6.0. - The
zipkinexporter now has an option to specific a custom timeout. - The
zipkin,jaegerandjaeger-thriftexporters will now report theotel.dropped_attributes_countandotel.dropped_events_counttags if the numbers are greater than zero.
Semantic Conventions (alpha)
Breaking Changes
- The SemanticAttributes and ResourceAttributes have both been updated to match the OpenTelemetry Specification v1.3.0 release, which includes several breaking changes.
- Values that were previously defined as
enums are now defined as staticpublic static finalconstants of the appropriate type.
OpenTracing Shim (alpha)
Enhancements
- Error logging support in the shim is now implemented according to the v1.2.0 specification.
SDK Extensions
- A new
HostResourceResource and the correspondingResourceProviderhas been added. It will populate thehost.nameandhost.archResource Attributes. - A new
ExecutorServiceSpanProcessorhas been added to theopentelemetry-sdk-extension-tracing-incubatormodule. This implementation of a batch SpanProcessor allows you to provide your own ExecutorService to do the background export work. - The
autoconfiguremodule now supports providing the timeout setting for the Jaeger GRPC exporter via a system property (otel.exporter.jaeger.timeout) or environment variable (OTEL_EXPORTER_JAEGER_TIMEOUT). - The
autoconfiguremodule now supports providing the timeout setting for the Zipkin exporter via a system property (otel.exporter.zipkin.timeout) or environment variable (OTEL_EXPORTER_ZIPKIN_TIMEOUT). - The
autoconfiguremodule now exposes theEnvironmentResourceclass to provide programmatic access to aResourcebuilt from parsing theotel.resource.attributesconfiguration property.
Metrics (alpha)
Breaking Changes
- The deprecated
SdkMeterProvider.registerView()method has been removed. The ViewRegistry is now immutable and cannot be changed once theSdkMeterProviderhas been built.
Bugfixes
- OTLP summaries now have the proper percentile value of
1.0to represent the maximum; previously it was wrongly set to100.0.
Enhancements
- There is now full support for delta-aggregations with the
LongSumAggregatorandDoubleSumAggregator. SeeAggregatorFactory.sum(AggregationTemporality). The previousAggregatorFactory.sum(boolean)has been deprecated and will be removed in the next release.
Many thanks to all the people who contributed to this release:
- @jkwatson
- @jack-berg
- @kubawach
- @harshita19244
- @anuraaga
- @HaloFour
- @arminru
- @Hangzhi
- @piotr-sumo
- @tydhot
- @malafeev
- @trask