github open-telemetry/opentelemetry-java v1.16.0
Version 1.16.0

latest releases: v1.39.0, v1.38.0, v1.37.0...
23 months ago

This release targets the OpenTelemetry SDK 1.16.0.

API

  • Fix bug ImmutableKeyValuePairs implementation that causes ArrayIndexOutOfBoundsException to be thrown under certain conditions.

SDK

Traces

  • Optimize BatchSpanProcessor using JcTools.

Metrics

  • Tighten up exponential histogram implementation for alignment with specification: Default to 160 positive and negative buckets. Remove ability to configure starting scale. Minimum number of buckets is one instead of zero.
  • Allow MetricExporter and MetricReader to influence default aggregation. The default aggregation is used when no registered views match an instrument.

Exporter

  • Fix handling of client keys in PEM format.
  • For OTLP exporters, change behavior to use OkHttpGrpcExporter (OkHttp implementation that doesn't use any gRPC dependencies) unless OtlpGrpc{Signal}Builder#setChannel(ManagedChannel) is called by user. Previously, OkHttpGrpcExporter was used if no gRPC implementation was found on classpath.
  • Add support to configure default aggregation on OTLP metric exporters via Otlp{Protocol}MetricExporterBuilder#setDefaultAggregationSelector(DefaultAggregationSelector).

Testing

  • Add span status assertions.

SDK Extensions

  • Autoconfigure properly handles non-string system properties.
  • Autoconfigure normalizes hyphens - to periods . when accessing ConfigProperties.

OpenTracing Shim

  • Add support for span wrappers.
  • Store OpenTracing SpanContext in OpenTracing Span wrapper.
  • Use Baggage of active span.

🙇 Thank you

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

@aaron-ai
@anuraaga
@breedx-splk
@carlosalberto
@codeboten
@cuichenli
@fax4ever
@HaloFour
@jack-berg
@jkwatson
@jsuereth
@mateuszrzeszutek
@mohitmahi
@opentelemetry-java-bot
@pavolloffay
@pureklkl
@trask
@xiangtianyu
@zeitlinger

Don't miss a new opentelemetry-java release

NewReleases is sending notifications on new releases.