Version 1.19.0
This release contains a large number of changes to the log signal following a series of significant changes to the log specification. The changes include renaming key classes like LogExporter to LogRecordExporter, and LogProcessor to LogRecordProcessor, and LogEmitter to Logger, and more. Additionally, a log API component has been added for emitting events and for writing log appenders. Note, the log API is not a substitute for traditional log frameworks like Log4j, JUL, SLF4J, or Logback. While the event portion of the API is intended for instrumentation authors and end users, the API for emitting LogRecords is not. See LoggerProvider and Logger javadoc for more details.
General
- Add
opentelemetry-bomas a dependency toopentelemetry-bom-alpha, ensuring synchronization between alpha and stable artifact versions.
API
API Extensions
- WARNING:
opentelemetry-extension-annotationshas been removed following its relocation to opentelemetry-java-instrumentation/instrumentation-annotations, which is published under coordinatesio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:{version}. We will push security patches to1.18.xas needed. The latestopentelemetry-bomwill point to the latest published version, currently1.18.0.
Logs
- Introduce log API for emitting events and writing log appenders. The artifact is available at coordinates
io.opentelemetry:opentelemetry-api-logs:1.19.0-alpha.
SDK
Metrics
- Change exponential histogram bucket boundaries to be lower exclusive / upper inclusive, instead of lower inclusive / upper exclusive.
Logs
- BREAKING: Rename
SdkLogEmitterProvidertoSdkLoggerProvider.OpenTelemetrySdkBuilder#setLogEmitterProviderhas changed toOpenTelemetrySdkBuilder#setLoggerProvider.OpenTelemetrySdk#getSdkLogEmitterProviderhas changed toOpenTelemetrySdk#getSdkLoggerProvider.AutoConfigurationCustomizer#addLogEmitterProviderCustomizerhas changed toAutoConfigurationCustomizer#addLoggerProviderCustomizer. - BREAKING: Rename
LogEmittertoLogger. - BREAKING: Rename
LogExportertoLogRecordExporter.SystemOutLogExporterhas changed toSystemOutLogRecordExporter.OtlpJsonLoggingLogExporterhas changed toOtlpJsonLoggingLogRecordExporter.OtlpHttpLogExporterhas changed toOtlpHttpLogRecordExporter.OtlpGrpcLogExporterhas changed toOtlpGrpcLogRecordExporter.InMemoryLogExporterhas changed toInMemoryLogRecordExporter. ConfigurableLogExporterProviderhas changed toConfigurableLogRecordExporterProvider`. - BREAKING: Rename
LogDatatoLogRecordData.TestLogDatahas changed toTestLogRecordData. - BREAKING: Rename
LogProcessortoLogRecordProcessor.BatchLogProcessorhas changed toBatchLogRecordProcessor.SimpleLogProcessorhas changed toSimpleLogRecordProcessor.
Exporter
- OTLP log record exporters now include dropped_attributes_count.
SDK Extensions
- Autoconfigure now supports an option to disable the SDK. If
otel.sdk.disabled=true,AutoConfiguredOpenTelemetrySdk#getOpenTelemetrySdk()returns a minimal (but not noop)OpenTelemetrySdkwith noop tracing, metric and logging providers. The same minimal instance is set toGlobalOpenTelemetry. The now deprecated propertyotel.experimental.sdk.enabledwill continue to work in the same way during a transition period. - Fix
ProcessResourcedirectory separator to use/or\instead of:or;. - DEPRECATION: the
opentelemetry-sdk-extension-resourcemodule containing variousResourceProviderimplementations has been deprecated for removal in next major version. A copy of the code will instead be maintained in opentelemetry-java-instrumentation/instrumentation/resources/library and published under coordinatesio.opentelemetry.instrumentation:opentelemetry-resources:{version}. - DEPRECATION: the
opentelemetry-sdk-extension-awsmodule containing AWSResourceProviderimplementations has been deprecated for removal in next major version. A copy of the code will instead be maintained in opentelemetry-java-contrib/aws-resources and published under coordinatesio.opentelemetry.contrib:opentelemetry-aws-resources:{version}.
OpenTracing Shim
- Fully support Baggage-only propagation.
Semantic conventions
- The semantic conventions have been updated to 1.13.0.
🙇 Thank you
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
@anuraaga
@breedx-splk
@brunobat
@carlosalberto
@jack-berg
@jamesmoessis
@jkwatson
@jmacd
@joshua-bell-sonrai
@jsuereth
@mateuszrzeszutek
@rapphil
@SampathKumarAmex
@trask