github open-telemetry/opentelemetry-go v1.17.0
Release v1.17.0/v0.40.0/v0.5.0

latest releases: v1.27.0, exporters/stdout/stdoutlog/v0.3.0, exporters/otlp/otlplog/otlploghttp/v0.3.0...
10 months ago

Added

  • Export the ManualReader struct in go.opentelemetry.io/otel/sdk/metric. (#4244)
  • Export the PeriodicReader struct in go.opentelemetry.io/otel/sdk/metric. (#4244)
  • Add support for exponential histogram aggregations.
    A histogram can be configured as an exponential histogram using a view with "go.opentelemetry.io/otel/sdk/metric".ExponentialHistogram as the aggregation. (#4245)
  • Export the Exporter struct in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4272)
  • Export the Exporter struct in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4272)
  • The exporters in go.opentelemetry.io/otel/exporters/otlp/otlpmetric now support the OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE environment variable. (#4287)
  • Add WithoutCounterSuffixes option in go.opentelemetry.io/otel/exporters/prometheus to disable addition of _total suffixes. (#4306)
  • Add info and debug logging to the metric SDK in go.opentelemetry.io/otel/sdk/metric. (#4315)
  • The go.opentelemetry.io/otel/semconv/v1.21.0 package.
    The package contains semantic conventions from the v1.21.0 version of the OpenTelemetry Semantic Conventions. (#4362)
  • Accept 201 to 299 HTTP status as success in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp and go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4365)
  • Document the Temporality and Aggregation methods of the "go.opentelemetry.io/otel/sdk/metric".Exporter" need to be concurrent safe. (#4381)
  • Expand the set of units supported by the Prometheus exporter, and don't add unit suffixes if they are already present in go.opentelemetry.op/otel/exporters/prometheus (#4374)
  • Move the Aggregation interface and its implementations from go.opentelemetry.io/otel/sdk/metric/aggregation to go.opentelemetry.io/otel/sdk/metric. (#4435)
  • The exporters in go.opentelemetry.io/otel/exporters/otlp/otlpmetric now support the OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION environment variable. (#4437)
  • Add the NewAllowKeysFilter and NewDenyKeysFilter functions to go.opentelemetry.io/otel/attribute to allow convenient creation of allow-keys and deny-keys filters. (#4444)

Changed

  • Starting from v1.21.0 of semantic conventions, go.opentelemetry.io/otel/semconv/{version}/httpconv and go.opentelemetry.io/otel/semconv/{version}/netconv packages will no longer be published. (#4145)
  • Log duplicate instrument conflict at a warning level instead of info in go.opentelemetry.io/otel/sdk/metric. (#4202)
  • Return an error on the creation of new instruments in go.opentelemetry.io/otel/sdk/metric if their name doesn't pass regexp validation. (#4210)
  • NewManualReader in go.opentelemetry.io/otel/sdk/metric returns *ManualReader instead of Reader. (#4244)
  • NewPeriodicReader in go.opentelemetry.io/otel/sdk/metric returns *PeriodicReader instead of Reader. (#4244)
  • Count the Collect time in the PeriodicReader timeout in go.opentelemetry.io/otel/sdk/metric. (#4221)
  • The function New in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc returns *Exporter instead of "go.opentelemetry.io/otel/sdk/metric".Exporter. (#4272)
  • The function New in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp returns *Exporter instead of "go.opentelemetry.io/otel/sdk/metric".Exporter. (#4272)
  • If an attribute set is omitted from an async callback, the previous value will no longer be exported in go.opentelemetry.io/otel/sdk/metric. (#4290)
  • If an attribute set is observed multiple times in an async callback in go.opentelemetry.io/otel/sdk/metric, the values will be summed instead of the last observation winning. (#4289)
  • Allow the explicit bucket histogram aggregation to be used for the up-down counter, observable counter, observable up-down counter, and observable gauge in the go.opentelemetry.io/otel/sdk/metric package. (#4332)
  • Restrict Meters in go.opentelemetry.io/otel/sdk/metric to only register and collect instruments it created. (#4333)
  • PeriodicReader.Shutdown and PeriodicReader.ForceFlush in go.opentelemetry.io/otel/sdk/metric now apply the periodic reader's timeout to the operation if the user provided context does not contain a deadline. (#4356, #4377)
  • Upgrade all use of go.opentelemetry.io/otel/semconv to use v1.21.0. (#4408)
  • Increase instrument name maximum length from 63 to 255 characters in go.opentelemetry.io/otel/sdk/metric. (#4434)
  • Add go.opentelemetry.op/otel/sdk/metric.WithProducer as an Option for "go.opentelemetry.io/otel/sdk/metric".NewManualReader and "go.opentelemetry.io/otel/sdk/metric".NewPeriodicReader. (#4346)

Removed

  • Remove Reader.RegisterProducer in go.opentelemetry.io/otel/metric.
    Use the added WithProducer option instead. (#4346)
  • Remove Reader.ForceFlush in go.opentelemetry.io/otel/metric.
    Notice that PeriodicReader.ForceFlush is still available. (#4375)

Fixed

  • Correctly format log messages from the go.opentelemetry.io/otel/exporters/zipkin exporter. (#4143)
  • Log an error for calls to NewView in go.opentelemetry.io/otel/sdk/metric that have empty criteria. (#4307)
  • Fix "go.opentelemetry.io/otel/sdk/resource".WithHostID() to not set an empty host.id. (#4317)
  • Use the instrument identifying fields to cache aggregators and determine duplicate instrument registrations in go.opentelemetry.io/otel/sdk/metric. (#4337)
  • Detect duplicate instruments for case-insensitive names in go.opentelemetry.io/otel/sdk/metric. (#4338)
  • The ManualReader will not panic if AggregationSelector returns nil in go.opentelemetry.io/otel/sdk/metric. (#4350)
  • If a Reader's AggregationSelector returns nil or DefaultAggregation the pipeline will use the default aggregation. (#4350)
  • Log a suggested view that fixes instrument conflicts in go.opentelemetry.io/otel/sdk/metric. (#4349)
  • Fix possible panic, deadlock and race condition in batch span processor in go.opentelemetry.io/otel/sdk/trace. (#4353)
  • Improve context cancellation handling in batch span processor's ForceFlush in go.opentelemetry.io/otel/sdk/trace. (#4369)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal from go.opentelemetry.io/otel/exporters/otlp/internal using gotmpl. (#4397, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal using gotmpl. (#4404, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal using gotmpl. (#4407, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal using gotmpl. (#4400, #3846)
  • Decouple go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal from go.opentelemetry.io/otel/exporters/otlp/internal and go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal using gotmpl. (#4401, #3846)
  • Do not block the metric SDK when OTLP metric exports are blocked in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#3925, #4395)
  • Do not append _total if the counter already has that suffix for the Prometheus exproter in go.opentelemetry.io/otel/exporter/prometheus. (#4373)
  • Fix resource detection data race in go.opentelemetry.io/otel/sdk/resource. (#4409)
  • Use the first-seen instrument name during instrument name conflicts in go.opentelemetry.io/otel/sdk/metric. (#4428)

Deprecated

  • The go.opentelemetry.io/otel/exporters/jaeger package is deprecated.
    OpenTelemetry dropped support for Jaeger exporter in July 2023.
    Use go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
    or go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc instead. (#4423)
  • The go.opentelemetry.io/otel/example/jaeger package is deprecated. (#4423)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/oconf package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/otest package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/transform package is deprecated. (#4420)
  • The go.opentelemetry.io/otel/exporters/otlp/internal package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/internal/envconfig package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/internal/retry package is deprecated. (#4421)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/envconfig package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlpconfig package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlptracetest package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/retry package is deprecated. (#4425)
  • The go.opentelemetry.io/otel/sdk/metric/aggregation package is deprecated.
    Use the aggregation types added to go.opentelemetry.io/otel/sdk/metric instead. (#4435)

New Contributors

Full Changelog: v1.16.0...v1.17.0

Don't miss a new opentelemetry-go release

NewReleases is sending notifications on new releases.