Releases: open-telemetry/opentelemetry-go
Release v1.15.1/v0.38.1
Release v1.15.0/v0.38.0
Added
- The
go.opentelemetry.io/otel/metric/embedded
package. (#3916) - The
Version
function togo.opentelemetry.io/otel/sdk
to return the SDK version. (#3949) - Add a
WithNamespace
option togo.opentelemetry.io/otel/exporters/prometheus
to allow users to prefix metrics with a namespace. (#3970) - The following configuration types were added to
go.opentelemetry.io/otel/metric/instrument
to be used in the configuration of measurement methods. (#3971)- The
AddConfig
used to hold configuration for addition measurementsNewAddConfig
used to create a newAddConfig
AddOption
used to configure anAddConfig
- The
RecordConfig
used to hold configuration for recorded measurementsNewRecordConfig
used to create a newRecordConfig
RecordOption
used to configure aRecordConfig
- The
ObserveConfig
used to hold configuration for observed measurementsNewObserveConfig
used to create a newObserveConfig
ObserveOption
used to configure anObserveConfig
- The
WithAttributeSet
andWithAttributes
are added togo.opentelemetry.io/otel/metric/instrument
. They return an option used during a measurement that defines the attribute Set associated with the measurement. (#3971)- The
Version
function togo.opentelemetry.io/otel/exporters/otlp/otlpmetric
to return the OTLP metrics client version. (#3956) - The
Version
function togo.opentelemetry.io/otel/exporters/otlp/otlptrace
to return the OTLP trace client version. (#3956)
Changed
- The
Extrema
ingo.opentelemetry.io/otel/sdk/metric/metricdata
is redefined with a generic argument of[N int64 | float64]
. (#3870) - Update all exported interfaces from
go.opentelemetry.io/otel/metric
to embed their corresponding interface fromgo.opentelemetry.io/otel/metric/embedded
. This adds an implementation requirement to set the interface default behavior for unimplemented methods. (#3916) - Move No-Op implementation from
go.opentelemetry.io/otel/metric
into its own packagego.opentelemetry.io/otel/metric/noop
. (#3941)metric.NewNoopMeterProvider
is replaced withnoop.NewMeterProvider
- Add all the methods from
"go.opentelemetry.io/otel/trace".SpanContext
tobridgeSpanContext
by embeddingotel.SpanContext
inbridgeSpanContext
. (#3966) - Wrap
UploadMetrics
error ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/
to improve error message when encountering generic grpc errors. (#3974) - The measurement methods for all instruments in
go.opentelemetry.io/otel/metric/instrument
accept an option instead of the variadic"go.opentelemetry.io/otel/attribute".KeyValue
. (#3971)- The
Int64Counter.Add
method now accepts...AddOption
- The
Float64Counter.Add
method now accepts...AddOption
- The
Int64UpDownCounter.Add
method now accepts...AddOption
- The
Float64UpDownCounter.Add
method now accepts...AddOption
- The
Int64Histogram.Record
method now accepts...RecordOption
- The
Float64Histogram.Record
method now accepts...RecordOption
- The
Int64Observer.Observe
method now accepts...ObserveOption
- The
Float64Observer.Observe
method now accepts...ObserveOption
- The
- The
Observer
methods ingo.opentelemetry.io/otel/metric
accept an option instead of the variadic"go.opentelemetry.io/otel/attribute".KeyValue
. (#3971)- The
Observer.ObserveInt64
method now accepts...ObserveOption
- The
Observer.ObserveFloat64
method now accepts...ObserveOption
- The
- Move global metric back to
go.opentelemetry.io/otel/metric/global
fromgo.opentelemetry.io/otel
. (#3986)
Fixed
TracerProvider
allows callingTracer()
while it's shutting down. It used to deadlock. (#3924)- Use the SDK version for the Telemetry SDK resource detector in
go.opentelemetry.io/otel/sdk/resource
. (#3949) - Fix a data race in
SpanProcessor
returned byNewSimpleSpanProcessor
ingo.opentelemetry.io/otel/sdk/trace
. (#3951) - Automatically figure out the default aggregation with
aggregation.Default
. (#3967)
Deprecated
- The
go.opentelemetry.io/otel/metric/instrument
package is deprecated. Use the equivalent types added togo.opentelemetry.io/otel/metric
instead. (#4018)
Release v1.15.0-rc.2/v0.38.0-rc.2
This is a release candidate for the v1.15.0/v0.38.0 release. That release will include the v1
release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. See our versioning policy for more information about these stability guarantees.
Added
- The
WithHostID
option togo.opentelemetry.io/otel/sdk/resource
. (#3812) - The
WithoutTimestamps
option togo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
to sets all timestamps to zero. (#3828) - The new
Exemplar
type is added togo.opentelemetry.io/otel/sdk/metric/metricdata
. Both theDataPoint
andHistogramDataPoint
types from that package have a new field ofExemplars
containing the sampled exemplars for their timeseries. (#3849) - Configuration for each metric instrument in
go.opentelemetry.io/otel/sdk/metric/instrument
. (#3895) - The internal logging introduces a warning level verbosity equal to
V(1)
. (#3900)
Changed
- Optimize memory allocation when creation a new
Set
usingNewSet
orNewSetWithFiltered
ingo.opentelemetry.io/otel/attribute
. (#3832) - Optimize memory allocation when creation new metric instruments in
go.opentelemetry.io/otel/sdk/metric
. (#3832) - Avoid creating new objects on all calls to
WithDeferredSetup
andSkipContextSetup
in OpenTracing bridge. (#3833) - The
New
andDetect
functions fromgo.opentelemetry.io/otel/sdk/resource
return errors that wrap underlying errors instead of just containing the underlying error strings. (#3844) - Both the
Histogram
andHistogramDataPoint
are redefined with a generic argument of[N int64 | float64]
ingo.opentelemetry.io/otel/sdk/metric/metricdata
. (#3849) - The metric
Export
interface fromgo.opentelemetry.io/otel/sdk/metric
accepts a*ResourceMetrics
instead ofResourceMetrics
. (#3853) - Rename
Asynchronous
toObservable
ingo.opentelemetry.io/otel/metric/instrument
. (#3892) - Rename
Int64ObserverOption
toInt64ObservableOption
ingo.opentelemetry.io/otel/metric/instrument
. (#3895) - Rename
Float64ObserverOption
toFloat64ObservableOption
ingo.opentelemetry.io/otel/metric/instrument
. (#3895) - The internal logging changes the verbosity level of info to
V(4)
, the verbosity level of debug toV(8)
. (#3900)
Fixed
TracerProvider
consistently doesn't allow to register aSpanProcessor
after shutdown. (#3845)
Removed
- The deprecated
go.opentelemetry.io/otel/metric/global
package is removed. (#3829) - The unneeded
Synchronous
interface ingo.opentelemetry.io/otel/metric/instrument
was removed. (#3892) - The
Float64ObserverConfig
andNewFloat64ObserverConfig
ingo.opentelemetry.io/otel/sdk/metric/instrument
. Use the addedfloat64
instrument configuration instead. (#3895) - The
Int64ObserverConfig
andNewInt64ObserverConfig
ingo.opentelemetry.io/otel/sdk/metric/instrument
. Use the addedint64
instrument configuration instead. (#3895) - The
NewNoopMeter
function ingo.opentelemetry.io/otel/metric
, useNewMeterProvider().Meter("")
instead. (#3893)
Release v1.15.0-rc.1/v0.38.0-rc.1
This is a release candidate for the v1.15.0/v0.38.0
release. That release will include the v1
release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. See our versioning policy for more information about these stability guarantees.
This release drops the compatibility guarantee of Go 1.18.
Added
- Support global
MeterProvider
ingo.opentelemetry.io/otel
. (#3818)- Use
Meter
for ametric.Meter
from the globalmetric.MeterProvider
. - Use
GetMeterProivder
for a globalmetric.MeterProvider
. - Use
SetMeterProivder
to set the globalmetric.MeterProvider
.
- Use
Changed
- Dropped compatibility testing for Go 1.18. The project no longer guarantees support for this version of Go. (#3813)
Fixed
- Handle empty environment variable as it they were not set. (#3764)
Deprecated
- The
go.opentelemetry.io/otel/metric/global
package is deprecated. Usego.opentelemetry.io/otel
instead. (#3818)
Removed
- The deprecated
go.opentelemetry.io/otel/metric/unit
package is removed. (#3814)
Release v1.14.0/v0.37.0/v0.0.4
Part of #3809
This release is the last to support Go 1.18.
The next release will require at least Go 1.19.
Added
- The
event
type semantic conventions are added togo.opentelemetry.io/otel/semconv/v1.17.0
. (#3697) - Support Go 1.20. (#3693)
- The
go.opentelemetry.io/otel/semconv/v1.18.0
package.
The package contains semantic conventions from thev1.18.0
version of the OpenTelemetry specification. (#3719)- The following
const
renames fromgo.opentelemetry.io/otel/semconv/v1.17.0
are included:OtelScopeNameKey
->OTelScopeNameKey
OtelScopeVersionKey
->OTelScopeVersionKey
OtelLibraryNameKey
->OTelLibraryNameKey
OtelLibraryVersionKey
->OTelLibraryVersionKey
OtelStatusCodeKey
->OTelStatusCodeKey
OtelStatusDescriptionKey
->OTelStatusDescriptionKey
OtelStatusCodeOk
->OTelStatusCodeOk
OtelStatusCodeError
->OTelStatusCodeError
- The following
func
renames fromgo.opentelemetry.io/otel/semconv/v1.17.0
are included:OtelScopeName
->OTelScopeName
OtelScopeVersion
->OTelScopeVersion
OtelLibraryName
->OTelLibraryName
OtelLibraryVersion
->OTelLibraryVersion
OtelStatusDescription
->OTelStatusDescription
- The following
- A
IsSampled
method is added to theSpanContext
implementation ingo.opentelemetry.io/otel/bridge/opentracing
to expose the span sampled state.
See the README for more information. (#3570) - The
WithInstrumentationAttributes
option togo.opentelemetry.io/otel/metric
. (#3738) - The
WithInstrumentationAttributes
option togo.opentelemetry.io/otel/trace
. (#3739) - The following environment variables are supported by the periodic
Reader
ingo.opentelemetry.io/otel/sdk/metric
. (#3763)OTEL_METRIC_EXPORT_INTERVAL
sets the time between collections and exports.OTEL_METRIC_EXPORT_TIMEOUT
sets the timeout an export is attempted.
Changed
- Fall-back to
TextMapCarrier
when it's notHttpHeader
s ingo.opentelemetry.io/otel/bridge/opentracing
. (#3679) - The
Collect
method of the"go.opentelemetry.io/otel/sdk/metric".Reader
interface is updated to accept themetricdata.ResourceMetrics
value the collection will be made into.
This change is made to enable memory reuse by SDK users. (#3732) - The
WithUnit
option ingo.opentelemetry.io/otel/sdk/metric/instrument
is updated to accept astring
for the unit value. (#3776)
Fixed
- Ensure
go.opentelemetry.io/otel
does not use generics. (#3723, #3725) - Multi-reader
MeterProvider
s now export metrics for all readers, instead of just the first reader. (#3720, #3724) - Remove use of deprecated
"math/rand".Seed
ingo.opentelemetry.io/otel/example/prometheus
. (#3733) - Do not silently drop unknown schema data with
Parse
ingo.opentelemetry.io/otel/schema/v1.1
. (#3743) - Data race issue in OTLP exporter retry mechanism. (#3755, #3756)
- Wrapping empty errors when exporting in
go.opentelemetry.io/otel/sdk/metric
. (#3698, #3772) - Incorrect "all" and "resource" definition for schema files in
go.opentelemetry.io/otel/schema/v1.1
. (#3777)
Deprecated
- The
go.opentelemetry.io/otel/metric/unit
package is deprecated.
Use the equivalent unit string instead. (#3776)- Use
"1"
instead ofunit.Dimensionless
- Use
"By"
instead ofunit.Bytes
- Use
"ms"
instead ofunit.Milliseconds
- Use
Release v1.13.0/v0.36.0
1.13.0/0.36.0 2023-02-07
Added
- Attribute
KeyValue
creations functions togo.opentelemetry.io/otel/semconv/v1.17.0
for all non-enum semantic conventions.
These functions ensure semantic convention type correctness. (#3675)
Fixed
- Removed the
http.target
attribute from being added byServerRequest
in the following packages. (#3687)go.opentelemetry.io/otel/semconv/v1.13.0/httpconv
go.opentelemetry.io/otel/semconv/v1.14.0/httpconv
go.opentelemetry.io/otel/semconv/v1.15.0/httpconv
go.opentelemetry.io/otel/semconv/v1.16.0/httpconv
go.opentelemetry.io/otel/semconv/v1.17.0/httpconv
Removed
- The deprecated
go.opentelemetry.io/otel/metric/instrument/asyncfloat64
package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/asyncint64
package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/syncfloat64
package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/syncint64
package is removed. (#3631)
Release v1.12.0/v0.35.0
Added
- The
WithInt64Callback
option togo.opentelemetry.io/otel/metric/instrument
. This options is used to configureint64
Observer callbacks during their creation. (#3507) - The
WithFloat64Callback
option togo.opentelemetry.io/otel/metric/instrument
. This options is used to configurefloat64
Observer callbacks during their creation. (#3507) - The
Producer
interface andReader.RegisterProducer(Producer)
togo.opentelemetry.io/otel/sdk/metric
. These additions are used to enable external metric Producers. (#3524) - The
Callback
function type togo.opentelemetry.io/otel/metric
. This new named function type is registered with aMeter
. (#3564) - The
go.opentelemetry.io/otel/semconv/v1.13.0
package. The package contains semantic conventions from thev1.13.0
version of the OpenTelemetry specification. (#3499)- The
EndUserAttributesFromHTTPRequest
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is merged intoClientRequest
andServerRequest
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
HTTPAttributesFromHTTPStatusCode
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is merged intoClientResponse
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
HTTPClientAttributesFromHTTPRequest
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is replaced byClientRequest
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
HTTPServerAttributesFromHTTPRequest
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is replaced byServerRequest
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
HTTPServerMetricAttributesFromHTTPRequest
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is replaced byServerRequest
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
NetAttributesFromHTTPRequest
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is split intoTransport
ingo.opentelemetry.io/otel/semconv/v1.13.0/netconv
andClientRequest
orServerRequest
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
SpanStatusFromHTTPStatusCode
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is replaced byClientStatus
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
SpanStatusFromHTTPStatusCodeAndSpanKind
function ingo.opentelemetry.io/otel/semconv/v1.12.0
is split intoClientStatus
andServerStatus
ingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv
. - The
Client
function is included ingo.opentelemetry.io/otel/semconv/v1.13.0/netconv
to generate attributes for anet.Conn
. - The
Server
function is included ingo.opentelemetry.io/otel/semconv/v1.13.0/netconv
to generate attributes for anet.Listener
.
- The
- The
go.opentelemetry.io/otel/semconv/v1.14.0
package. The package contains semantic conventions from thev1.14.0
version of the OpenTelemetry specification. (#3566) - The
go.opentelemetry.io/otel/semconv/v1.15.0
package. The package contains semantic conventions from thev1.15.0
version of the OpenTelemetry specification. (#3578) - The
go.opentelemetry.io/otel/semconv/v1.16.0
package. The package contains semantic conventions from thev1.16.0
version of the OpenTelemetry specification. (#3579) - Metric instruments to
go.opentelemetry.io/otel/metric/instrument
. These instruments are use as replacements of the depreactedgo.opentelemetry.io/otel/metric/instrument/{asyncfloat64,asyncint64,syncfloat64,syncint64}
packages.(#3575, #3586)Float64ObservableCounter
replaces theasyncfloat64.Counter
Float64ObservableUpDownCounter
replaces theasyncfloat64.UpDownCounter
Float64ObservableGauge
replaces theasyncfloat64.Gauge
Int64ObservableCounter
replaces theasyncint64.Counter
Int64ObservableUpDownCounter
replaces theasyncint64.UpDownCounter
Int64ObservableGauge
replaces theasyncint64.Gauge
Float64Counter
replaces thesyncfloat64.Counter
Float64UpDownCounter
replaces thesyncfloat64.UpDownCounter
Float64Histogram
replaces thesyncfloat64.Histogram
Int64Counter
replaces thesyncint64.Counter
Int64UpDownCounter
replaces thesyncint64.UpDownCounter
Int64Histogram
replaces thesyncint64.Histogram
NewTracerProvider
togo.opentelemetry.io/otel/bridge/opentracing
. This is used to createWrapperTracer
instances from aTracerProvider
. (#3116)- The
Extrema
type togo.opentelemetry.io/otel/sdk/metric/metricdata
. This type is used to represent min/max values and still be able to distinguish unset and zero values. (#3487) - The
go.opentelemetry.io/otel/semconv/v1.17.0
package. The package contains semantic conventions from thev1.17.0
version of the OpenTelemetry specification. (#3599)
Changed
- Jaeger and Zipkin exporter use
github.com/go-logr/logr
as the logging interface, and add theWithLogr
option. (#3497, #3500) - Instrument configuration in
go.opentelemetry.io/otel/metric/instrument
is split into specific options and confguration based on the instrument type. (#3507)- Use the added
Int64Option
type to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/syncint64
. - Use the added
Float64Option
type to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/syncfloat64
. - Use the added
Int64ObserverOption
type to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/asyncint64
. - Use the added
Float64ObserverOption
type to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/asyncfloat64
.
- Use the added
- Return a
Registration
from theRegisterCallback
method of aMeter
in thego.opentelemetry.io/otel/metric
package. ThisRegistration
can be used to unregister callbacks. (#3522) - Global error handler uses an atomic value instead of a mutex. (#3543)
- Add
NewMetricProducer
togo.opentelemetry.io/otel/bridge/opencensus
, which can be used to pass OpenCensus metrics to an OpenTelemetry Reader. (#3541) - Global logger uses an atomic value instead of a mutex. (#3545)
- The
Shutdown
method of the"go.opentelemetry.io/otel/sdk/trace".TracerProvider
releases all computational resources when called the first time. (#3551) - The
Sampler
returned fromTraceIDRatioBased
go.opentelemetry.io/otel/sdk/trace
now uses the rightmost bits for sampling decisions. This fixes random sampling when using ID generators likexray.IDGenerator
and increasing parity with other language implementations. (#3557) - Errors from
go.opentelemetry.io/otel/exporters/otlp/otlptrace
exporters are wrapped in erros identifying their signal name. Existing users of the exporters attempting to identify specific errors will need to useerrors.Unwrap()
to get the underlying error. (#3516) - Exporters from
go.opentelemetry.io/otel/exporters/otlp
will print the final retryable error message when attempts to retry time out. (#3514) - The instrument kind names in
go.opentelemetry.io/otel/sdk/metric
are updated to match the API. (#3562)InstrumentKindSyncCounter
is renamed toInstrumentKindCounter
InstrumentKindSyncUpDownCounter
is renamed toInstrumentKindUpDownCounter
InstrumentKindSyncHistogram
is renamed toInstrumentKindHistogram
InstrumentKindAsyncCounter
is renamed toInstrumentKindObservableCounter
InstrumentKindAsyncUpDownCounter
is renamed toInstrumentKindObservableUpDownCounter
InstrumentKindAsyncGauge
is renamed toInstrumentKindObservableGauge
- The
RegisterCallback
method of theMeter
ingo.opentelemetry.io/otel/metric
changed.- The named
Callback
replaces the inline function parameter. (#3564) Callback
is required to return an error. (#3576)Callback
accepts the addedObserver
parameter added. This new parameter is used byCallback
implementations to observe values for asynchronous instruments instead of calling theObserve
method of the instrument directly. (#3584)- The slice of
instrument.Asynchronous
is now passed as a variadic argument. (#3587)
- The named
- The exporter from
go.opentelemetry.io/otel/exporters/zipkin
is updated to use thev1.16.0
version of semantic conventions. This means it no longer uses the removednet.peer.ip
orhttp.host
attributes to determine the remote endpoint. Instead it uses thenet.sock.peer
attributes. (#3581) - The
Min
andMax
fields of theHistogramDataPoint
ingo.opentelemetry.io/otel/sdk/metric/metricdata
are now defined with the addedExtrema
type instead of a*float64
. (#3487)
Fixed
- Asynchronous instruments that use sum aggregators and attribute filters correctly add values from equivalent attribute sets that have been filtered. (#3439, #3549)
- The
RegisterCallback
method of theMeter
fromgo.opentelemetry.io/otel/sdk/metric
only registers a callback for instruments created by that meter. Trying to register a callback with instruments from a different meter will result in an error being returned. (#3584)
Deprecated
- The
NewMetricExporter
ingo.opentelemetry.io/otel/bridge/opencensus
is deprecated. UseNewMetricProducer
instead. (#3541) - The
go.opentelemetry.io/otel/metric/instrument/asyncfloat64
package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrument
instead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/asyncint64
package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrument
instead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/syncfloat64
package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrument
instead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/syncint64
package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrument
instead. (#3575) - The
NewWrappedTracerProvider
in `go.opentelemetry.io/otel/bridge/opentr...
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)