Skip to content

Releases: open-telemetry/opentelemetry-go

Release v1.32.0/v0.54.0/v0.8.0/v0.0.11

08 Nov 17:59
v1.32.0
7cfbd86
Compare
Choose a tag to compare

Overview

Added

  • Add go.opentelemetry.io/otel/sdk/metric/exemplar.AlwaysOffFilter, which can be used to disable exemplar recording. (#5850)
  • Add go.opentelemetry.io/otel/sdk/metric.WithExemplarFilter, which can be used to configure the exemplar filter used by the metrics SDK. (#5850)
  • Add ExemplarReservoirProviderSelector and DefaultExemplarReservoirProviderSelector to go.opentelemetry.io/otel/sdk/metric, which defines the exemplar reservoir to use based on the aggregation of the metric. (#5861)
  • Add ExemplarReservoirProviderSelector to go.opentelemetry.io/otel/sdk/metric.Stream to allow using views to configure the exemplar reservoir to use for a metric. (#5861)
  • Add ReservoirProvider, HistogramReservoirProvider and FixedSizeReservoirProvider to go.opentelemetry.io/otel/sdk/metric/exemplar to make it convenient to use providers of Reservoirs. (#5861)
  • The go.opentelemetry.io/otel/semconv/v1.27.0 package.
    The package contains semantic conventions from the v1.27.0 version of the OpenTelemetry Semantic Conventions. (#5894)
  • Add Attributes attribute.Set field to Scope in go.opentelemetry.io/otel/sdk/instrumentation. (#5903)
  • Add Attributes attribute.Set field to ScopeRecords in go.opentelemetry.io/otel/log/logtest. (#5927)
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc adds instrumentation scope attributes. (#5934)
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp adds instrumentation scope attributes. (#5934)
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc adds instrumentation scope attributes. (#5935)
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp adds instrumentation scope attributes. (#5935)
  • go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc adds instrumentation scope attributes. (#5933)
  • go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp adds instrumentation scope attributes. (#5933)
  • go.opentelemetry.io/otel/exporters/prometheus adds instrumentation scope attributes in otel_scope_info metric as labels. (#5932)

Changed

  • Support scope attributes and make them as identifying for Tracer in go.opentelemetry.io/otel and go.opentelemetry.io/otel/sdk/trace. (#5924)
  • Support scope attributes and make them as identifying for Meter in go.opentelemetry.io/otel and go.opentelemetry.io/otel/sdk/metric. (#5926)
  • Support scope attributes and make them as identifying for Logger in go.opentelemetry.io/otel and go.opentelemetry.io/otel/sdk/log. (#5925)
  • Make schema URL and scope attributes as identifying for Tracer in go.opentelemetry.io/otel/bridge/opentracing. (#5931)
  • Clear unneeded slice elements to allow GC to collect the objects in go.opentelemetry.io/otel/sdk/metric and go.opentelemetry.io/otel/sdk/trace. (#5804)

Fixed

  • Global MeterProvider registration unwraps global instrument Observers, the undocumented Unwrap() methods are now private. (#5881)
  • go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc now keeps the metadata already present in the context when WithHeaders is used. (#5892)
  • go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc now keeps the metadata already present in the context when WithHeaders is used. (#5911)
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc now keeps the metadata already present in the context when WithHeaders is used. (#5915)
  • Fix go.opentelemetry.io/otel/exporters/prometheus trying to add exemplars to Gauge metrics, which is unsupported. (#5912)
  • Fix WithEndpointURL to always use a secure connection when an https URL is passed in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#5944)
  • Fix WithEndpointURL to always use a secure connection when an https URL is passed in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#5944)
  • Fix WithEndpointURL to always use a secure connection when an https URL is passed in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#5944)
  • Fix WithEndpointURL to always use a secure connection when an https URL is passed in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#5944)
  • Fix incorrect metrics generated from callbacks when multiple readers are used in go.opentelemetry.io/otel/sdk/metric. (#5900)

Removed

What's Changed

  • Allow configuring the exemplar filter on the metrics SDK by @dashpole in #5850
  • chore(deps): update lycheeverse/lychee-action action to v2.0.1 by @renovate in #5884
  • Run the test compatibility check even if tests failed by @dmathieu in #5879
  • chore(deps): update lycheeverse/lychee-action action to v2.0.2 by @renovate in #5885
  • fix(deps): update module github.com/prometheus/client_golang to v1.20.5 by @renovate in #5886
  • chore(deps): update googleapis to 796eee8 by @renovate in #5888
  • Remove company from emeritus by @dmathieu in #5887
  • Add selector of exemplar reservoir providers to metric.Stream configuration by @dashpole in #5861
  • otel: conceal unwrapping for global async instrument registration by @jmacd in #5881
  • Generate semconv/v1.27.0 by @MrAlias in #5894
  • otlpmetricgrpc: Keep metadata for gRPC in context by @mrasu in #5892
  • Cleanup interaction of exemplar and aggregation by @dashpole in #5899
  • chore(deps): update googleapis to 324edc3 by @renovate in #5908
  • [chore] Use errors.Join to unify errors by @MrAlias in #5907
  • [chore] Remove unnecessary type declaration in templated transforms by @MrAlias in #5906
  • Keep metadata for gRPC in context for log signal by @RocooHash in #5911
  • chore(deps): update benchmark-action/github-action-benchmark action to v1.20.4 by @renovate in #5916
  • Revert Cleanup interaction of exemplar and aggregation by @XSAM in #5913
  • Allow additional context to be added when WithHeaders is used in OTLP gRPC traces exporter by @pree-dew in #5915
  • Fix exemplars being added to gauge metrics in the prometheus exporter by @trthomps in #5912
  • Switch arm builds out of actuated and into the CNCF runners by @dmathieu in #5923
  • fix(deps): update module github.com/prometheus/common to v0.60.1 by @renovate in #5919
  • Add Cheng-Zhen as a triager by @dmathieu in #5922
  • sdk/instrumentation: Add Attributes to Scope by @pellared in #5903
  • Make scope attributes as identifying for Tracer by @pellared in #5924
  • Make scope attributes as identifying for Meter by @pellared in #5926
  • Make scope attributes as identifying for Logger by @pellared in #5925
  • log/logtest: Add Attributes to ScopeRecords by @pellared in #5927
  • opentracing: Make schemaURL and scope attributes as identifying for Tracer by @pellared in #5931
  • otlptrace: Add instrumentation scope attributes by @pellared in #5934
  • otlpmetric: Add instrumentation scope attributes by @pellared in #5935
  • otlplog: Add instrumentation scope attributes by @pellared in #5933
  • Remove examples by @pellared in #5930
  • docs: updating outdated comments by @codeboten in #5940
  • chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.23.0 by @renovate in #5939
  • prometheus: Refactor getAttrs by @pellared in #5937
  • chore(deps): update googleapis to dd2ea8e by @renovate in #5943
  • log: Update package documentation by @pellared in #5942
  • prometheus: Add instrumentation scope attributes to otel_scope_info by @pellared in #5932
  • fix(deps): update github.com/opentracing-contrib/go-grpc digest to d08aa2b by @renovate in #5945
  • Override insecure wh...
Read more

Release v1.31.0/v0.53.0/v0.7.0/v0.0.10

11 Oct 17:04
v1.31.0
bc2fe88
Compare
Choose a tag to compare

Overview

Added

  • Add go.opentelemetry.io/otel/sdk/metric/exemplar package which includes Exemplar, Filter, TraceBasedFilter, AlwaysOnFilter, HistogramReservoir, FixedSizeReservoir, Reservoir, Value and ValueType types. These will be used for configuring the exemplar reservoir for the metrics sdk. (#5747, #5862)
  • Add WithExportBufferSize option to log batch processor.(#5877)

Changed

  • Enable exemplars by default in go.opentelemetry.io/otel/sdk/metric. Exemplars can be disabled by setting OTEL_METRICS_EXEMPLAR_FILTER=always_off (#5778)
  • Logger.Enabled in go.opentelemetry.io/otel/log now accepts a newly introduced EnabledParameters type instead of Record. (#5791)
  • FilterProcessor.Enabled in go.opentelemetry.io/otel/sdk/log/internal/x now accepts EnabledParameters instead of Record. (#5791)
  • The Record type in go.opentelemetry.io/otel/log is no longer comparable. (#5847)
  • Performance improvements for the trace SDK SetAttributes method in Span. (#5864)
  • Reduce memory allocations for the Event and Link lists in Span. (#5858)
  • Performance improvements for the trace SDK AddEvent, AddLink, RecordError and End methods in Span. (#5874)

Deprecated

Fixed

  • The race condition for multiple FixedSize exemplar reservoirs identified in #5814 is resolved. (#5819)
  • Fix log records duplication in case of heterogeneous resource attributes by correctly mapping each log record to it's resource and scope. (#5803)
  • Fix timer channel drain to avoid hanging on Go 1.23. (#5868)
  • Fix delegation for global meter providers, and panic when calling otel.SetMeterProvider. (#5827)
  • Change the reflect.TypeOf to use a nil pointer to not allocate on the heap unless necessary. (#5827)

What's Changed

New Contributors

Full Changelog: v1.30.0...v1.31.0

Release v1.30.0/v0.52.0/v0.6.0/v0.0.9

10 Sep 21:35
v1.30.0
ed4fc75
Compare
Choose a tag to compare

Overview

Added

  • Support OTEL_EXPORTER_OTLP_LOGS_INSECURE and OTEL_EXPORTER_OTLP_INSECURE environments in go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. (#5739)
  • The WithResource option for NewMeterProvider now merges the provided resources with the ones from environment variables. (#5773)
  • The WithResource option for NewLoggerProvider now merges the provided resources with the ones from environment variables. (#5773)
  • Add UTF-8 support to go.opentelemetry.io/otel/exporters/prometheus. (#5755)

Fixed

  • Fix memory leak in the global MeterProvider when identical instruments are repeatedly created. (#5754)
  • Fix panic on instruments creation when setting meter provider. (#5758)
  • Fix an issue where SetMeterProvider in go.opentelemetry.io/otel might miss the delegation for instruments and registries. (#5780)

Removed

What's Changed

  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 4ba0660 by @renovate in #5734
  • fix(deps): update module github.com/prometheus/client_golang to v1.20.2 by @renovate in #5733
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 4ba0660 by @renovate in #5735
  • Drop support for Go 1.21 by @MrAlias in #5736
  • fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.54.0 by @renovate in #5738
  • fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.4.0 by @renovate in #5737
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to f6391c0 by @renovate in #5742
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to f6391c0 by @renovate in #5741
  • Replace go 1.21 with go 1.22 in go mod by @XSAM in #5740
  • chore(deps): update prom/prometheus docker tag to v2.54.1 by @renovate in #5744
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.108.0 by @renovate in #5749
  • fix(deps): update module google.golang.org/grpc to v1.66.0 by @renovate in #5751
  • fix(deps): update module github.com/masterminds/semver/v3 to v3.3.0 by @renovate in #5750
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 7e3bb23 by @renovate in #5745
  • chore(deps): update module github.com/prometheus/common to v0.57.0 by @renovate in #5748
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 7e3bb23 by @renovate in #5746
  • Fix duplicate instrumentation memory leak by @dashpole in #5754
  • Fix panic instruments creation when setting meter provider by @XSAM in #5758
  • Ensure codespell failures fail CI by @dmathieu in #5761
  • chore(deps): update module github.com/prometheus/common to v0.58.0 by @renovate in #5765
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 8af14fe by @renovate in #5767
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 8af14fe by @renovate in #5766
  • Run ConcurrentSafe tests multiple times in CI by @XSAM in #5759
  • chore(deps): update module golang.org/x/text to v0.18.0 by @renovate in #5775
  • chore(deps): update module golang.org/x/sys to v0.25.0 by @renovate in #5776
  • Group googleapis update by @XSAM in #5772
  • fix(deps): update golang.org/x/exp digest to e7e105d by @renovate in #5783
  • Mention test-concurrent-safe CI job in CONTRIBUTING doc by @XSAM in #5781
  • [chore] Remove toolchain directive by @pellared in #5784
  • chore(deps): update module golang.org/x/net to v0.29.0 by @renovate in #5790
  • chore(deps): update module github.com/prometheus/common to v0.59.1 by @renovate in #5789
  • fix(deps): update module github.com/prometheus/client_golang to v1.20.3 by @renovate in #5788
  • Support OTEL_EXPORTER_OTLP_LOGS_INSECURE and OTEL_EXPORTER_OTLP_INSECURE environments in grpc exporter by @amanakin in #5739
  • fix(metric, log): merge explicit resource with environment variables by @basti1302 in #5773
  • SetMeterProvider might miss the delegation for instruments and registries by @XSAM in #5780
  • Fix typos by @NathanBaulch in #5763
  • Add utf8 support to the prometheus exporter by @dashpole in #5755
  • fix(deps): update golang.org/x/exp digest to 701f63a by @renovate in #5795
  • fix(deps): update module google.golang.org/grpc to v1.66.1 by @renovate in #5798
  • Drop support for Go 1.21 in dice example by @MrAlias in #5800
  • Release v1.30.0/v0.52.0/v0.6.0/v0.0.9 by @XSAM in #5797

New Contributors

Full Changelog: v1.29.0...v1.30.0

Release v1.29.0/v0.51.0/v0.5.0

23 Aug 20:17
v1.29.0
6b1d94f
Compare
Choose a tag to compare

Overview

This release is the last to support Go 1.21. The next release will require at least Go 1.22.

Added

  • Add MacOS ARM64 platform to the compatibility testing suite. (#5577)
  • Add InstrumentationScope field to SpanStub in go.opentelemetry.io/otel/sdk/trace/tracetest, as a replacement for the deprecated InstrumentationLibrary. (#5627)
  • Make the initial release of go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc. This new module contains an OTLP exporter that transmits log telemetry using gRPC. This module is unstable and breaking changes may be introduced. See our versioning policy for more information about these stability guarantees. (#5629)
  • Add Walk function to TraceState in go.opentelemetry.io/otel/trace to iterate all the key-value pairs. (#5651)
  • Bridge the trace state in go.opentelemetry.io/otel/bridge/opencensus. (#5651)
  • Zero value of SimpleProcessor in go.opentelemetry.io/otel/sdk/log no longer panics. (#5665)
  • The FilterProcessor interface type is added in go.opentelemetry.io/otel/sdk/log/internal/x. This is an optional and experimental interface that log Processors can implement to instruct the Logger if a Record will be processed or not. It replaces the existing Enabled method that is removed from the Processor interface itself. It does not fall within the scope of the OpenTelemetry Go versioning and stability policy and it may be changed in backwards incompatible ways or removed in feature releases. (#5692)
  • Support Go 1.23. (#5720)

Changed

  • NewMemberRaw, NewKeyProperty and NewKeyValuePropertyRaw in go.opentelemetry.io/otel/baggage allow UTF-8 string in key. (#5132)
  • Processor.OnEmit in go.opentelemetry.io/otel/sdk/log now accepts a pointer to Record instead of a value so that the record modifications done in a processor are propagated to subsequent registered processors. (#5636)
  • SimpleProcessor.Enabled in go.opentelemetry.io/otel/sdk/log now returns false if the exporter is nil. (#5665)
  • Update the concurrency requirements of Exporter in go.opentelemetry.io/otel/sdk/log. (#5666)
  • SimpleProcessor in go.opentelemetry.io/otel/sdk/log synchronizes OnEmit calls. (#5666)
  • The Processor interface in go.opentelemetry.io/otel/sdk/log no longer includes the Enabled method. See the FilterProcessor interface type added in go.opentelemetry.io/otel/sdk/log/internal/x to continue providing this functionality. (#5692)
  • The SimpleProcessor type in go.opentelemetry.io/otel/sdk/log is no longer comparable. (#5693)
  • The BatchProcessor type in go.opentelemetry.io/otel/sdk/log is no longer comparable. (#5693)

Fixed

  • Correct comments for the priority of the WithEndpoint and WithEndpointURL options and their corresponding environment variables in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#5584)
  • Pass the underlying error rather than a generic retry-able failure in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp and go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#5541)
  • Correct the Tracer, Meter, and Logger names used in go.opentelemetry.io/otel/example/dice. (#5612)
  • Correct the Tracer names used in go.opentelemetry.io/otel/example/namedtracer. (#5612)
  • Correct the Tracer name used in go.opentelemetry.io/otel/example/opencensus. (#5612)
  • Correct the Tracer and Meter names used in go.opentelemetry.io/otel/example/otel-collector. (#5612)
  • Correct the Tracer names used in go.opentelemetry.io/otel/example/passthrough. (#5612)
  • Correct the Meter name used in go.opentelemetry.io/otel/example/prometheus. (#5612)
  • Correct the Tracer names used in go.opentelemetry.io/otel/example/zipkin. (#5612)
  • Correct comments for the priority of the WithEndpoint and WithEndpointURL options and their corresponding environment variables in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#5641)
  • Correct comments for the priority of the WithEndpoint and WithEndpointURL options and their corresponding environment variables in go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#5650)
  • Stop percent encoding header environment variables in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp, go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp (#5705)
  • Remove invalid environment variable header keys in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp, go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp (#5705)

Removed

  • The Enabled method of the SimpleProcessor in go.opentelemetry.io/otel/sdk/log is removed. (#5692)
  • The Enabled method of the BatchProcessor in go.opentelemetry.io/otel/sdk/log is removed. (#5692)

What's Changed

  • Upgrade Go versions in CI by @MrAlias in #5570
  • fix(deps): update module google.golang.org/grpc to v1.65.0 by @renovate in #5568
  • fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.4.0 by @renovate in #5571
  • fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.3.0 by @renovate in #5573
  • fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.53.0 by @renovate in #5574
  • Implement otlploggrpc gRPC client by @XSAM in #5572
  • chore(deps): update module golang.org/x/sys to v0.22.0 by @renovate in #5576
  • chore(deps): update module golang.org/x/net to v0.27.0 by @renovate in #5581
  • Enable benchmark summary for release by @XSAM in #5527
  • sdk/log: Add package example by @pellared in #5579
  • [chore] Update macOS runners by @pellared in #5577
  • fix(deps): update module golang.org/x/tools to v0.23.0 by @renovate in #5583
  • fix(deps): update golang.org/x/exp digest to 46b0784 by @renovate in #5585
  • baggage: Fix invalid percent-encoded octet sequences by @santileira in #5528
  • Extend trace config benchmarks to run each option individually by @dmathieu in #5566
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 654c5fe by @renovate in #5587
  • Protect released changelog in CI by @XSAM in #5560
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 4ad9e85 by @renovate in #5588
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 4ad9e85 by @renovate in #5589
  • Correct the comment for the priority of options and environments on otlptracehttp by @XSAM in #5584
  • [chore] Add missing changelog entry for #5577 by @pellared in #5586
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 40e1e62 by @renovate in #5592
  • Implement otlploggrpc exporter by @XSAM in #5582
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 40e1e62 by @renovate in #5593
  • fix(deps): update module go.opentelemetry.io/build-tools/crosslink to v0.14.0 by @renovate in #5594
  • fix(deps): update module go.opentelemetry.io/build-tools/gotmpl to v0.14.0 by @renovate in #5595
  • fix(deps): update module go.opentelemetry.io/build-tools/multimod to v0.14.0 by @renovate in #5596
  • fix(deps): update module go.opentelemetry.io/build-tools/semconvgen to v0.14.0 by @renovate in #5597
  • chore(deps): update prom/prometheus docker tag to v2.53.1 by @renovate in #5603
  • chore(deps): update jaegertracing/all-in-one docker tag to v1.59 by @renovate in #5605
  • Add TestSpanStartConfigAttributeMutability by @MrAlias in #5591
  • log: Add missing notice to Bytes, Slice, Map doc comment by @pellared in #5598
  • Add TestConfigLinkMutability by @MrAlias in https://github.c...
Read more

Releases v1.28.0/v0.50.0/v0.4.0

02 Jul 20:34
v1.28.0
81216fb
Compare
Choose a tag to compare

Overview

Added

  • The IsEmpty method is added to the Instrument type in go.opentelemetry.io/otel/sdk/metric.
    This method is used to check if an Instrument instance is a zero-value. (#5431)
  • Store and provide the emitted context.Context in ScopeRecords of go.opentelemetry.io/otel/sdk/log/logtest. (#5468)
  • The go.opentelemetry.io/otel/semconv/v1.26.0 package.
    The package contains semantic conventions from the v1.26.0 version of the OpenTelemetry Semantic Conventions. (#5476)
  • The AssertRecordEqual method to go.opentelemetry.io/otel/log/logtest to allow comparison of two log records in tests. (#5499)
  • The WithHeaders option to go.opentelemetry.io/otel/exporters/zipkin to allow configuring custom http headers while exporting spans. (#5530)

Changed

  • Tracer.Start in go.opentelemetry.io/otel/trace/noop no longer allocates a span for empty span context. (#5457)
  • Upgrade go.opentelemetry.io/otel/semconv/v1.25.0 to go.opentelemetry.io/otel/semconv/v1.26.0 in go.opentelemetry.io/otel/example/otel-collector. (#5490)
  • Upgrade go.opentelemetry.io/otel/semconv/v1.25.0 to go.opentelemetry.io/otel/semconv/v1.26.0 in go.opentelemetry.io/otel/example/zipkin. (#5490)
  • Upgrade go.opentelemetry.io/otel/semconv/v1.25.0 to go.opentelemetry.io/otel/semconv/v1.26.0 in go.opentelemetry.io/otel/exporters/zipkin. (#5490)
    • The exporter no longer exports the deprecated "otel.library.name" or "otel.library.version" attributes.
  • Upgrade go.opentelemetry.io/otel/semconv/v1.25.0 to go.opentelemetry.io/otel/semconv/v1.26.0 in go.opentelemetry.io/otel/sdk/resource. (#5490)
  • Upgrade go.opentelemetry.io/otel/semconv/v1.25.0 to go.opentelemetry.io/otel/semconv/v1.26.0 in go.opentelemetry.io/otel/sdk/trace. (#5490)
  • SimpleProcessor.OnEmit in go.opentelemetry.io/otel/sdk/log no longer allocates a slice which makes it possible to have a zero-allocation log processing using SimpleProcessor. (#5493)
  • Use non-generic functions in the Start method of "go.opentelemetry.io/otel/sdk/trace".Trace to reduce memory allocation. (#5497)
  • service.instance.id is populated for a Resource created with "go.opentelemetry.io/otel/sdk/resource".Default with a default value when OTEL_GO_X_RESOURCE is set. (#5520)
  • Improve performance of metric instruments in go.opentelemetry.io/otel/sdk/metric by removing unnecessary calls to time.Now. (#5545)

Fixed

  • Log a warning to the OpenTelemetry internal logger when a Record in go.opentelemetry.io/otel/sdk/log drops an attribute due to a limit being reached. (#5376)
  • Identify the Tracer returned from the global TracerProvider in go.opentelemetry.io/otel/global with its schema URL. (#5426)
  • Identify the Meter returned from the global MeterProvider in go.opentelemetry.io/otel/global with its schema URL. (#5426)
  • Log a warning to the OpenTelemetry internal logger when a Span in go.opentelemetry.io/otel/sdk/trace drops an attribute, event, or link due to a limit being reached. (#5434)
  • Document instrument name requirements in go.opentelemetry.io/otel/metric. (#5435)
  • Prevent random number generation data-race for experimental rand exemplars in go.opentelemetry.io/otel/sdk/metric. (#5456)
  • Fix counting number of dropped attributes of Record in go.opentelemetry.io/otel/sdk/log. (#5464)
  • Fix panic in baggage creation when a member contains 0x80 char in key or value. (#5494)
  • Correct comments for the priority of the WithEndpoint and WithEndpointURL options and their corresponding environment variables in go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#5508)
  • Retry trace and span ID generation if it generated an invalid one in go.opentelemetry.io/otel/sdk/trace. (#5514)
  • Fix stale timestamps reported by the last-value aggregation. (#5517)
  • Indicate the Exporter in go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp must be created by the New method. (#5521)
  • Improved performance in all {Bool,Int64,Float64,String}SliceValue functions of go.opentelemetry.io/attributes by reducing the number of allocations. (#5549)

What's Changed

  • Recheck log message in TestBatchProcessor by @MrAlias in #5386
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to dc85e6b by @renovate in #5391
  • fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.2.0 by @renovate in #5395
  • fix(deps): update module github.com/go-logr/logr to v1.4.2 by @renovate in #5393
  • fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.52.0 by @renovate in #5396
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to d264139 by @renovate in #5397
  • fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.3.0 by @renovate in #5398
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.101.0 by @renovate in #5400
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to d264139 by @renovate in #5399
  • [chore] example/otel-collector: Fix README title by @pellared in #5404
  • Pool otlploghttp transform maps by @MrAlias in #5378
  • fix(deps): update module golang.org/x/vuln to v1.1.1 by @renovate in #5405
  • Fix test name in otlploghttp by @XSAM in #5411
  • sdk/log: Fix BenchmarkLoggerNewRecord to not drop attributes by @pellared in #5407
  • chore(deps): update dependency codespell to v2.3.0 by @renovate in #5409
  • fix(deps): update module github.com/golangci/golangci-lint to v1.59.0 by @renovate in #5419
  • fix(deps): update golang.org/x/tools digest to 7045d2e by @renovate in #5406
  • fix(deps): update golang.org/x/exp digest to 4c93da0 by @renovate in #5415
  • Log a warning when log Record attribute is dropped by @MrAlias in #5376
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to a332354 by @renovate in #5424
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to a332354 by @renovate in #5423
  • fix(deps): update golang.org/x/tools digest to f10a0f1 by @renovate in #5430
  • chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 5315273 by @renovate in #5428
  • chore(deps): update google.golang.org/genproto/googleapis/api digest to 5315273 by @renovate in #5427
  • fix(deps): update golang.org/x/tools digest to e229045 by @renovate in #5432
  • fix(deps): update golang.org/x/exp digest to 23cca88 by @renovate in #5429
  • sdk/log: Fix TestBatchProcessor/DroppedLogs flaky test by @amanakin in #5421
  • Identify global Tracers and Meters with their schema URLs by @MrAlias in #5426
  • sdk/log: Fix TestBatchProcessor/ForceFlush/ErrorPartialFlush flaky test by @amanakin in #5416
  • Export the Instrument IsEmpty method by @MrAlias in #5431
  • fix(deps): update golang.org/x/tools digest to 01018ba by @renovate in #5438
  • [chore] ensure codecov uses token by @codeboten in #5440
  • fix(deps): update golang.org/x/tools digest to 8d54ca1 by @renovate in #5441
  • fix(deps): update golang.org/x/tools digest to 2e977dd by @renovate in #5442
  • Remove zeroInstrumentKind by @MrAlias in #5433
  • Log warning when a trace attribute/event/link is discarded due to limits by @MrAlias in #5434
  • Remove opentelemetry-proto in .gitsubmodule by @YHM404 in #5267
  • Document instrument name requirements by @MrAlias in #5435
  • fix(deps): update golang.org/x/exp digest to 404ba88 by @renovate in #5445
  • Move MonotonicEndTime to only use by @MrAlias in #5443
  • fix(deps): update golang.org/x/tools digest to 624dbd0 by @renovate in #5446
  • fix(deps): update golang.org/x/exp digest to fd00a4e by @renovate in https://github.com/open-tele...
Read more

Release v1.27.0/v0.49.0/v0.3.0

21 May 18:04
v1.27.0
5661ff0
Compare
Choose a tag to compare

This release includes the first beta release of the OpenTelemetry Logs Bridge API and SDK for Go.

Overview

Added

  • Add example for go.opentelemetry.io/otel/exporters/stdout/stdoutlog. (#5242)
  • Add RecordFactory in go.opentelemetry.io/otel/sdk/log/logtest to facilitate testing exporter and processor implementations. (#5258)
  • Add RecordFactory in go.opentelemetry.io/otel/log/logtest to facilitate testing bridge implementations. (#5263)
  • The count of dropped records from the BatchProcessor in go.opentelemetry.io/otel/sdk/log is logged. (#5276)
  • Add metrics in the otel-collector example. (#5283)
  • Add the synchronous gauge instrument to go.opentelemetry.io/otel/metric. (#5304)
    • An int64 or float64 synchronous gauge instrument can now be created from a Meter.
    • All implementations of the API (go.opentelemetry.io/otel/metric/noop, go.opentelemetry.io/otel/sdk/metric) are updated to support this instrument.
  • Add logs to go.opentelemetry.io/otel/example/dice. (#5349)

Changed

  • The Shutdown method of Exporter in go.opentelemetry.io/otel/exporters/stdout/stdouttrace ignores the context cancellation and always returns nil. (#5189)
  • The ForceFlush and Shutdown methods of the exporter returned by New in go.opentelemetry.io/otel/exporters/stdout/stdoutmetric ignore the context cancellation and always return nil. (#5189)
  • Apply the value length limits to Record attributes in go.opentelemetry.io/otel/sdk/log. (#5230)
  • De-duplicate map attributes added to a Record in go.opentelemetry.io/otel/sdk/log. (#5230)
  • go.opentelemetry.io/otel/exporters/stdout/stdoutlog won't print timestamps when WithoutTimestamps option is set. (#5241)
  • The go.opentelemetry.io/otel/exporters/stdout/stdoutlog exporter won't print AttributeValueLengthLimit and AttributeCountLimit fields now, instead it prints the DroppedAttributes field. (#5272)
  • Improved performance in the Stringer implementation of go.opentelemetry.io/otel/baggage.Member by reducing the number of allocations. (#5286)
  • Set the start time for last-value aggregates in go.opentelemetry.io/otel/sdk/metric. (#5305)
  • The Span in go.opentelemetry.io/otel/sdk/trace will record links without span context if either non-empty TraceState or attributes are provided. (#5315)
  • Upgrade all dependencies of go.opentelemetry.io/otel/semconv/v1.24.0 to go.opentelemetry.io/otel/semconv/v1.25.0. (#5374)

Fixed

  • Comparison of unordered maps for go.opentelemetry.io/otel/log.KeyValue and go.opentelemetry.io/otel/log.Value. (#5306)
  • Fix the empty output of go.opentelemetry.io/otel/log.Value in go.opentelemetry.io/otel/exporters/stdout/stdoutlog. (#5311)
  • Split the behavior of Recorder in go.opentelemetry.io/otel/log/logtest so it behaves as a LoggerProvider only. (#5365)
  • Fix wrong package name of the error message when parsing endpoint URL in go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp. (#5371)
  • Identify the Logger returned from the global LoggerProvider in go.opentelemetry.io/otel/log/global with its schema URL. (#5375)

What's Changed

  • sdk/log/logtest: Add RecordFactory by @pellared in #5258
  • log/logtest: add Record Factory by @dmathieu in #5263
  • stdoutlog: Do not print timestamps when WithoutTimestamps is set by @XSAM in #5241
  • Add example for stdoutlog by @XSAM in #5242
  • Remove context check on stdout exporters by @prasad-shirodkar in #5189
  • Fix flaky test TestBufferExporter/Shutdown/ContextCancelled by @XSAM in #5261
  • Add otlploggrpc exporter skeleton by @XSAM in #5246
  • build(deps): bump lycheeverse/lychee-action from 1.9.3 to 1.10.0 by @dependabot in #5266
  • chore: fix function names in comment by @dockercui in #5262
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.50.0 to 0.51.0 in /example/dice by @dependabot in #5265
  • docs: update variable name in documentation by @codeboten in #5270
  • Use empty resource when RecordFactory.Resource is nil by @MrAlias in #5264
  • Truncate and de-duplicate log attribute values by @MrAlias in #5230
  • Add changelog entry for #5230 by @MrAlias in #5277
  • docs: Add otlploghttp package in exporters README.md by @arukiidou in #5274
  • The stdoutlog exporter prints DroppedAttributes field instead of Limits fields by @XSAM in #5272
  • Test scope and resource transforms in otlploghttp by @MrAlias in #5278
  • Add README template to semconvkit by @MrAlias in #5279
  • Use docker compose in otel collector example by @XSAM in #5244
  • [chore] dependabot updates Sun May 5 15:58:12 UTC 2024 by @opentelemetrybot in #5300
  • build(deps): bump codecov/codecov-action from 4.3.0 to 4.3.1 by @dependabot in #5296
  • docs: Update Go logs status to alpha in README.md by @arukiidou in #5299
  • docs: Add logs exporters in README.md by @arukiidou in #5298
  • Use reflect to construct a Record in logtest by @MrAlias in #5275
  • Fix type error in float64 instrument documentation by @MrAlias in #5302
  • Fix HistogramConfig documentation by @MrAlias in #5301
  • feat: opt for concatenation instead of using fmt.Sprintf by @moisesvega in #5286
  • Emit attributes slices as their json representation by @dmathieu in #5159
  • Refactor exemplars to not use generic argument by @MrAlias in #5285
  • Upgrade default go verison to 1.22.3 by @XSAM in #5314
  • Log records dropped by the BatchProcessor by @MrAlias in #5276
  • Rename synchronous instrument names in global test by @MrAlias in #5303
  • chore: Configure Renovate by @renovate in #5309
  • chore(deps): update module github.com/golang/groupcache to v0.0.0-20210331224755-41bb18bfe9da by @renovate in #5320
  • chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240506185236-b8a5c65736ae by @renovate in #5321
  • chore(deps): update module gopkg.in/check.v1 to v1.0.0-20201130134442-10cb98267c6c by @renovate in #5326
  • chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240506185236-b8a5c65736ae by @renovate in #5325
  • fix(deps): update module golang.org/x/exp to v0.0.0-20240506185415-9bf2ced13842 by @renovate in #5327
  • chore(deps): update module github.com/prometheus/common to v0.53.0 by @renovate in #5332
  • chore(deps): update module golang.org/x/net to v0.25.0 by @renovate in #5335
  • fix(deps): update module google.golang.org/protobuf to v1.34.1 by @renovate in #5328
  • chore(deps): update module github.com/prometheus/procfs to v0.14.0 by @renovate in #5333
  • chore(deps): update module github.com/cespare/xxhash/v2 to v2.3.0 by @renovate in #5330
  • chore(deps): update module github.com/rogpeppe/go-internal to v1.12.0 by @renovate in #5334
  • fix(deps): update module github.com/golangci/golangci-lint to v1.58.1 by @renovate in #5340
  • Merge Span.AddLink tests by @perhapsmaple in #5115
  • exporters/otlp/otlptrace: fix incorrect documentation by @kevinburkesegment in #5098
  • Generate internal/retry in otlploggrpc by @XSAM in #5313
  • fix(deps): update module github.com/prometheus/client_golang to v1.19.1 by @renovate in #5341
  • chore(deps): update jaegertracing/all-in-one docker tag to v1.57 by @renovate in #5329...
Read more

Release v1.26.0/v0.48.0/v0.2.0-alpha

24 Apr 14:32
v1.26.0
9656d0a
Compare
Choose a tag to compare

Added

  • Add Recorder in go.opentelemetry.io/otel/log/logtest to facilitate testing the log bridge implementations. (#5134)
  • Add span flags to OTLP spans and links exported by go.opentelemetry.io/otel/exporters/otlp/otlptrace. (#5194)
  • Make the initial alpha release of go.opentelemetry.io/otel/sdk/log.
    This new module contains the Go implementation of the OpenTelemetry Logs SDK.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • Make the initial alpha release of go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp.
    This new module contains an OTLP exporter that transmits log telemetry using HTTP.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • Make the initial alpha release of go.opentelemetry.io/otel/exporters/stdout/stdoutlog.
    This new module contains an exporter prints log records to STDOUT.
    This module is unstable and breaking changes may be introduced.
    See our versioning policy for more information about these stability guarantees. (#5240)
  • The go.opentelemetry.io/otel/semconv/v1.25.0 package.
    The package contains semantic conventions from the v1.25.0 version of the OpenTelemetry Semantic Conventions. (#5254)

Changed

  • Update go.opentelemetry.io/proto/otlp from v1.1.0 to v1.2.0. (#5177)
  • Improve performance of baggage member character validation in go.opentelemetry.io/otel/baggage. (#5214)

Full Changelog: v1.25.0...v1.26.0

Release v1.25.0/v0.47.0/v0.0.8/v0.1.0-alpha

05 Apr 14:39
v1.25.0
6628407
Compare
Choose a tag to compare

Added

  • Add WithProxy option in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4906)
  • Add WithProxy option in go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp. (#4906)
  • Add AddLink method to the Span interface in go.opentelemetry.io/otel/trace. (#5032)
  • The Enabled method is added to the Logger interface in go.opentelemetry.io/otel/log.
    This method is used to notify users if a log record will be emitted or not. (#5071)
  • Add SeverityUndefined const to go.opentelemetry.io/otel/log.
    This value represents an unset severity level. (#5072)
  • Add Empty function in go.opentelemetry.io/otel/log to return a KeyValue for an empty value. (#5076)
  • Add go.opentelemetry.io/otel/log/global to manage the global LoggerProvider.
    This package is provided with the anticipation that all functionality will be migrate to go.opentelemetry.io/otel when go.opentelemetry.io/otel/log stabilizes.
    At which point, users will be required to migrage their code, and this package will be deprecated then removed. (#5085)
  • Add support for Summary metrics in the go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc exporters. (#5100)
  • Add otel.scope.name and otel.scope.version tags to spans exported by go.opentelemetry.io/otel/exporters/zipkin. (#5108)
  • Add support for AddLink to go.opentelemetry.io/otel/bridge/opencensus. (#5116)
  • Add String method to Value and KeyValue in go.opentelemetry.io/otel/log. (#5117)
  • Add Exemplar support to go.opentelemetry.io/otel/exporters/prometheus. (#5111)
  • Add metric semantic conventions to go.opentelemetry.io/otel/semconv/v1.24.0. Future semconv packages will include metric semantic conventions as well. (#4528)

Changed

  • SpanFromContext and SpanContextFromContext in go.opentelemetry.io/otel/trace no longer make a heap allocation when the passed context has no span. (#5049)
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc now create a gRPC client in idle mode and with "dns" as the default resolver using grpc.NewClient. (#5151)
    Because of that WithDialOption ignores grpc.WithBlock, grpc.WithTimeout, and grpc.WithReturnConnectionError.
    Notice that grpc.DialContext which was used before is now deprecated.

Fixed

  • Clarify the documentation about equivalence guarantees for the Set and Distinct types in go.opentelemetry.io/otel/attribute. (#5027)
  • Prevent default ErrorHandler self-delegation. (#5137)
  • Update all dependencies to address GO-2024-2687. (#5139)

Removed

Deprecated

  • Deprecate go.opentelemetry.io/otel/attribute.Sortable type. (#4734)
  • Deprecate go.opentelemetry.io/otel/attribute.NewSetWithSortable function. (#4734)
  • Deprecate go.opentelemetry.io/otel/attribute.NewSetWithSortableFiltered function. (#4734)

New Contributors

Full Changelog: v1.24.0...v1.25.0

Release v1.24.0/v0.46.0/v0.0.1-alpha

23 Feb 16:37
v1.24.0
e6e186b
Compare
Choose a tag to compare

This release is the last to support Go 1.20. The next release will require at least Go 1.21.

Added

  • Support Go 1.22. (#4890)
  • Add exemplar support to go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4900)
  • Add exemplar support to go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4900)
  • The go.opentelemetry.io/otel/log module is added. This module includes OpenTelemetry Go's implementation of the Logs Bridge API. This module is in an alpha state, it is subject to breaking changes. See our versioning policy for more info. (#4961)

Fixed

  • Fix registration of multiple callbacks when using the global meter provider from go.opentelemetry.io/otel. (#4945)
  • Fix negative buckets in output of exponential histograms. (#4956)

New Contributors

Full Changelog: v1.23.1...v1.24.0

Release v1.23.1/v0.45.2

07 Feb 20:52
v1.23.1
c5b112f
Compare
Choose a tag to compare

Fixed

  • Register all callbacks passed during observable instrument creation instead of just the last one multiple times in go.opentelemetry.io/otel/sdk/metric. (#4888)