OpenTelemetry - CNCF/opentelemetry-java: Release v0.12.0
Name: opentelemetry-java
Owner: OpenTelemetry - CNCF
Release: Version 0.12.0
Released: 2020-12-04
License: Apache-2.0
Release Assets:
API
🛠️ Bugfixes
- Usages of tracers and meters on all
OpenTelemetry
instances were being delegated to the global Meter and Tracer. This has been corrected, and all instances should have independent Tracer and Meter instances.
☢️ Breaking Changes
- The
AttributesBuilder
no long accepts null values for array-valued attributes with numeric or boolean types. - The
TextMapPropagator.fields()
method now returns aCollection
rather than aList
. Labels
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.TraceState
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.Attributes
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.- The
ReadableAttributes
interface has been removed, as it was redundant with theAttributes
interface. All APIs that used or returnedReadableAttributes
should accept or return standardAttributes
implementations. SpanContext
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.- The functional
AttributeConsumer
interface has been removed and replaced with a standardjava.util.function.BiConsumer
. - The signature of the
BaggageBuilder.put(String, String, EntryMetadata entryMetadata)
method has been changed toput(String, String, BaggageEntryMetadata)
📈 Enhancements
- A
builder()
method has been added to the OpenTelemetry interface to facilitate constructing implementations. - An
asMap()
method has been added to theAttributes
interface to enable conversion to a standardjava.util.Map
. - An
asMap()
method has been added to theBaggage
interface to enable conversion to a standardjava.util.Map
. - An
asMap()
method has been added to theTraceState
interface to enable conversion to a standardjava.util.Map
. - The Semantic Attributes constants have been updated to the version in the yaml spec as of Dec 1, 2020.
🌟 Miscellaneous
- The
HttpTraceContext
class has been deprecated in favor ofW3CTraceContextPropagator
.HttpTraceContext
will be removed in 0.13.0. - The
toBuilder()
method on the OpenTelemetry interface has been deprecated and will be removed in 0.13.0. - The
DefaultContextPropagators
class has been deprecated. Access to it will be removed in 0.13.0. - The
TraceMultiPropagator
builder has been deprecated in favor of a simple factory method. The builder will be removed in 0.13.0. You can access the same functionality via static methods on theContextPropagators
interface. - The
setCallback()
method on the asynchronous metric instruments has been deprecated and will be removed in 0.13.0. Instead, use thesetCallback()
method on the builder for the instruments. - The
value()
method on theStatusCode
enum has been deprecated and will be removed in 0.13.0. - The Baggage
EntryMetadata
class has been deprecated in favor of theBaggageEntryMetadata
interface. The class will be made non-public in 0.13.0.
Extensions
- The
opentelemetry-extension-runtime-metrics
module has been deprecated. The functionality is available in the opentelemetry-java-instrumentation project under a different module name. The module here will be removed in 0.13.0. - The
trace-utils
module has been deprecated. If you need this module, please let us know! The module will be removed in 0.13.0.
SDK
☢️ Breaking Changes
- The
opentelemetry-sdk-tracing
module has been renamed toopentelemetry-sdk-trace
. - The default port the OTLP exporters use has been changed to
4317
. - The deprecated
SpanData.getCanonicalCode()
method has been removed, along with the implementations.
📈 Enhancements
- The OpenTelemetrySdk builder now supports the addition of
SpanProcessor
s to the resulting SDK. - The OpenTelemetrySdk builder now supports the assignment of an
IdGenerator
to the resulting SDK. - The
ReadableSpan
interface now exposes theSpan.Kind
of the span. - The SDK no longer depends on the guava library.
- The parent SpanContext is now exposed on the
SpanData
interface.
🌟 Miscellaneous
- The
toBuilder()
method on the OpenTelemetrySdk class has been deprecated and will be removed in 0.13.0. - The MultiSpanProcessor and MultiSpanExporter have been deprecated. You can access the same functionality via
the
SpanProcessor.composite
andSpanExporter.composite
methods. The classes will be made non-public in 0.13.0. - The
SpanData.hasRemoteParent()
method has been deprecated and will be removed in 0.13.0. If you need this information, you can now callSpanData.getParentSpanContext().isRemote()
. - The default timeouts for the 2 OTLP exporters and the Jaeger exporter have been changed to 10s from 1s.
Extensions
☢️ Breaking Changes
- The
opentelemetry-sdk-extension-aws-v1-support
module has been renamed toopentelemetry-sdk-extension-aws
and the classes in it have been repackaged into theio.opentelemetry.sdk.extension.aws.*
packages.
🛠️ Bugfixes:
- The OpenTracing
TracerShim
now properly handles keys for context extraction in a case-insensitive manner.
📈 Enhancements
- The
opentelemetry-sdk-extension-resources
now includes resource attributes for the process runtime via theProcessRuntimeResource
class. This is included in the Resource SPI implementation that the module provides. - The
opentelemetry-sdk-extension-aws
extension now will auto-detect AWS Lambda resource attributes.