Releases: open-telemetry/opentelemetry-go
Release v1.23.0/v0.45.1
This release contains the first stable, v1
, release of the following modules:
go.opentelemetry.io/otel/bridge/opencensus
go.opentelemetry.io/otel/bridge/opencensus/test
go.opentelemetry.io/otel/example/opencensus
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric
See our versioning policy for more information about these stability guarantees.
Added
- Add
WithEndpointURL
option to theexporters/otlp/otlpmetric/otlpmetricgrpc
,exporters/otlp/otlpmetric/otlpmetrichttp
,exporters/otlp/otlptrace/otlptracegrpc
andexporters/otlp/otlptrace/otlptracehttp
packages. (#4808) - Experimental exemplar exporting is added to the metric SDK. See metric documentation for more information about this feature and how to enable it. (#4871)
ErrSchemaURLConflict
is added togo.opentelemetry.io/otel/sdk/resource
. This error is returned when a merge of twoResource
s with different (non-empty) schema URL is attempted. (#4876)
Changed
- The
Merge
andNew
functions ingo.opentelemetry.io/otel/sdk/resource
now returns a partial result if there is a schema URL merge conflict. Instead of returningnil
when twoResource
s with different (non-empty) schema URLs are merged the mergedResource
, along with the newErrSchemaURLConflict
error, is returned. It is up to the user to decide if they want to use the returnedResource
or not. It may have desired attributes overwritten or include stale semantic conventions. (#4876)
Fixed
- Fix
ContainerID
resource detection on systemd when cgroup path has a colon. (#4449) - Fix
go.opentelemetry.io/otel/sdk/metric
to cache instruments to avoid leaking memory when the same instrument is created multiple times. (#4820) - Fix missing
Mix
andMax
values forgo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
by introducingMarshalText
andMarshalJSON
for theExtrema
type ingo.opentelemetry.io/sdk/metric/metricdata
. (#4827)
New Contributors
- @Fricounet made their first contribution in #4449
- @StLeoX made their first contribution in #4855
- @m-posluszny made their first contribution in #4827
Full Changelog: v1.22.0...v1.23.0
Release v1.23.0-rc.1
This is a release candidate for the v1.23.0 release. That release is expected to include the v1
release of the following modules:
go.opentelemetry.io/otel/bridge/opencensus
go.opentelemetry.io/otel/bridge/opencensus/test
go.opentelemetry.io/otel/example/opencensus
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric
See our versioning policy for more information about these stability guarantees.
Release v1.22.0/v0.45.0
Added
- The
go.opentelemetry.io/otel/semconv/v1.22.0
package.
The package contains semantic conventions from thev1.22.0
version of the OpenTelemetry Semantic Conventions. (#4735) - The
go.opentelemetry.io/otel/semconv/v1.23.0
package.
The package contains semantic conventions from thev1.23.0
version of the OpenTelemetry Semantic Conventions. (#4746) - The
go.opentelemetry.io/otel/semconv/v1.23.1
package.
The package contains semantic conventions from thev1.23.1
version of the OpenTelemetry Semantic Conventions. (#4749) - The
go.opentelemetry.io/otel/semconv/v1.24.0
package.
The package contains semantic conventions from thev1.24.0
version of the OpenTelemetry Semantic Conventions. (#4770) - Add
WithResourceAsConstantLabels
option to apply resource attributes for every metric emitted by the Prometheus exporter. (#4733) - Experimental cardinality limiting is added to the metric SDK.
See metric documentation for more information about this feature and how to enable it. (#4457) - Add
NewMemberRaw
andNewKeyValuePropertyRaw
ingo.opentelemetry.io/otel/baggage
. (#4804)
Changed
- Upgrade all use of
go.opentelemetry.io/otel/semconv
to usev1.24.0
. (#4754) - Update transformations in
go.opentelemetry.io/otel/exporters/zipkin
to followv1.24.0
version of the OpenTelemetry specification. (#4754) - Record synchronous measurements when the passed context is canceled instead of dropping in
go.opentelemetry.io/otel/sdk/metric
.
If you do not want to make a measurement when the context is cancelled, you need to handle it yourself (e.gif ctx.Err() != nil
). (#4671) - Improve
go.opentelemetry.io/otel/trace.TraceState
's performance. (#4722) - Improve
go.opentelemetry.io/otel/propagation.TraceContext
's performance. (#4721) - Improve
go.opentelemetry.io/otel/baggage
performance. (#4743) - Improve performance of the
(*Set).Filter
method ingo.opentelemetry.io/otel/attribute
when the passed filter does not filter out any attributes from the set. (#4774) Member.String
ingo.opentelemetry.io/otel/baggage
percent-encodes only when necessary. (#4775)Property.Value
ingo.opentelemetry.io/otel/baggage
now returns a raw string instead of a percent-encoded value. (#4804)
Fixed
- Fix
Parse
ingo.opentelemetry.io/otel/baggage
to validate member value before percent-decoding. (#4755) - Fix whitespace encoding of
Member.String
ingo.opentelemetry.io/otel/baggage
. (#4756) - Fix baggage item key so that it is not canonicalized in
go.opentelemetry.io/otel/bridge/opentracing
. (#4776) - Fix
go.opentelemetry.io/otel/bridge/opentracing
to properly handle baggage values that requires escaping during propagation. (#4804) - Fix a bug where using multiple readers resulted in incorrect asynchronous counter values in
go.opentelemetry.io/otel/sdk/metric
. (#4742)
Release v1.21.0/v0.44.0
Removed
- Remove the deprecated
go.opentelemetry.io/otel/bridge/opencensus.NewTracer
. (#4706) - Remove the deprecated
go.opentelemetry.io/otel/exporters/otlp/otlpmetric
module. (#4707) - Remove the deprecated
go.opentelemetry.io/otel/example/view
module. (#4708) - Remove the deprecated
go.opentelemetry.io/otel/example/fib
module. (#4723)
Fixed
Release v1.20.0/v0.43.0
This release brings a breaking change for custom trace API implementations. Some interfaces (TracerProvider
, Tracer
, Span
) now embed the go.opentelemetry.io/otel/trace/embedded
types. Implementors need to update their implementations based on what they want the default behavior to be. See the "API Implementations" section of the trace API package documentation for more about how to accomplish this.
Added
- Add
go.opentelemetry.io/otel/bridge/opencensus.InstallTraceBridge
, which installs the OpenCensus trace bridge, and replacesopencensus.NewTracer
. (#4567) - Add scope version to trace and metric bridges in
go.opentelemetry.io/otel/bridge/opencensus
. (#4584) - Add the
go.opentelemetry.io/otel/trace/embedded
package to be embedded in the exported trace API interfaces. (#4620) - Add the
go.opentelemetry.io/otel/trace/noop
package as a default no-op implementation of the trace API. (#4620) - Add context propagation in
go.opentelemetry.io/otel/example/dice
. (#4644) - Add view configuration to
go.opentelemetry.io/otel/example/prometheus
. (#4649) - Add
go.opentelemetry.io/otel/metric.WithExplicitBucketBoundaries
, which allows defining default explicit bucket boundaries when creating histogram instruments. (#4603) - Add
Version
function ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4660) - Add
Version
function ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4660) - Add Summary, SummaryDataPoint, and QuantileValue to
go.opentelemetry.io/sdk/metric/metricdata
. (#4622) go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer
now supports exemplars from OpenCensus. (#4585)- Add support for
WithExplicitBucketBoundaries
ingo.opentelemetry.io/otel/sdk/metric
. (#4605) - Add support for Summary metrics in
go.opentelemetry.io/otel/bridge/opencensus
. (#4668)
Deprecated
- Deprecate
go.opentelemetry.io/otel/bridge/opencensus.NewTracer
in favor ofopencensus.InstallTraceBridge
. (#4567) - Deprecate
go.opentelemetry.io/otel/example/fib
package is in favor ofgo.opentelemetry.io/otel/example/dice
. (#4618) - Deprecate
go.opentelemetry.io/otel/trace.NewNoopTracerProvider
.
Use the addedNewTracerProvider
function ingo.opentelemetry.io/otel/trace/noop
instead. (#4620) - Deprecate
go.opentelemetry.io/otel/example/view
package in favor ofgo.opentelemetry.io/otel/example/prometheus
. (#4649) - Deprecate
go.opentelemetry.io/otel/exporters/otlp/otlpmetric
. (#4693)
Changed
go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer
returns a*MetricProducer
struct instead of the metric.Producer interface. (#4583)- The
TracerProvider
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.TracerProvider
type.
This extends theTracerProvider
interface and is is a breaking change for any existing implementation.
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
See the "API Implementations" section of thego.opentelemetry.io/otel/trace
package documentation for more information about how to accomplish this. (#4620) - The
Tracer
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.Tracer
type.
This extends theTracer
interface and is is a breaking change for any existing implementation.
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
See the "API Implementations" section of thego.opentelemetry.io/otel/trace
package documentation for more informationabout how to accomplish this. (#4620) - The
Span
ingo.opentelemetry.io/otel/trace
now embeds thego.opentelemetry.io/otel/trace/embedded.Span
type.
This extends theSpan
interface and is is a breaking change for any existing implementation.
Implementors need to update their implementations based on what they want the default behavior of the interface to be.
See the "API Implementations" section of thego.opentelemetry.io/otel/trace
package documentation for more information about how to accomplish this. (#4620) go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
does no longer depend ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric
. (#4660)go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
does no longer depend ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric
. (#4660)- Retry for
502 Bad Gateway
and504 Gateway Timeout
HTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4670) - Retry for
502 Bad Gateway
and504 Gateway Timeout
HTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#4670) - Retry for
RESOURCE_EXHAUSTED
only if RetryInfo is returned ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4669) - Retry for
RESOURCE_EXHAUSTED
only if RetryInfo is returned ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
. (#4669) - Retry temporary HTTP request failures in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4679) - Retry temporary HTTP request failures in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#4679)
Fixed
- Fix improper parsing of characters such us
+
,/
byParse
ingo.opentelemetry.io/otel/baggage
as they were rendered as a whitespace. (#4667) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_RESOURCE_ATTRIBUTES
ingo.opentelemetry.io/otel/sdk/resource
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_METRICS_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_METRICS_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_TRACES_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpc
as they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+
,/
passed viaOTEL_EXPORTER_OTLP_HEADERS
andOTEL_EXPORTER_OTLP_TRACES_HEADERS
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp
as they were rendered as a whitespace. (#4699) - In
go.opentelemetry.op/otel/exporters/prometheus
, the exporter no longerCollect
s metrics afterShutdown
is invoked. (#4648) - Fix documentation for
WithCompressor
ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
. (#4695) - Fix documentation for
WithCompressor
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4695)
Release v1.19.0/v0.42.0/v0.0.7
This release contains the first stable release of the OpenTelemetry Go metric SDK. Our project stability guarantees now apply to the go.opentelemetry.io/otel/sdk/metric
package. See our versioning policy for more information about these stability guarantees.
Added
- Add the "Roll the dice" getting started application example in
go.opentelemetry.io/otel/example/dice
. (#4539) - The
WithWriter
andWithPrettyPrint
options togo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
to set a customio.Writer
, and allow displaying the output in human-readable JSON. (#4507)
Changed
- Allow '/' characters in metric instrument names. (#4501)
- The exporter in
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric
does not prettify its output by default anymore. (#4507) - Upgrade
gopkg.io/yaml
fromv2
tov3
ingo.opentelemetry.io/otel/schema
. (#4535)
Fixed
- In
go.opentelemetry.op/otel/exporters/prometheus
, don't try to create the Prometheus metric on everyCollect
if we know the scope is invalid. (#4499)
Removed
- Remove
"go.opentelemetry.io/otel/bridge/opencensus".NewMetricExporter
, which is replaced byNewMetricProducer
. (#4566)
Full Changelog: v1.18.0...v1.19.0
Release v1.19.0-rc.1/v0.42.0-rc.1
This is a release candidate for the v1.19.0/v0.42.0 release. That release is expected to include the v1
release of the OpenTelemetry Go metric SDK and will provide stability guarantees of that SDK. See our versioning policy for more information about these stability guarantees.
Changed
- Allow '/' characters in metric instrument names. (#4501)
Fixed
- In
go.opentelemetry.op/otel/exporters/prometheus
, don't try to create the Prometheus metric on everyCollect
if we know the scope is invalid. (#4499)
New Contributors
Full Changelog: v1.18.0...v1.19.0-rc.1
Release v1.18.0/v0.41.0/v0.0.6
This release drops the compatibility guarantee of Go 1.19.
Added
- Add
WithProducer
option ingo.opentelemetry.op/otel/exporters/prometheus
to restore the ability to register producers on the prometheus exporter's manual reader. (#4473) - Add
IgnoreValue
option ingo.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest
to allow ignoring values when comparing metrics. (#4447)
Deprecated
- The
NewMetricExporter
ingo.opentelemetry.io/otel/bridge/opencensus
was deprecated inv0.35.0
(#3541).
The deprecation notice format for the function has been corrected to trigger Go documentation and build tooling. (#4470)
Removed
- Removed the deprecated
go.opentelemetry.io/otel/exporters/jaeger
package. (#4467) - Removed the deprecated
go.opentelemetry.io/otel/example/jaeger
package. (#4467) - Removed the deprecated
go.opentelemetry.io/otel/sdk/metric/aggregation
package. (#4468) - Removed the deprecated internal packages in
go.opentelemetry.io/otel/exporters/otlp
and its sub-packages. (#4469) - Dropped guaranteed support for versions of Go less than 1.20. (#4481)
New Contributors
- @pkbhowmick made their first contribution in #4462
- @RangelReale made their first contribution in #4447
Full Changelog: v1.17.0...v1.18.0
Release v1.17.0/v0.40.0/v0.5.0
Added
- Export the
ManualReader
struct ingo.opentelemetry.io/otel/sdk/metric
. (#4244) - Export the
PeriodicReader
struct ingo.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 ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
. (#4272) - Export the
Exporter
struct ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4272) - The exporters in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric
now support theOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
environment variable. (#4287) - Add
WithoutCounterSuffixes
option ingo.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 thev1.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
andgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#4365) - Document the
Temporality
andAggregation
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 fromgo.opentelemetry.io/otel/sdk/metric/aggregation
togo.opentelemetry.io/otel/sdk/metric
. (#4435) - The exporters in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric
now support theOTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION
environment variable. (#4437) - Add the
NewAllowKeysFilter
andNewDenyKeysFilter
functions togo.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
andgo.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
ingo.opentelemetry.io/otel/sdk/metric
returns*ManualReader
instead ofReader
. (#4244)NewPeriodicReader
ingo.opentelemetry.io/otel/sdk/metric
returns*PeriodicReader
instead ofReader
. (#4244)- Count the Collect time in the
PeriodicReader
timeout ingo.opentelemetry.io/otel/sdk/metric
. (#4221) - The function
New
ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
returns*Exporter
instead of"go.opentelemetry.io/otel/sdk/metric".Exporter
. (#4272) - The function
New
ingo.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
Meter
s ingo.opentelemetry.io/otel/sdk/metric
to only register and collect instruments it created. (#4333) PeriodicReader.Shutdown
andPeriodicReader.ForceFlush
ingo.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 usev1.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 anOption
for"go.opentelemetry.io/otel/sdk/metric".NewManualReader
and"go.opentelemetry.io/otel/sdk/metric".NewPeriodicReader
. (#4346)
Removed
- Remove
Reader.RegisterProducer
ingo.opentelemetry.io/otel/metric
.
Use the addedWithProducer
option instead. (#4346) - Remove
Reader.ForceFlush
ingo.opentelemetry.io/otel/metric
.
Notice thatPeriodicReader.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
ingo.opentelemetry.io/otel/sdk/metric
that have empty criteria. (#4307) - Fix
"go.opentelemetry.io/otel/sdk/resource".WithHostID()
to not set an emptyhost.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 ifAggregationSelector
returnsnil
ingo.opentelemetry.io/otel/sdk/metric
. (#4350) - If a
Reader
'sAggregationSelector
returnsnil
orDefaultAggregation
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
ingo.opentelemetry.io/otel/sdk/trace
. (#4369) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal
fromgo.opentelemetry.io/otel/exporters/otlp/internal
using gotmpl. (#4397, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal
fromgo.opentelemetry.io/otel/exporters/otlp/internal
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal
using gotmpl. (#4404, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal
fromgo.opentelemetry.io/otel/exporters/otlp/internal
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal
using gotmpl. (#4407, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal
fromgo.opentelemetry.io/otel/exporters/otlp/internal
andgo.opentelemetry.io/otel/exporters/otlp/otlptrace/internal
using gotmpl. (#4400, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal
fromgo.opentelemetry.io/otel/exporters/otlp/internal
andgo.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
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#3925, #4395) - Do not append
_total
if the counter already has that suffix for the Prometheus exproter ingo.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.
Usego.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
orgo.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 togo.opentelemetry.io/otel/sdk/metric
instead. (#4435)
New Contributors
- @serdarkalayci made their first contribution in #4129
- @Jorropo made their first contributi...
Release v1.16.0/v0.39.0 -- Stable Metric API
This release contains the first stable release of the OpenTelemetry Go metric API. Our project stability guarantees now apply to the go.opentelemetry.io/otel/metric
package. See our versioning policy for more information about these stability guarantees.
What's Changed
Added
- The
go.opentelemetry.io/otel/semconv/v1.19.0
package. The package contains semantic conventions from thev1.19.0
version of the OpenTelemetry specification. (#3848) - The
go.opentelemetry.io/otel/semconv/v1.20.0
package. The package contains semantic conventions from thev1.20.0
version of the OpenTelemetry specification. (#4078)
Changed
- Use
strings.Cut()
instead ofstring.SplitN()
for better readability and memory use. (#4049)
Removed
- The deprecated
go.opentelemetry.io/otel/metric/instrument
package is removed. Usego.opentelemetry.io/otel/metric
instead. (#4055)
Fixed
- Fix build for BSD based systems in
go.opentelemetry.io/otel/sdk/resource
. (#4077)
New Contributors
- @tsloughter made their first contribution in #3848
- @Tijmen34 made their first contribution in #4074
- @ChillOrb made their first contribution in #3677
- @ChenX1993 made their first contribution in #4043
- @andrew-womeldorf made their first contribution in #4086
Full Changelog: v1.15.1...v1.16.0