Version 0.11.0
Changes from 0.10.0:
API
Breaking changes:
- The SPI interfaces have moved to a package (not a module) separate from the API packages, and now live in
io.opentelemetry.spi.*package namespace. - Builder classes have been moved to the top level, rather than being inner classes.
For example, rather thanio.opentelemetry.api.trace.Span.Builder, the builder is now in its own top-level class:io.opentelemetry.api.trace.SpanBuilder.
Methods to create the builders remain in the same place as they were before. - SpanBuilder.setStartTimestamp, Span.end, and Span.addEvent methods which accept a timestamp now accept a timestamp with a TimeUnit instead of requiring a nanos timestamp
Enhancements:
- Versions of SpanBuilder.setStartTimestamp, Span.end, and Span.addEvent added which accept Instant timestamps
- Setting the value of the
io.opentelemetry.context.contextStorageProviderSystem property todefaultwill enforce that
the default (thread local) ContextStorage will be used for the Context implementation, regardless of what SPI implementations are
available.
Miscellaneous:
- Invalid W3C
TraceStateentries will now be silently dropped, rather than causing the invalidation of the entireTraceState.
SDK
Breaking Changes:
- The builder class for the
OpenTelemetrySdknow strictly requires its components to be SDK implementations.
You can only build anOpenTelemetrySdkwithTracerSdkProviderandMeterSdkProviderinstances.
Enhancements:
- An API has been added to the SDK's MeterProvider implementation (
MeterSdkProvider) that allows the end-user to configure
how various metrics will be aggregated. This API should be considered a precursor to a full "Views" API, and will most likely
evolve over the coming months before the metrics implementation is complete. See the javadoc forMeterSdkProvider.registerView()for details.
Miscellaneous:
- The
SpanProcessorinterface now includes default method implementations for theshutdown()andforceFlush()methods. - The BatchRecorder implementation has been updated to actually batch the recordings, rather than simply passing them through.
Extensions
Breaking Changes:
- The
@WithSpanannotation has been moved to theio.opentelemetry.extension.annotationspackage in theopentelemetry-extension-annotationsmodule
Bugfixes:
- The memory pool metrics provided by the MemoryPools class in the
opentelemetry-extension-runtime-metricsmodule
have been fixed to properly report the committed memory values.
Enhancements:
- A new module has been added to assist with propagating the OTel context in kotlin co-routines.
See theopentelemetry-extension-kotlinmodule for details.