OpenTelemetry - java

open-telemetry/opentelemetry-java last check 99 releases
Notes
no notes yet
Release notes
view on github
1.67.0 · Version 1.67.0

API

  • Deprecate TextMapGetter.keys() and make TextMapGetter a functional interface (#8531)
  • Add null guards and API usage logging for tracing, baggage, attributes, logging, and metrics (#8803, #8863, #8864)
  • Bound allocations and avoid regex backtracking when parsing W3C tracestate (#8817, #8914)

Incubating

  • Add type introspection methods to DeclarativeConfigProperties (#8883)

Extensions

  • Trace propagators: Bound allocations when parsing Jaeger baggage and B3 single-header propagation (#8817)

SDK

  • Run CompletableResultCode completion actions outside internal locks to avoid deadlocks (#8773)
  • Do not count attribute overwrites as dropped attributes (#8833)
  • Avoid regex backtracking in glob matching (#8909)
  • Add experimental resource entity support, OTLP export, and configuration through otel.entities and declarative resource detectors (#8464)

Traces

  • Return noop tracers when no span processors are configured (#8815)
  • Catch Throwable in SimpleSpanProcessor and MultiSpanExporter (#8848)
  • Use {span} units for span processor self-observability metrics (#8873)

Metrics

  • Stabilize PeriodicMetricReaderBuilder.setMaxExportBatchSize(int) (#8829)
  • Delete experimental metric attribute / baggage processing (#8818)
  • Fix: Reset exemplar span context when a reservoir cell is overwritten outside a span (#8871)

Logs

  • Return noop loggers from SdkLoggerProvider.get() when no log record processors are configured (#8838)
  • Catch Throwable in SimpleLogRecordProcessor and MultiLogRecordExporter (#8848)

Profiles

  • Fix KeyValueAndUnitData.create() to return the public KeyValueAndUnitData interface (#8875)

Exporters

  • OTLP: Fix missing request size limits, defaulting to 64 MiB, configurable through setMaxRequestBodySize(long) and setMaxRequestMessageSize(long) and through declarative config OtlpGrpcExporter, OtlpHttpExporter (see full schema docs here) (#8446)
  • OTLP: Reduce failure logs to FINE after shutdown (#8819)
  • OTLP: retry gRPC based on response status codes in trailer headers (#8854)
  • Prometheus: Avoid regex backtracking when removing unit annotations (#8910)

Extensions

  • Autoconfigure: Stabilize ServiceInstanceIdResourceProvider and generate service.instance.id by default (#8770)
  • Autoconfigure: Preserve unencoded non-ASCII characters when decoding resource attributes (#8893)
  • Autoconfigure: Add missing artifact hints for experimental-otlp/stdout span and metric exporters (#8897)
  • Declarative config: Update to schema v1.2.0 and support the always_record sampler (#8801)
  • Declarative config: Ignore resource attributes with null values (#8889)
  • Declarative config: Match array attributes element-wise in the rule_based sampler (#8895)
  • Jaeger remote sampler: Reduce failure logs to FINE after shutdown (#8819)
  • Jaeger remote sampler: Preserve per-operation sampling strategies when the rate limit is zero (#8888)
  • Incubator: Make OnEndSpanProcessor.create() public (#8892)
  • Incubator: Fix the class name in ComposableProbabilitySampler descriptions (#8891)

Testing

  • Fix assertion failure messages reporting the wrong value or type (#8872)

Shims

  • OpenCensus: Skip W3C multi-tenant tracestate keys when converting spans (#8810)
  • OpenTracing: Propagate baggage to the parent context in SpanBuilderShim (#8812)

Project tooling

  • Kotlin extension: Raise the minimum Kotlin version to 2.2 (#8804)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@adhamahmad @ADITYA-CODE-SOURCE @amit306 @AndresBena19 @anjeongkyun @arnabnandy7 @cfredri4 @codedbyadiiii @colamong @dashpole @efegokdemir @EvgeniiR @gfelbing @jack-berg @jaydeluca @jkwatson @JnRouvignac @johnbley @jsuereth @kevinburkesegment @Oberon00 @opentelemetry-pr-dashboard @opentelemetrybot @psx95 @Rajkaran-122 @rooks-ns @rotscher @saivarun1410 @thswlsqls @trask @Vicky677 @zeitlinger