Releases: open-telemetry/opentelemetry-go
Releases · open-telemetry/opentelemetry-go
Release v1.11.2/0.34.0
Added
- The
WithView
Option
is added to thego.opentelemetry.io/otel/sdk/metric
package.
This option is used to configure the view(s) aMeterProvider
will use for allReader
s that are registered with it. (#3387) - Add Instrumentation Scope and Version as info metric and label in Prometheus exporter.
This can be disabled using theWithoutScopeInfo()
option added to that package.(#3273, #3357) - OTLP exporters now recognize: (#3363)
OTEL_EXPORTER_OTLP_INSECURE
OTEL_EXPORTER_OTLP_TRACES_INSECURE
OTEL_EXPORTER_OTLP_METRICS_INSECURE
OTEL_EXPORTER_OTLP_CLIENT_KEY
OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE
- The
View
type and relatedNewView
function to create a view according to the OpenTelemetry specification are added togo.opentelemetry.io/otel/sdk/metric
.
These additions are replacements for theView
type andNew
function fromgo.opentelemetry.io/otel/sdk/metric/view
. (#3459) - The
Instrument
andInstrumentKind
type are added togo.opentelemetry.io/otel/sdk/metric
.
These additions are replacements for theInstrument
andInstrumentKind
types fromgo.opentelemetry.io/otel/sdk/metric/view
. (#3459) - The
Stream
type is added togo.opentelemetry.io/otel/sdk/metric
to define a metric data stream a view will produce. (#3459) - The
AssertHasAttributes
allows instrument authors to test that datapoints returned have appropriate attributes. (#3487)
Changed
- The
"go.opentelemetry.io/otel/sdk/metric".WithReader
option no longer accepts views to associate with theReader
.
Instead, views are now registered directly with theMeterProvider
via the newWithView
option.
The views registered with theMeterProvider
apply to allReader
s. (#3387) - The
Temporality(view.InstrumentKind) metricdata.Temporality
andAggregation(view.InstrumentKind) aggregation.Aggregation
methods are added to the"go.opentelemetry.io/otel/sdk/metric".Exporter
interface. (#3260) - The
Temporality(view.InstrumentKind) metricdata.Temporality
andAggregation(view.InstrumentKind) aggregation.Aggregation
methods are added to the"go.opentelemetry.io/otel/exporters/otlp/otlpmetric".Client
interface. (#3260) - The
WithTemporalitySelector
andWithAggregationSelector
ReaderOption
s have been changed toManualReaderOption
s in thego.opentelemetry.io/otel/sdk/metric
package. (#3260) - The periodic reader in the
go.opentelemetry.io/otel/sdk/metric
package now uses the temporality and aggregation selectors from its configured exporter instead of accepting them as options. (#3260)
Fixed
- The
go.opentelemetry.io/otel/exporters/prometheus
exporter fixes duplicated_total
suffixes. (#3369) - Remove comparable requirement for
Reader
s. (#3387) - Cumulative metrics from the OpenCensus bridge (
go.opentelemetry.io/otel/bridge/opencensus
) are defined as monotonic sums, instead of non-monotonic. (#3389) - Asynchronous counters (
Counter
andUpDownCounter
) from the metric SDK now produce delta sums when configured with delta temporality. (#3398) - Exported
Status
codes in thego.opentelemetry.io/otel/exporters/zipkin
exporter are now exported as all upper case values. (#3340) Aggregation
s fromgo.opentelemetry.io/otel/sdk/metric
with no data are not exported. (#3394, #3436)- Reenabled Attribute Filters in the Metric SDK. (#3396)
- Asynchronous callbacks are only called if they are registered with at least one instrument that does not use drop aggragation. (#3408)
- Do not report empty partial-success responses in the
go.opentelemetry.io/otel/exporters/otlp
exporters. (#3438, #3432) - Handle partial success responses in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric
exporters. (#3162, #3440) - Prevent duplicate Prometheus description, unit, and type. (#3469)
- Prevents panic when using incorrect
attribute.Value.As[Type]Slice()
. (#3489)
Removed
- The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric.Client
interface is removed. (#3486) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric.New
function is removed. Use theotlpmetric[http|grpc].New
directly. (#3486)
Deprecated
- The
go.opentelemetry.io/otel/sdk/metric/view
package is deprecated.
UseInstrument
,InstrumentKind
,View
, andNewView
ingo.opentelemetry.io/otel/sdk/metric
instead. (#3476)
Release v1.11.1/v0.33.0
Added
- The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheus
registers with a Prometheus registerer on creation. By default, it will register with the default Prometheus default registerer. A non-default registerer can be used by passing theWithRegisterer
option. (#3239) - Added the
WithAggregationSelector
option to thego.opentelemetry.io/otel/exporters/prometheus
package to change the defaultAggregationSelector
used. (#3341) - The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheus
converts theResource
associated with metric exports into atarget_info
metric. (#3285)
Changed
- The
"go.opentelemetry.io/otel/exporters/prometheus".New
function is updated to return an error. It will return an error if the exporter fails to register with Prometheus. (#3239)
Fixed
- The URL-encoded values from the
OTEL_RESOURCE_ATTRIBUTES
environment variable are decoded. (#2963) - The
baggage.NewMember
function decodes thevalue
parameter instead of directly using it. This fixes the implementation to be compliant with the W3C specification. (#3226) - Slice attributes of the
attribute
package are now comparable based on their value, not instance. (#3108 #3252) - The
Shutdown
andForceFlush
methods of the"go.opentelemetry.io/otel/sdk/trace".TraceProvider
no longer return an error when no processor is registered. (#3268) - The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheus
cumulatively sums histogram buckets. (#3281) - The sum of each histogram data point is now uniquely exported by the
go.opentelemetry.io/otel/exporters/otlpmetric
exporters. (#3284, #3293) - Recorded values for asynchronous counters (
Counter
andUpDownCounter
) are interpreted as exact, not incremental, sum values by the metric SDK. (#3350, #3278) UpDownCounters
are now correctly output as Prometheus gauges in thego.opentelemetry.io/otel/exporters/prometheus
exporter. (#3358)- The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheus
no longer describes the metrics it will send to Prometheus on startup. Instead the exporter is defined as an "unchecked" collector for Prometheus. This fixes thereader is not registered
warning currently emitted on startup. (#3291 #3342) - The
go.opentelemetry.io/otel/exporters/prometheus
exporter now correctly adds_total
suffixes to counter metrics. (#3360) - The
go.opentelemetry.io/otel/exporters/prometheus
exporter now adds a unit suffix to metric names. This can be disabled using theWithoutUnits()
option added to that package. (#3352)
Release v1.11.0/v0.32.3
Retracts the v0.32.2
version of go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc
and go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp
given they include unresolvable dependencies.
Added
- Add default User-Agent header to OTLP exporter requests (
go.opentelemetry.io/otel/exporters/otlptrace/otlptracegrpc
andgo.opentelemetry.io/otel/exporters/otlptrace/otlptracehttp
). (#3261)
Changed
span.SetStatus
has been updated such that calls that lower the status are now no-ops. (#3214)- Upgrade
golang.org/x/sys/unix
fromv0.0.0-20210423185535-09eb48e85fd7
tov0.0.0-20220919091848-fb04ddd9f9c8
.
This addresses GO-2022-0493. (#3235)
Release v0.32.2 -- Metric SDK (Alpha)
Added
- Added an example of using metric views to customize instruments. (#3177)
- Add default User-Agent header to OTLP exporter requests (
go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp
). (#3261)
Changed
- Flush pending measurements with the
PeriodicReader
in thego.opentelemetry.io/otel/sdk/metric
whenForceFlush
orShutdown
are called. (#3220) - Update histogram default bounds to match the requirements of the latest specification. (#3222)
Fixed
- Use default view if instrument does not match any registered view of a reader. (#3224, #3237)
- Return the same instrument every time a user makes the exact same instrument creation call. (#3229, #3251)
- Return the existing instrument when a view transforms a creation call to match an existing instrument. (#3240, #3251)
- Log a warning when a conflicting instrument (e.g. description, unit, data-type) is created instead of returning an error. (#3251)
- The OpenCensus bridge no longer sends empty batches of metrics. (#3263)
Release v0.32.1 -- Metric SDK (Alpha)
Changed
- The Prometheus exporter sanitizes OpenTelemetry instrument names when exporting. Invalid characters are replaced with
_
. (#3212)
Added
- The metric portion of the OpenCensus bridge (
go.opentelemetry.io/otel/bridge/opencensus
) has been reintroduced. (#3192) - The OpenCensus bridge example (
go.opentelemetry.io/otel/example/opencensus
) has been reintroduced. (#3206)
Fixed
Release v0.32.0 -- Metric SDK (Alpha)
Changed
- The metric SDK in
go.opentelemetry.io/otel/sdk/metric
is completely refactored to comply with the OpenTelemetry specification. Please see the package documentation for how the new SDK is initialized and configured. (#3175)
Removed
- The metric portion of the OpenCensus bridge (
go.opentelemetry.io/otel/bridge/opencensus
) has been removed. A new bridge compliant with the revised metric SDK will be added back in a future release. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/aggregator/aggregatortest
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/aggregator/histogram
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/aggregator/sum
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/aggregator
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/controller/basic
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/controller/controllertest
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/controller/time
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/export/aggregation
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/export
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/metrictest
package is removed. A replacement package that supports the new metric SDK will be added back in a future release. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/number
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/processor/basic
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/processor/processortest
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/processor/reducer
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/registry
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/sdkapi
package is removed, see the new metric SDK. (#3175) - The
go.opentelemetry.io/otel/sdk/metric/selector/simple
package is removed, see the new metric SDK. (#3175) - The
"go.opentelemetry.io/otel/sdk/metric".ErrUninitializedInstrument
variable was removed. (#3175) - The
"go.opentelemetry.io/otel/sdk/metric".ErrBadInstrument
variable was removed. (#3175) - The
"go.opentelemetry.io/otel/sdk/metric".Accumulator
type was removed, see theMeterProvider
in the new metric SDK. (#3175) - The
"go.opentelemetry.io/otel/sdk/metric".NewAccumulator
function was removed, seeNewMeterProvider
in the new metric SDK. (#3175) - The deprecated
"go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets
function was removed. (#3175)
Release v1.10.0
Added
- Support Go 1.19. (#3077)
Include compatibility testing and document support. (#3077) - Support the OTLP ExportTracePartialSuccess response; these are passed to the registered error handler. (#3106)
- Upgrade go.opentelemetry.io/proto/otlp from v0.18.0 to v0.19.0 (#3107)
Changed
- Fix misidentification of OpenTelemetry
SpanKind
in OpenTracing bridge (go.opentelemetry.io/otel/bridge/opentracing
). (#3096) - Attempting to start a span with a nil
context
will no longer cause a panic. (#3110) - All exporters will be shutdown even if one reports an error (#3091)
- Ensure valid UTF-8 when truncating over-length attribute values. (#3156)
Release v1.9.0/v0.0.3
Added
- Add support for Schema Files format 1.1.x (metric "split" transform) with the new
go.opentelemetry.io/otel/schema/v1.1
package. (#2999) - Add the
go.opentelemetry.io/otel/semconv/v1.11.0
package.
The package contains semantic conventions from thev1.11.0
version of the OpenTelemetry specification. (#3009) - Add the
go.opentelemetry.io/otel/semconv/v1.12.0
package.
The package contains semantic conventions from thev1.12.0
version of the OpenTelemetry specification. (#3010) - Add the
http.method
attribute to HTTP server metric from allgo.opentelemetry.io/otel/semconv/*
packages. (#3018)
Fixed
- Invalid warning for context setup being deferred in
go.opentelemetry.io/otel/bridge/opentracing
package. (#3029)
Release v1.8.0/v0.31.0
1.8.0/0.31.0 - 2022-07-08
Added
- Add support for
opentracing.TextMap
format in theInject
andExtract
methods
of the"go.opentelemetry.io/otel/bridge/opentracing".BridgeTracer
type. (#2911)
Changed
- The
crosslink
make target has been updated to use thego.opentelemetry.io/build-tools/crosslink
package. (#2886) - In the
go.opentelemetry.io/otel/sdk/instrumentation
package renameLibrary
toScope
and aliasLibrary
asScope
(#2976) - Move metric no-op implementation form
nonrecording
tometric
package. (#2866)
Removed
- Support for go1.16. Support is now only for go1.17 and go1.18 (#2917)
Deprecated
- The
Library
struct in thego.opentelemetry.io/otel/sdk/instrumentation
package is deprecated.
Use the equivalentScope
struct instead. (#2977) - The
ReadOnlySpan.InstrumentationLibrary
method from thego.opentelemetry.io/otel/sdk/trace
package is deprecated.
Use the equivalentReadOnlySpan.InstrumentationScope
method instead. (#2977)
Release v1.7.0/v0.30.0
Added
- Add the
go.opentelemetry.io/otel/semconv/v1.8.0
package.
The package contains semantic conventions from thev1.8.0
version of the OpenTelemetry specification. (#2763) - Add the
go.opentelemetry.io/otel/semconv/v1.9.0
package.
The package contains semantic conventions from thev1.9.0
version of the OpenTelemetry specification. (#2792) - Add the
go.opentelemetry.io/otel/semconv/v1.10.0
package.
The package contains semantic conventions from thev1.10.0
version of the OpenTelemetry specification. (#2842) - Added an in-memory exporter to metrictest to aid testing with a full SDK. (#2776)
Fixed
- Globally delegated instruments are unwrapped before delegating asynchronous callbacks. (#2784)
- Remove import of
testing
package in non-tests builds of thego.opentelemetry.io/otel
package. (#2786)
Changed
- The
WithLabelEncoder
option from thego.opentelemetry.io/otel/exporters/stdout/stdoutmetric
package is renamed toWithAttributeEncoder
. (#2790) - The
LabelFilterSelector
interface fromgo.opentelemetry.io/otel/sdk/metric/processor/reducer
is renamed toAttributeFilterSelector
.
The method included in the renamed interface also changed fromLabelFilterFor
toAttributeFilterFor
. (#2790) - The
Metadata.Labels
method from thego.opentelemetry.io/otel/sdk/metric/export
package is renamed toMetadata.Attributes
.
Consequentially, theRecord
type from the same package also has had the embedded method renamed. (#2790)
Deprecated
- The
Iterator.Label
method in thego.opentelemetry.io/otel/attribute
package is deprecated.
Use the equivalentIterator.Attribute
method instead. (#2790) - The
Iterator.IndexedLabel
method in thego.opentelemetry.io/otel/attribute
package is deprecated.
Use the equivalentIterator.IndexedAttribute
method instead. (#2790) - The
MergeIterator.Label
method in thego.opentelemetry.io/otel/attribute
package is deprecated.
Use the equivalentMergeIterator.Attribute
method instead. (#2790)