Update opentelemetry-go monorepo to v1.27.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
go.opentelemetry.io/otel | require | minor |
v1.10.0 -> v1.27.0
|
go.opentelemetry.io/otel/trace | require | minor |
v1.10.0 -> v1.27.0
|
Release Notes
open-telemetry/opentelemetry-go (go.opentelemetry.io/otel)
v1.27.0
: /v0.49.0/v0.3.0
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
ingo.opentelemetry.io/otel/sdk/log/logtest
to facilitate testing exporter and processor implementations. (#5258) - Add
RecordFactory
ingo.opentelemetry.io/otel/log/logtest
to facilitate testing bridge implementations. (#5263) - The count of dropped records from the
BatchProcessor
ingo.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
orfloat64
synchronous gauge instrument can now be created from aMeter
. - All implementations of the API (
go.opentelemetry.io/otel/metric/noop
,go.opentelemetry.io/otel/sdk/metric
) are updated to support this instrument.
- An
- Add logs to
go.opentelemetry.io/otel/example/dice
. (#5349)
Changed
- The
Shutdown
method ofExporter
ingo.opentelemetry.io/otel/exporters/stdout/stdouttrace
ignores the context cancellation and always returnsnil
. (#5189) - The
ForceFlush
andShutdown
methods of the exporter returned byNew
ingo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
ignore the context cancellation and always returnnil
. (#5189) - Apply the value length limits to
Record
attributes ingo.opentelemetry.io/otel/sdk/log
. (#5230) - De-duplicate map attributes added to a
Record
ingo.opentelemetry.io/otel/sdk/log
. (#5230) -
go.opentelemetry.io/otel/exporters/stdout/stdoutlog
won't print timestamps whenWithoutTimestamps
option is set. (#5241) - The
go.opentelemetry.io/otel/exporters/stdout/stdoutlog
exporter won't printAttributeValueLengthLimit
andAttributeCountLimit
fields now, instead it prints theDroppedAttributes
field. (#5272) - Improved performance in the
Stringer
implementation ofgo.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
ingo.opentelemetry.io/otel/sdk/trace
will record links without span context if either non-emptyTraceState
or attributes are provided. (#5315) - Upgrade all dependencies of
go.opentelemetry.io/otel/semconv/v1.24.0
togo.opentelemetry.io/otel/semconv/v1.25.0
. (#5374)
Fixed
- Comparison of unordered maps for
go.opentelemetry.io/otel/log.KeyValue
andgo.opentelemetry.io/otel/log.Value
. (#5306) - Fix the empty output of
go.opentelemetry.io/otel/log.Value
ingo.opentelemetry.io/otel/exporters/stdout/stdoutlog
. (#5311) - Split the behavior of
Recorder
ingo.opentelemetry.io/otel/log/logtest
so it behaves as aLoggerProvider
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 globalLoggerProvider
ingo.opentelemetry.io/otel/log/global
with its schema URL. (#5375)
What's Changed
- sdk/log/logtest: Add RecordFactory by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/5258
- log/logtest: add Record Factory by @dmathieu in https://github.com/open-telemetry/opentelemetry-go/pull/5263
- stdoutlog: Do not print timestamps when WithoutTimestamps is set by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5241
- Add example for stdoutlog by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5242
- Remove context check on stdout exporters by @prasad-shirodkar in https://github.com/open-telemetry/opentelemetry-go/pull/5189
- Fix flaky test TestBufferExporter/Shutdown/ContextCancelled by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5261
- Add
otlploggrpc
exporter skeleton by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5246 - build(deps): bump lycheeverse/lychee-action from 1.9.3 to 1.10.0 by @dependabot in https://github.com/open-telemetry/opentelemetry-go/pull/5266
- chore: fix function names in comment by @dockercui in https://github.com/open-telemetry/opentelemetry-go/pull/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 https://github.com/open-telemetry/opentelemetry-go/pull/5265
- docs: update variable name in documentation by @codeboten in https://github.com/open-telemetry/opentelemetry-go/pull/5270
- Use empty resource when
RecordFactory.Resource
isnil
by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5264 - Truncate and de-duplicate log attribute values by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5230
- Add changelog entry for #5230 by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5277
- docs: Add otlploghttp package in exporters README.md by @arukiidou in https://github.com/open-telemetry/opentelemetry-go/pull/5274
- The stdoutlog exporter prints
DroppedAttributes
field instead ofLimit
s fields by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5272 - Test scope and resource transforms in
otlploghttp
by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5278 - Add README template to semconvkit by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5279
- Use docker compose in otel collector example by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5244
- [chore] dependabot updates Sun May 5 15:58:12 UTC 2024 by @opentelemetrybot in https://github.com/open-telemetry/opentelemetry-go/pull/5300
- build(deps): bump codecov/codecov-action from 4.3.0 to 4.3.1 by @dependabot in https://github.com/open-telemetry/opentelemetry-go/pull/5296
- docs: Update Go logs status to alpha in README.md by @arukiidou in https://github.com/open-telemetry/opentelemetry-go/pull/5299
- docs: Add logs exporters in README.md by @arukiidou in https://github.com/open-telemetry/opentelemetry-go/pull/5298
- Use reflect to construct a Record in
logtest
by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5275 - Fix type error in float64 instrument documentation by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5302
- Fix HistogramConfig documentation by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5301
- feat: opt for concatenation instead of using fmt.Sprintf by @moisesvega in https://github.com/open-telemetry/opentelemetry-go/pull/5286
- Emit attributes slices as their json representation by @dmathieu in https://github.com/open-telemetry/opentelemetry-go/pull/5159
- Refactor exemplars to not use generic argument by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5285
- Upgrade default go verison to 1.22.3 by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5314
- Log records dropped by the BatchProcessor by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5276
- Rename synchronous instrument names in global test by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5303
- chore: Configure Renovate by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5309
- chore(deps): update module github.com/golang/groupcache to v0.0.0-20210331224755-41bb18bfe9da by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5320
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240506185236-b8a5c65736ae by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5321
- chore(deps): update module gopkg.in/check.v1 to v1.0.0-20201130134442-10cb98267c6c by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5326
- chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240506185236-b8a5c65736ae by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5325
- fix(deps): update module golang.org/x/exp to v0.0.0-20240506185415-9bf2ced13842 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5327
- chore(deps): update module github.com/prometheus/common to v0.53.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5332
- chore(deps): update module golang.org/x/net to v0.25.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5335
- fix(deps): update module google.golang.org/protobuf to v1.34.1 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5328
- chore(deps): update module github.com/prometheus/procfs to v0.14.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5333
- chore(deps): update module github.com/cespare/xxhash/v2 to v2.3.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5330
- chore(deps): update module github.com/rogpeppe/go-internal to v1.12.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5334
- fix(deps): update module github.com/golangci/golangci-lint to v1.58.1 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5340
- Merge Span.AddLink tests by @perhapsmaple in https://github.com/open-telemetry/opentelemetry-go/pull/5115
- exporters/otlp/otlptrace: fix incorrect documentation by @kevinburkesegment in https://github.com/open-telemetry/opentelemetry-go/pull/5098
- Generate
internal/retry
inotlploggrpc
by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5313 - fix(deps): update module github.com/prometheus/client_golang to v1.19.1 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5341
- chore(deps): update jaegertracing/all-in-one docker tag to v1.57 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5329
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.100.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5337
- chore(deps): update prom/prometheus docker tag to v2.52.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5338
- Move Aneurysm9 to emeritus status by @Aneurysm9 in https://github.com/open-telemetry/opentelemetry-go/pull/5319
- Test metric aggregate times by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5323
- Fix empty log body printed by stdoutlog exporter by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5311
- Record links with empty span context by @amanakin in https://github.com/open-telemetry/opentelemetry-go/pull/5315
- Update
RELEASING.md
to obtain steps to verify the changes for contrib by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5284 - chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240509183442-62759503f434 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5345
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240509183442-62759503f434 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5344
- Support Delta & Cumulative temporality for LastValue aggregates by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5305
- sdk/log: Document how Processor and Exporter interfaces can be extended by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/5347
- Remove dependabot version updates by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5346
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240513163218-0867130af1f8 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5350
- chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240513163218-0867130af1f8 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5351
- chore(deps): update module github.com/prometheus/procfs to v0.15.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5352
- chore(deps): update codecov/codecov-action action to v4.4.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5353
- Add logs to dice example by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5349
- log: Fix comparison of unordered map values by @dmathieu in https://github.com/open-telemetry/opentelemetry-go/pull/5306
- fix(deps): update module google.golang.org/grpc to v1.64.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5354
- Fix logger provider var name in dice example by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5358
- chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240515191416-fc5f0ca64291 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5362
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240515191416-fc5f0ca64291 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5361
- chore(deps): update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.20.0 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5363
- [chore] Fix 2 places in log design doc by @yijiem in https://github.com/open-telemetry/opentelemetry-go/pull/5364
- [chore] Fix wrong type in DESIGN.md by @pellared in https://github.com/open-telemetry/opentelemetry-go/pull/5368
- Add the synchronous gauge to the metric API and SDK by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5304
- Collector example: add metrics by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5283
- Fix package prefix of error in otlploghttp by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5371
- Split log/logtest into a recorder and a logger by @dmathieu in https://github.com/open-telemetry/opentelemetry-go/pull/5365
- Identify logger with schemaURL in global logger provider by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5375
- Update all semconv use to v1.25.0 by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5374
- fix(deps): update module github.com/golangci/golangci-lint to v1.58.2 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5382
- chore(deps): update codecov/codecov-action action to v4.4.1 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5387
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240520151616-dc85e6b867a5 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5388
- chore(deps): update benchmark-action/github-action-benchmark action to v1.20.3 by @renovate in https://github.com/open-telemetry/opentelemetry-go/pull/5381
- Fix exported instrument kind const value change by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5385
- Release v1.27.0/v0.49.0/v0.3.0 by @MrAlias in https://github.com/open-telemetry/opentelemetry-go/pull/5392
New Contributors
- @prasad-shirodkar made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5189
- @dockercui made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5262
- @arukiidou made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5274
- @moisesvega made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5286
- @renovate made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5309
- @perhapsmaple made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5115
- @amanakin made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5315
- @yijiem made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5364
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.26.0...v1.27.0
v1.26.0
: /v0.48.0/v0.2.0-alpha
Added
- Add
Recorder
ingo.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 thev1.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: https://github.com/open-telemetry/opentelemetry-go/compare/v1.25.0...v1.26.0
v1.25.0
: /v0.47.0/v0.0.8/v0.1.0-alpha
Added
- Add
WithProxy
option ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4906) - Add
WithProxy
option ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp
. (#4906) - Add
AddLink
method to theSpan
interface ingo.opentelemetry.io/otel/trace
. (#5032) - The
Enabled
method is added to theLogger
interface ingo.opentelemetry.io/otel/log
. This method is used to notify users if a log record will be emitted or not. (#5071) - Add
SeverityUndefined
const
togo.opentelemetry.io/otel/log
. This value represents an unset severity level. (#5072) - Add
Empty
function ingo.opentelemetry.io/otel/log
to return aKeyValue
for an empty value. (#5076) - Add
go.opentelemetry.io/otel/log/global
to manage the globalLoggerProvider
. This package is provided with the anticipation that all functionality will be migrate togo.opentelemetry.io/otel
whengo.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 thego.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
exporters. (#5100) - Add
otel.scope.name
andotel.scope.version
tags to spans exported bygo.opentelemetry.io/otel/exporters/zipkin
. (#5108) - Add support for
AddLink
togo.opentelemetry.io/otel/bridge/opencensus
. (#5116) - Add
String
method toValue
andKeyValue
ingo.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
. Futuresemconv
packages will include metric semantic conventions as well. (#4528)
Changed
-
SpanFromContext
andSpanContextFromContext
ingo.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
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
now create a gRPC client in idle mode and with "dns" as the default resolver usinggrpc.NewClient
. (#5151) Because of thatWithDialOption
ignoresgrpc.WithBlock
,grpc.WithTimeout
, andgrpc.WithReturnConnectionError
. Notice thatgrpc.DialContext
which was used before is now deprecated.
Fixed
- Clarify the documentation about equivalence guarantees for the
Set
andDistinct
types ingo.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
- @tgolang made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5048
- @MickaelAlliel made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4906
- @s4s7 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5096
- @Kielek made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5108
- @q-cheng made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/5032
- @carrbs made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4880
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.24.0...v1.25.0
v1.24.0
: /v0.46.0/v0.0.1-alpha
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
- @kevinburkesegment made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4920
- @yizeng made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4947
- @ntriamme made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4945
- @ericayin made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4956
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.23.1...v1.24.0
v1.23.1
: /v0.45.2
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)
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 https://github.com/open-telemetry/opentelemetry-go/pull/4449
- @StLeoX made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4855
- @m-posluszny made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4827
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.22.0...v1.23.0
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)
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
- Do not parse non-protobuf responses in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#4719) - Do not parse non-protobuf responses in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#4719)
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)
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: https://github.com/open-telemetry/opentelemetry-go/compare/v1.18.0...v1.19.0
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 https://github.com/open-telemetry/opentelemetry-go/pull/4462
- @RangelReale made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4447
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.17.0...v1.18.0
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 https://github.com/open-telemetry/opentelemetry-go/pull/4129
- @Jorropo made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4226
- @hexdigest made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/3899
- @gkze made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4402
- @jaredjenkins made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4409
- @utezduyar made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4456
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.16.0...v1.17.0
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 https://github.com/open-telemetry/opentelemetry-go/pull/3848
- @Tijmen34 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4074
- @ChillOrb made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/3677
- @ChenX1993 made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4043
- @andrew-womeldorf made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4086
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.15.1...v1.16.0
v1.15.1
: /v0.38.1
What's Changed
Fixed
- Remove unused imports from
sdk/resource/host_id_bsd.go
which caused build failures. (#4040, #4041)
New Contributors
- @Achooo made their first contribution in https://github.com/open-telemetry/opentelemetry-go/pull/4041
Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.15.0...v1.15.1
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 measurements-
NewAddConfig
used to create a newAddConfig
-
AddOption
used to configure anAddConfig
-
- The
RecordConfig
used to hold configuration for recorded measurements-
NewRecordConfig
used to create a newRecordConfig
-
RecordOption
used to configure aRecordConfig
-
- The
ObserveConfig
used to hold configuration for observed measurements-
NewObserveConfig
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)
v1.14.0
: /v0.37.0/v0.0.4
Part of https://github.com/open-telemetry/opentelemetry-go/issues/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
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)
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
ingo.opentelemetry.io/otel/bridge/opentracing
is now deprecated. UseNewTracerProvider
instead. (#3116)
Removed
- The deprecated
go.opentelemetry.io/otel/sdk/metric/view
package is removed. (#3520) - The
InstrumentProvider
fromgo.opentelemetry.io/otel/sdk/metric/asyncint64
is removed. Use the new creation methods of theMeter
ingo.opentelemetry.io/otel/sdk/metric
instead. (#3530)- The
Counter
method is replaced byMeter.Int64ObservableCounter
- The
UpDownCounter
method is replaced byMeter.Int64ObservableUpDownCounter
- The
Gauge
method is replaced byMeter.Int64ObservableGauge
- The
- The
InstrumentProvider
fromgo.opentelemetry.io/otel/sdk/metric/asyncfloat64
is removed. Use the new creation methods of theMeter
ingo.opentelemetry.io/otel/sdk/metric
instead. (#3530)- The
Counter
method is replaced byMeter.Float64ObservableCounter
- The
UpDownCounter
method is replaced byMeter.Float64ObservableUpDownCounter
- The
Gauge
method is replaced byMeter.Float64ObservableGauge
- The
- The
InstrumentProvider
fromgo.opentelemetry.io/otel/sdk/metric/syncint64
is removed. Use the new creation methods of theMeter
ingo.opentelemetry.io/otel/sdk/metric
instead. (#3530)- The
Counter
method is replaced byMeter.Int64Counter
- The
UpDownCounter
method is replaced byMeter.Int64UpDownCounter
- The
Histogram
method is replaced byMeter.Int64Histogram
- The
- The
InstrumentProvider
fromgo.opentelemetry.io/otel/sdk/metric/syncfloat64
is removed. Use the new creation methods of theMeter
ingo.opentelemetry.io/otel/sdk/metric
instead. (#3530)- The
Counter
method is replaced byMeter.Float64Counter
- The
UpDownCounter
method is replaced byMeter.Float64UpDownCounter
- The
Histogram
method is replaced byMeter.Float64Histogram
- The
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 the
WithoutScopeInfo()
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)
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)
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)
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.