github open-telemetry/opentelemetry-java v0.12.0
Version 0.12.0

latest releases: v1.38.0, v1.37.0, v1.36.0...
3 years ago

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 a Collection rather than a List.
  • 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 the Attributes interface. All APIs that
    used or returned ReadableAttributes should accept or return standard Attributes 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 standard java.util.function.BiConsumer.
  • The signature of the BaggageBuilder.put(String, String, EntryMetadata entryMetadata)
    method has been changed to put(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 the Attributes interface to enable conversion to a standard java.util.Map.
  • An asMap() method has been added to the Baggage interface to enable conversion to a standard java.util.Map.
  • An asMap() method has been added to the TraceState interface to enable conversion to a standard java.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 of W3CTraceContextPropagator. 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 the ContextPropagators interface.
  • The setCallback() method on the asynchronous metric instruments has been deprecated and will be removed in 0.13.0.
    Instead, use the setCallback() method on the builder for the instruments.
  • The value() method on the StatusCode enum has been deprecated and will be removed in 0.13.0.
  • The Baggage EntryMetadata class has been deprecated in favor of the BaggageEntryMetadata 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 to opentelemetry-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 SpanProcessors to the resulting SDK.
  • The OpenTelemetrySdk builder now supports the assignment of an IdGenerator to the resulting SDK.
  • The ReadableSpan interface now exposes the Span.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 and SpanExporter.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 call SpanData.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 to opentelemetry-sdk-extension-aws
    and the classes in it have been repackaged into the io.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 the ProcessRuntimeResource 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.

Don't miss a new opentelemetry-java release

NewReleases is sending notifications on new releases.