Version 1.17.0
API
API Extensions
- DEPRECATION: the
opentelemetry-extension-annotations
module containing@WithSpan
and@SpanAttribute
annotations has been deprecated for removal in next major version. A copy of the code will instead be maintained in opentelemetry-java-instrumentation/instrumentation-annotations and published under coordinatesio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:{version}
.
SDK
Traces
- Add default implementation for
SpanData#getInstrumentationScopeInfo()
andReadableSpan#getInstrumentationScopeInfo()
. This fixes a previous mistake where those interfaces were extended without default implementation, a breaking change for source compatibility. Stricter checks have been added to ensure this mistake is not repeated.
Logs
- BREAKING: delete
LogDataBuilder
. A similar implementation ofLogData
calledTestLogData
has been added toopentelemetry-sdk-logs-testing
. - BREAKING: rename
LogProcessor#emit(LogData)
toLogProcessor#onEmit(ReadWriteLogRecord)
. The argument change fromLogData
toReadWriteLogRecord
allows implementations to mutate logs. To obtainLogData
, callReadWriteLogRecord#toLogData()
. - Optimize
SdkLogEmitterProvider
to return noopLogEmitter
when noLogProcessor
s are registered.
Exporter
- Split out shared and internal exporter classes from
opentelemetry-exporter-otlp-common
toopentelemetry-exporter-common
. - Add experimental support for OTLP header based authentication. To use, add a dependency on
opentelemetry-exporter-common
and callio.opentelemetry.exporter.internal.auth.Authenticator#setAuthenticatorOnDelegate(OtlpHttp{Signal}Builder, Authenticator)
. - Add ability to collect export metrics on
ZipkinSpanExporter
viaZipkinSpanExporter#setMeterProvider(MeterProvider)
. - Minor optimization to OkHttp based exporters to cache endpoint URLs. Applies to
OtlpHttp{Signal}Exporter
,OtlpGrpc{Signal}Exporter
, and more. - Fix diagnostic log message in
OtlpGrpc{Signal}Exporter
to include correct environment variables.
SDK Extensions
- Extend View file based configuration with support for specifying explicit bucket histogram bucket boundaries and exponential bucket counts.
- Extend autoconfigure SPI
AutoConfigurationCustomizerProvider
andResourceProvider
with option to specify ordering. - Add autoconfigure SPI with
ConfigurableLogExporterProvider
, allowing custom named log exporters to be provided and selected via autoconfigure. - Extend autoconfigure SPI with
AutoConfigurationCustomizer#addPropertiesCustomizer
, providing the ability examine current configuration properties and add / overwrite properties.
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@bogdandrutu
@breedx-splk
@chalin
@DaveCTurner
@deejgregor
@Donnerbart
@GrahamLea
@iRevive
@jack-berg
@JavaPerformance
@jkwatson
@lmolkova
@mateuszrzeszutek
@sfriberg
@trask
@trivikr