Update opentelemetry-go monorepo to v1.27.0 - abandoned
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/exporters/zipkin | require | minor |
v1.9.0 -> v1.27.0
|
| go.opentelemetry.io/otel/sdk | 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
RecordFactoryingo.opentelemetry.io/otel/sdk/log/logtestto facilitate testing exporter and processor implementations. (#5258) - Add
RecordFactoryingo.opentelemetry.io/otel/log/logtestto facilitate testing bridge implementations. (#5263) - The count of dropped records from the
BatchProcessoringo.opentelemetry.io/otel/sdk/logis logged. (#5276) - Add metrics in the
otel-collectorexample. (#5283) - Add the synchronous gauge instrument to
go.opentelemetry.io/otel/metric. (#5304)- An
int64orfloat64synchronous 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
Shutdownmethod ofExporteringo.opentelemetry.io/otel/exporters/stdout/stdouttraceignores the context cancellation and always returnsnil. (#5189) - The
ForceFlushandShutdownmethods of the exporter returned byNewingo.opentelemetry.io/otel/exporters/stdout/stdoutmetricignore the context cancellation and always returnnil. (#5189) - Apply the value length limits to
Recordattributes ingo.opentelemetry.io/otel/sdk/log. (#5230) - De-duplicate map attributes added to a
Recordingo.opentelemetry.io/otel/sdk/log. (#5230) -
go.opentelemetry.io/otel/exporters/stdout/stdoutlogwon't print timestamps whenWithoutTimestampsoption is set. (#5241) - The
go.opentelemetry.io/otel/exporters/stdout/stdoutlogexporter won't printAttributeValueLengthLimitandAttributeCountLimitfields now, instead it prints theDroppedAttributesfield. (#5272) - Improved performance in the
Stringerimplementation ofgo.opentelemetry.io/otel/baggage.Memberby reducing the number of allocations. (#5286) - Set the start time for last-value aggregates in
go.opentelemetry.io/otel/sdk/metric. (#5305) - The
Spaningo.opentelemetry.io/otel/sdk/tracewill record links without span context if either non-emptyTraceStateor attributes are provided. (#5315) - Upgrade all dependencies of
go.opentelemetry.io/otel/semconv/v1.24.0togo.opentelemetry.io/otel/semconv/v1.25.0. (#5374)
Fixed
- Comparison of unordered maps for
go.opentelemetry.io/otel/log.KeyValueandgo.opentelemetry.io/otel/log.Value. (#5306) - Fix the empty output of
go.opentelemetry.io/otel/log.Valueingo.opentelemetry.io/otel/exporters/stdout/stdoutlog. (#5311) - Split the behavior of
Recorderingo.opentelemetry.io/otel/log/logtestso it behaves as aLoggerProvideronly. (#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
Loggerreturned from the globalLoggerProvideringo.opentelemetry.io/otel/log/globalwith 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
otlploggrpcexporter 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.Resourceisnilby @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
DroppedAttributesfield instead ofLimits fields by @XSAM in https://github.com/open-telemetry/opentelemetry-go/pull/5272 - Test scope and resource transforms in
otlploghttpby @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
logtestby @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/retryinotlploggrpcby @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.mdto 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
Recorderingo.opentelemetry.io/otel/log/logtestto 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.0package. The package contains semantic conventions from thev1.25.0version of the OpenTelemetry Semantic Conventions. (#5254)
Changed
- Update
go.opentelemetry.io/proto/otlpfrom 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
WithProxyoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4906) - Add
WithProxyoption ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp. (#4906) - Add
AddLinkmethod to theSpaninterface ingo.opentelemetry.io/otel/trace. (#5032) - The
Enabledmethod is added to theLoggerinterface ingo.opentelemetry.io/otel/log. This method is used to notify users if a log record will be emitted or not. (#5071) - Add
SeverityUndefinedconsttogo.opentelemetry.io/otel/log. This value represents an unset severity level. (#5072) - Add
Emptyfunction ingo.opentelemetry.io/otel/logto return aKeyValuefor an empty value. (#5076) - Add
go.opentelemetry.io/otel/log/globalto manage the globalLoggerProvider. This package is provided with the anticipation that all functionality will be migrate togo.opentelemetry.io/otelwhengo.opentelemetry.io/otel/logstabilizes. At which point, users will be required to migrage their code, and this package will be deprecated then removed. (#5085) - Add support for
Summarymetrics in thego.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcexporters. (#5100) - Add
otel.scope.nameandotel.scope.versiontags to spans exported bygo.opentelemetry.io/otel/exporters/zipkin. (#5108) - Add support for
AddLinktogo.opentelemetry.io/otel/bridge/opencensus. (#5116) - Add
Stringmethod toValueandKeyValueingo.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. Futuresemconvpackages will include metric semantic conventions as well. (#4528)
Changed
-
SpanFromContextandSpanContextFromContextingo.opentelemetry.io/otel/traceno longer make a heap allocation when the passed context has no span. (#5049) -
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcnow create a gRPC client in idle mode and with "dns" as the default resolver usinggrpc.NewClient. (#5151) Because of thatWithDialOptionignoresgrpc.WithBlock,grpc.WithTimeout, andgrpc.WithReturnConnectionError. Notice thatgrpc.DialContextwhich was used before is now deprecated.
Fixed
- Clarify the documentation about equivalence guarantees for the
SetandDistincttypes ingo.opentelemetry.io/otel/attribute. (#5027) - Prevent default
ErrorHandlerself-delegation. (#5137) - Update all dependencies to address GO-2024-2687. (#5139)
Removed
Deprecated
- Deprecate
go.opentelemetry.io/otel/attribute.Sortabletype. (#4734) - Deprecate
go.opentelemetry.io/otel/attribute.NewSetWithSortablefunction. (#4734) - Deprecate
go.opentelemetry.io/otel/attribute.NewSetWithSortableFilteredfunction. (#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/logmodule 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/opencensusgo.opentelemetry.io/otel/bridge/opencensus/testgo.opentelemetry.io/otel/example/opencensusgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpgo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
See our versioning policy for more information about these stability guarantees.
Added
- Add
WithEndpointURLoption to theexporters/otlp/otlpmetric/otlpmetricgrpc,exporters/otlp/otlpmetric/otlpmetrichttp,exporters/otlp/otlptrace/otlptracegrpcandexporters/otlp/otlptrace/otlptracehttppackages. (#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)
-
ErrSchemaURLConflictis added togo.opentelemetry.io/otel/sdk/resource. This error is returned when a merge of twoResources with different (non-empty) schema URL is attempted. (#4876)
Changed
- The
MergeandNewfunctions ingo.opentelemetry.io/otel/sdk/resourcenow returns a partial result if there is a schema URL merge conflict. Instead of returningnilwhen twoResources with different (non-empty) schema URLs are merged the mergedResource, along with the newErrSchemaURLConflicterror, is returned. It is up to the user to decide if they want to use the returnedResourceor not. It may have desired attributes overwritten or include stale semantic conventions. (#4876)
Fixed
- Fix
ContainerIDresource detection on systemd when cgroup path has a colon. (#4449) - Fix
go.opentelemetry.io/otel/sdk/metricto cache instruments to avoid leaking memory when the same instrument is created multiple times. (#4820) - Fix missing
MixandMaxvalues forgo.opentelemetry.io/otel/exporters/stdout/stdoutmetricby introducingMarshalTextandMarshalJSONfor theExtrematype 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.0package. The package contains semantic conventions from thev1.22.0version of the OpenTelemetry Semantic Conventions. (#4735) - The
go.opentelemetry.io/otel/semconv/v1.23.0package. The package contains semantic conventions from thev1.23.0version of the OpenTelemetry Semantic Conventions. (#4746) - The
go.opentelemetry.io/otel/semconv/v1.23.1package. The package contains semantic conventions from thev1.23.1version of the OpenTelemetry Semantic Conventions. (#4749) - The
go.opentelemetry.io/otel/semconv/v1.24.0package. The package contains semantic conventions from thev1.24.0version of the OpenTelemetry Semantic Conventions. (#4770) - Add
WithResourceAsConstantLabelsoption 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
NewMemberRawandNewKeyValuePropertyRawingo.opentelemetry.io/otel/baggage. (#4804)
Changed
- Upgrade all use of
go.opentelemetry.io/otel/semconvto usev1.24.0. (#4754) - Update transformations in
go.opentelemetry.io/otel/exporters/zipkinto followv1.24.0version 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/baggageperformance. (#4743) - Improve performance of the
(*Set).Filtermethod ingo.opentelemetry.io/otel/attributewhen the passed filter does not filter out any attributes from the set. (#4774) -
Member.Stringingo.opentelemetry.io/otel/baggagepercent-encodes only when necessary. (#4775) -
Property.Valueingo.opentelemetry.io/otel/baggagenow returns a raw string instead of a percent-encoded value. (#4804)
Fixed
- Fix
Parseingo.opentelemetry.io/otel/baggageto validate member value before percent-decoding. (#4755) - Fix whitespace encoding of
Member.Stringingo.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/opentracingto 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/otlpmetricmodule. (#4707) - Remove the deprecated
go.opentelemetry.io/otel/example/viewmodule. (#4708) - Remove the deprecated
go.opentelemetry.io/otel/example/fibmodule. (#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/embeddedpackage to be embedded in the exported trace API interfaces. (#4620) - Add the
go.opentelemetry.io/otel/trace/nooppackage 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
Versionfunction ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4660) - Add
Versionfunction 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.NewMetricProducernow supports exemplars from OpenCensus. (#4585) - Add support for
WithExplicitBucketBoundariesingo.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.NewTracerin favor ofopencensus.InstallTraceBridge. (#4567) - Deprecate
go.opentelemetry.io/otel/example/fibpackage is in favor ofgo.opentelemetry.io/otel/example/dice. (#4618) - Deprecate
go.opentelemetry.io/otel/trace.NewNoopTracerProvider. Use the addedNewTracerProviderfunction ingo.opentelemetry.io/otel/trace/noopinstead. (#4620) - Deprecate
go.opentelemetry.io/otel/example/viewpackage 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.NewMetricProducerreturns a*MetricProducerstruct instead of the metric.Producer interface. (#4583) - The
TracerProvideringo.opentelemetry.io/otel/tracenow embeds thego.opentelemetry.io/otel/trace/embedded.TracerProvidertype. This extends theTracerProviderinterface 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/tracepackage documentation for more information about how to accomplish this. (#4620) - The
Traceringo.opentelemetry.io/otel/tracenow embeds thego.opentelemetry.io/otel/trace/embedded.Tracertype. This extends theTracerinterface 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/tracepackage documentation for more informationabout how to accomplish this. (#4620) - The
Spaningo.opentelemetry.io/otel/tracenow embeds thego.opentelemetry.io/otel/trace/embedded.Spantype. This extends theSpaninterface 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/tracepackage documentation for more information about how to accomplish this. (#4620) -
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcdoes no longer depend ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#4660) -
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpdoes no longer depend ongo.opentelemetry.io/otel/exporters/otlp/otlpmetric. (#4660) - Retry for
502 Bad Gatewayand504 Gateway TimeoutHTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4670) - Retry for
502 Bad Gatewayand504 Gateway TimeoutHTTP statuses ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4670) - Retry for
RESOURCE_EXHAUSTEDonly if RetryInfo is returned ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4669) - Retry for
RESOURCE_EXHAUSTEDonly 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
+,/byParseingo.opentelemetry.io/otel/baggageas they were rendered as a whitespace. (#4667) - Fix improper parsing of characters such us
+,/passed viaOTEL_RESOURCE_ATTRIBUTESingo.opentelemetry.io/otel/sdk/resourceas they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+,/passed viaOTEL_EXPORTER_OTLP_HEADERSandOTEL_EXPORTER_OTLP_METRICS_HEADERSingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcas they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+,/passed viaOTEL_EXPORTER_OTLP_HEADERSandOTEL_EXPORTER_OTLP_METRICS_HEADERSingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpas they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+,/passed viaOTEL_EXPORTER_OTLP_HEADERSandOTEL_EXPORTER_OTLP_TRACES_HEADERSingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpcas they were rendered as a whitespace. (#4699) - Fix improper parsing of characters such us
+,/passed viaOTEL_EXPORTER_OTLP_HEADERSandOTEL_EXPORTER_OTLP_TRACES_HEADERSingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttpas they were rendered as a whitespace. (#4699) - In
go.opentelemetry.op/otel/exporters/prometheus, the exporter no longerCollects metrics afterShutdownis invoked. (#4648) - Fix documentation for
WithCompressoringo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc. (#4695) - Fix documentation for
WithCompressoringo.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
WithWriterandWithPrettyPrintoptions togo.opentelemetry.io/otel/exporters/stdout/stdoutmetricto 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/stdoutmetricdoes not prettify its output by default anymore. (#4507) - Upgrade
gopkg.io/yamlfromv2tov3ingo.opentelemetry.io/otel/schema. (#4535)
Fixed
- In
go.opentelemetry.op/otel/exporters/prometheus, don't try to create the Prometheus metric on everyCollectif 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
WithProduceroption ingo.opentelemetry.op/otel/exporters/prometheusto restore the ability to register producers on the prometheus exporter's manual reader. (#4473) - Add
IgnoreValueoption ingo.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatestto allow ignoring values when comparing metrics. (#4447)
Deprecated
- The
NewMetricExporteringo.opentelemetry.io/otel/bridge/opencensuswas 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/jaegerpackage. (#4467) - Removed the deprecated
go.opentelemetry.io/otel/example/jaegerpackage. (#4467) - Removed the deprecated
go.opentelemetry.io/otel/sdk/metric/aggregationpackage. (#4468) - Removed the deprecated internal packages in
go.opentelemetry.io/otel/exporters/otlpand 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
ManualReaderstruct ingo.opentelemetry.io/otel/sdk/metric. (#4244) - Export the
PeriodicReaderstruct 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".ExponentialHistogramas the aggregation. (#4245) - Export the
Exporterstruct ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc. (#4272) - Export the
Exporterstruct ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#4272) - The exporters in
go.opentelemetry.io/otel/exporters/otlp/otlpmetricnow support theOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEenvironment variable. (#4287) - Add
WithoutCounterSuffixesoption ingo.opentelemetry.io/otel/exporters/prometheusto disable addition of_totalsuffixes. (#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.0package. The package contains semantic conventions from thev1.21.0version of the OpenTelemetry Semantic Conventions. (#4362) - Accept 201 to 299 HTTP status as success in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpandgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp. (#4365) - Document the
TemporalityandAggregationmethods 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
Aggregationinterface and its implementations fromgo.opentelemetry.io/otel/sdk/metric/aggregationtogo.opentelemetry.io/otel/sdk/metric. (#4435) - The exporters in
go.opentelemetry.io/otel/exporters/otlp/otlpmetricnow support theOTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATIONenvironment variable. (#4437) - Add the
NewAllowKeysFilterandNewDenyKeysFilterfunctions togo.opentelemetry.io/otel/attributeto allow convenient creation of allow-keys and deny-keys filters. (#4444)
Changed
- Starting from
v1.21.0of semantic conventions,go.opentelemetry.io/otel/semconv/{version}/httpconvandgo.opentelemetry.io/otel/semconv/{version}/netconvpackages 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/metricif their name doesn't pass regexp validation. (#4210) -
NewManualReaderingo.opentelemetry.io/otel/sdk/metricreturns*ManualReaderinstead ofReader. (#4244) -
NewPeriodicReaderingo.opentelemetry.io/otel/sdk/metricreturns*PeriodicReaderinstead ofReader. (#4244) - Count the Collect time in the
PeriodicReadertimeout ingo.opentelemetry.io/otel/sdk/metric. (#4221) - The function
Newingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcreturns*Exporterinstead of"go.opentelemetry.io/otel/sdk/metric".Exporter. (#4272) - The function
Newingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpreturns*Exporterinstead 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/metricpackage. (#4332) - Restrict
Meters ingo.opentelemetry.io/otel/sdk/metricto only register and collect instruments it created. (#4333) -
PeriodicReader.ShutdownandPeriodicReader.ForceFlushingo.opentelemetry.io/otel/sdk/metricnow 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/semconvto 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.WithProduceras anOptionfor"go.opentelemetry.io/otel/sdk/metric".NewManualReaderand"go.opentelemetry.io/otel/sdk/metric".NewPeriodicReader. (#4346)
Removed
- Remove
Reader.RegisterProduceringo.opentelemetry.io/otel/metric. Use the addedWithProduceroption instead. (#4346) - Remove
Reader.ForceFlushingo.opentelemetry.io/otel/metric. Notice thatPeriodicReader.ForceFlushis still available. (#4375)
Fixed
- Correctly format log messages from the
go.opentelemetry.io/otel/exporters/zipkinexporter. (#4143) - Log an error for calls to
NewViewingo.opentelemetry.io/otel/sdk/metricthat 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
ManualReaderwill not panic ifAggregationSelectorreturnsnilingo.opentelemetry.io/otel/sdk/metric. (#4350) - If a
Reader'sAggregationSelectorreturnsnilorDefaultAggregationthe 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
ForceFlushingo.opentelemetry.io/otel/sdk/trace. (#4369) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internalfromgo.opentelemetry.io/otel/exporters/otlp/internalusing gotmpl. (#4397, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internalfromgo.opentelemetry.io/otel/exporters/otlp/internalandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/internalusing gotmpl. (#4404, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internalfromgo.opentelemetry.io/otel/exporters/otlp/internalandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/internalusing gotmpl. (#4407, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internalfromgo.opentelemetry.io/otel/exporters/otlp/internalandgo.opentelemetry.io/otel/exporters/otlp/otlptrace/internalusing gotmpl. (#4400, #3846) - Decouple
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internalfromgo.opentelemetry.io/otel/exporters/otlp/internalandgo.opentelemetry.io/otel/exporters/otlp/otlptrace/internalusing gotmpl. (#4401, #3846) - Do not block the metric SDK when OTLP metric exports are blocked in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcandgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp. (#3925, #4395) - Do not append
_totalif 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/jaegerpackage is deprecated. OpenTelemetry dropped support for Jaeger exporter in July 2023. Usego.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttporgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcinstead. (#4423) - The
go.opentelemetry.io/otel/example/jaegerpackage is deprecated. (#4423) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internalpackage is deprecated. (#4420) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/oconfpackage is deprecated. (#4420) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/otestpackage is deprecated. (#4420) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/transformpackage is deprecated. (#4420) - The
go.opentelemetry.io/otel/exporters/otlp/internalpackage is deprecated. (#4421) - The
go.opentelemetry.io/otel/exporters/otlp/internal/envconfigpackage is deprecated. (#4421) - The
go.opentelemetry.io/otel/exporters/otlp/internal/retrypackage is deprecated. (#4421) - The
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internalpackage is deprecated. (#4425) - The
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/envconfigpackage is deprecated. (#4425) - The
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlpconfigpackage is deprecated. (#4425) - The
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlptracetestpackage is deprecated. (#4425) - The
go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/retrypackage is deprecated. (#4425) - The
go.opentelemetry.io/otel/sdk/metric/aggregationpackage is deprecated. Use the aggregation types added togo.opentelemetry.io/otel/sdk/metricinstead. (#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.0package. The package contains semantic conventions from thev1.19.0version of the OpenTelemetry specification. (#3848) - The
go.opentelemetry.io/otel/semconv/v1.20.0package. The package contains semantic conventions from thev1.20.0version 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/instrumentpackage is removed. Usego.opentelemetry.io/otel/metricinstead. (#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.gowhich 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/embeddedpackage. (#3916) - The
Versionfunction togo.opentelemetry.io/otel/sdkto return the SDK version. (#3949) - Add a
WithNamespaceoption togo.opentelemetry.io/otel/exporters/prometheusto allow users to prefix metrics with a namespace. (#3970) - The following configuration types were added to
go.opentelemetry.io/otel/metric/instrumentto be used in the configuration of measurement methods. (#3971)- The
AddConfigused to hold configuration for addition measurements-
NewAddConfigused to create a newAddConfig -
AddOptionused to configure anAddConfig
-
- The
RecordConfigused to hold configuration for recorded measurements-
NewRecordConfigused to create a newRecordConfig -
RecordOptionused to configure aRecordConfig
-
- The
ObserveConfigused to hold configuration for observed measurements-
NewObserveConfigused to create a newObserveConfig -
ObserveOptionused to configure anObserveConfig
-
- The
-
WithAttributeSetandWithAttributesare 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
Versionfunction togo.opentelemetry.io/otel/exporters/otlp/otlpmetricto return the OTLP metrics client version. (#3956) - The
Versionfunction togo.opentelemetry.io/otel/exporters/otlp/otlptraceto return the OTLP trace client version. (#3956)
Changed
- The
Extremaingo.opentelemetry.io/otel/sdk/metric/metricdatais redefined with a generic argument of[N int64 | float64]. (#3870) - Update all exported interfaces from
go.opentelemetry.io/otel/metricto 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/metricinto its own packagego.opentelemetry.io/otel/metric/noop. (#3941)-
metric.NewNoopMeterProvideris replaced withnoop.NewMeterProvider
-
- Add all the methods from
"go.opentelemetry.io/otel/trace".SpanContexttobridgeSpanContextby embeddingotel.SpanContextinbridgeSpanContext. (#3966) - Wrap
UploadMetricserror 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/instrumentaccept an option instead of the variadic"go.opentelemetry.io/otel/attribute".KeyValue. (#3971)- The
Int64Counter.Addmethod now accepts...AddOption - The
Float64Counter.Addmethod now accepts...AddOption - The
Int64UpDownCounter.Addmethod now accepts...AddOption - The
Float64UpDownCounter.Addmethod now accepts...AddOption - The
Int64Histogram.Recordmethod now accepts...RecordOption - The
Float64Histogram.Recordmethod now accepts...RecordOption - The
Int64Observer.Observemethod now accepts...ObserveOption - The
Float64Observer.Observemethod now accepts...ObserveOption
- The
- The
Observermethods ingo.opentelemetry.io/otel/metricaccept an option instead of the variadic"go.opentelemetry.io/otel/attribute".KeyValue. (#3971)- The
Observer.ObserveInt64method now accepts...ObserveOption - The
Observer.ObserveFloat64method now accepts...ObserveOption
- The
- Move global metric back to
go.opentelemetry.io/otel/metric/globalfromgo.opentelemetry.io/otel. (#3986)
Fixed
-
TracerProviderallows 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
SpanProcessorreturned byNewSimpleSpanProcessoringo.opentelemetry.io/otel/sdk/trace. (#3951) - Automatically figure out the default aggregation with
aggregation.Default. (#3967)
Deprecated
- The
go.opentelemetry.io/otel/metric/instrumentpackage is deprecated. Use the equivalent types added togo.opentelemetry.io/otel/metricinstead. (#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
eventtype 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.0package. The package contains semantic conventions from thev1.18.0version of the OpenTelemetry specification. (#3719)- The following
constrenames fromgo.opentelemetry.io/otel/semconv/v1.17.0are included:-
OtelScopeNameKey->OTelScopeNameKey -
OtelScopeVersionKey->OTelScopeVersionKey -
OtelLibraryNameKey->OTelLibraryNameKey -
OtelLibraryVersionKey->OTelLibraryVersionKey -
OtelStatusCodeKey->OTelStatusCodeKey -
OtelStatusDescriptionKey->OTelStatusDescriptionKey -
OtelStatusCodeOk->OTelStatusCodeOk -
OtelStatusCodeError->OTelStatusCodeError
-
- The following
funcrenames fromgo.opentelemetry.io/otel/semconv/v1.17.0are included:-
OtelScopeName->OTelScopeName -
OtelScopeVersion->OTelScopeVersion -
OtelLibraryName->OTelLibraryName -
OtelLibraryVersion->OTelLibraryVersion -
OtelStatusDescription->OTelStatusDescription
-
- The following
- A
IsSampledmethod is added to theSpanContextimplementation ingo.opentelemetry.io/otel/bridge/opentracingto expose the span sampled state. See the README for more information. (#3570) - The
WithInstrumentationAttributesoption togo.opentelemetry.io/otel/metric. (#3738) - The
WithInstrumentationAttributesoption togo.opentelemetry.io/otel/trace. (#3739) - The following environment variables are supported by the periodic
Readeringo.opentelemetry.io/otel/sdk/metric. (#3763)-
OTEL_METRIC_EXPORT_INTERVALsets the time between collections and exports. -
OTEL_METRIC_EXPORT_TIMEOUTsets the timeout an export is attempted.
-
Changed
- Fall-back to
TextMapCarrierwhen it's notHttpHeaders ingo.opentelemetry.io/otel/bridge/opentracing. (#3679) - The
Collectmethod of the"go.opentelemetry.io/otel/sdk/metric".Readerinterface is updated to accept themetricdata.ResourceMetricsvalue the collection will be made into. This change is made to enable memory reuse by SDK users. (#3732) - The
WithUnitoption ingo.opentelemetry.io/otel/sdk/metric/instrumentis updated to accept astringfor the unit value. (#3776)
Fixed
- Ensure
go.opentelemetry.io/oteldoes not use generics. (#3723, #3725) - Multi-reader
MeterProviders now export metrics for all readers, instead of just the first reader. (#3720, #3724) - Remove use of deprecated
"math/rand".Seedingo.opentelemetry.io/otel/example/prometheus. (#3733) - Do not silently drop unknown schema data with
Parseingo.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/unitpackage 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
KeyValuecreations functions togo.opentelemetry.io/otel/semconv/v1.17.0for all non-enum semantic conventions. These functions ensure semantic convention type correctness. (#3675)
Fixed
- Removed the
http.targetattribute from being added byServerRequestin the following packages. (#3687)go.opentelemetry.io/otel/semconv/v1.13.0/httpconvgo.opentelemetry.io/otel/semconv/v1.14.0/httpconvgo.opentelemetry.io/otel/semconv/v1.15.0/httpconvgo.opentelemetry.io/otel/semconv/v1.16.0/httpconvgo.opentelemetry.io/otel/semconv/v1.17.0/httpconv
Removed
- The deprecated
go.opentelemetry.io/otel/metric/instrument/asyncfloat64package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/asyncint64package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/syncfloat64package is removed. (#3631) - The deprecated
go.opentelemetry.io/otel/metric/instrument/syncint64package is removed. (#3631)
v1.12.0: /v0.35.0
Added
- The
WithInt64Callbackoption togo.opentelemetry.io/otel/metric/instrument. This options is used to configureint64Observer callbacks during their creation. (#3507) - The
WithFloat64Callbackoption togo.opentelemetry.io/otel/metric/instrument. This options is used to configurefloat64Observer callbacks during their creation. (#3507) - The
Producerinterface andReader.RegisterProducer(Producer)togo.opentelemetry.io/otel/sdk/metric. These additions are used to enable external metric Producers. (#3524) - The
Callbackfunction type togo.opentelemetry.io/otel/metric. This new named function type is registered with aMeter. (#3564) - The
go.opentelemetry.io/otel/semconv/v1.13.0package. The package contains semantic conventions from thev1.13.0version of the OpenTelemetry specification. (#3499)- The
EndUserAttributesFromHTTPRequestfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is merged intoClientRequestandServerRequestingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
HTTPAttributesFromHTTPStatusCodefunction ingo.opentelemetry.io/otel/semconv/v1.12.0is merged intoClientResponseingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
HTTPClientAttributesFromHTTPRequestfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is replaced byClientRequestingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
HTTPServerAttributesFromHTTPRequestfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is replaced byServerRequestingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
HTTPServerMetricAttributesFromHTTPRequestfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is replaced byServerRequestingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
NetAttributesFromHTTPRequestfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is split intoTransportingo.opentelemetry.io/otel/semconv/v1.13.0/netconvandClientRequestorServerRequestingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
SpanStatusFromHTTPStatusCodefunction ingo.opentelemetry.io/otel/semconv/v1.12.0is replaced byClientStatusingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
SpanStatusFromHTTPStatusCodeAndSpanKindfunction ingo.opentelemetry.io/otel/semconv/v1.12.0is split intoClientStatusandServerStatusingo.opentelemetry.io/otel/semconv/v1.13.0/httpconv. - The
Clientfunction is included ingo.opentelemetry.io/otel/semconv/v1.13.0/netconvto generate attributes for anet.Conn. - The
Serverfunction is included ingo.opentelemetry.io/otel/semconv/v1.13.0/netconvto generate attributes for anet.Listener.
- The
- The
go.opentelemetry.io/otel/semconv/v1.14.0package. The package contains semantic conventions from thev1.14.0version of the OpenTelemetry specification. (#3566) - The
go.opentelemetry.io/otel/semconv/v1.15.0package. The package contains semantic conventions from thev1.15.0version of the OpenTelemetry specification. (#3578) - The
go.opentelemetry.io/otel/semconv/v1.16.0package. The package contains semantic conventions from thev1.16.0version 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)-
Float64ObservableCounterreplaces theasyncfloat64.Counter -
Float64ObservableUpDownCounterreplaces theasyncfloat64.UpDownCounter -
Float64ObservableGaugereplaces theasyncfloat64.Gauge -
Int64ObservableCounterreplaces theasyncint64.Counter -
Int64ObservableUpDownCounterreplaces theasyncint64.UpDownCounter -
Int64ObservableGaugereplaces theasyncint64.Gauge -
Float64Counterreplaces thesyncfloat64.Counter -
Float64UpDownCounterreplaces thesyncfloat64.UpDownCounter -
Float64Histogramreplaces thesyncfloat64.Histogram -
Int64Counterreplaces thesyncint64.Counter -
Int64UpDownCounterreplaces thesyncint64.UpDownCounter -
Int64Histogramreplaces thesyncint64.Histogram
-
-
NewTracerProvidertogo.opentelemetry.io/otel/bridge/opentracing. This is used to createWrapperTracerinstances from aTracerProvider. (#3116) - The
Extrematype 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.0package. The package contains semantic conventions from thev1.17.0version of the OpenTelemetry specification. (#3599)
Changed
- Jaeger and Zipkin exporter use
github.com/go-logr/logras the logging interface, and add theWithLogroption. (#3497, #3500) - Instrument configuration in
go.opentelemetry.io/otel/metric/instrumentis split into specific options and confguration based on the instrument type. (#3507)- Use the added
Int64Optiontype to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/syncint64. - Use the added
Float64Optiontype to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/syncfloat64. - Use the added
Int64ObserverOptiontype to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/asyncint64. - Use the added
Float64ObserverOptiontype to configure instruments fromgo.opentelemetry.io/otel/metric/instrument/asyncfloat64.
- Use the added
- Return a
Registrationfrom theRegisterCallbackmethod of aMeterin thego.opentelemetry.io/otel/metricpackage. ThisRegistrationcan be used to unregister callbacks. (#3522) - Global error handler uses an atomic value instead of a mutex. (#3543)
- Add
NewMetricProducertogo.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
Shutdownmethod of the"go.opentelemetry.io/otel/sdk/trace".TracerProviderreleases all computational resources when called the first time. (#3551) - The
Samplerreturned fromTraceIDRatioBasedgo.opentelemetry.io/otel/sdk/tracenow uses the rightmost bits for sampling decisions. This fixes random sampling when using ID generators likexray.IDGeneratorand increasing parity with other language implementations. (#3557) - Errors from
go.opentelemetry.io/otel/exporters/otlp/otlptraceexporters 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/otlpwill print the final retryable error message when attempts to retry time out. (#3514) - The instrument kind names in
go.opentelemetry.io/otel/sdk/metricare updated to match the API. (#3562)-
InstrumentKindSyncCounteris renamed toInstrumentKindCounter -
InstrumentKindSyncUpDownCounteris renamed toInstrumentKindUpDownCounter -
InstrumentKindSyncHistogramis renamed toInstrumentKindHistogram -
InstrumentKindAsyncCounteris renamed toInstrumentKindObservableCounter -
InstrumentKindAsyncUpDownCounteris renamed toInstrumentKindObservableUpDownCounter -
InstrumentKindAsyncGaugeis renamed toInstrumentKindObservableGauge
-
- The
RegisterCallbackmethod of theMeteringo.opentelemetry.io/otel/metricchanged.- The named
Callbackreplaces the inline function parameter. (#3564) -
Callbackis required to return an error. (#3576) -
Callbackaccepts the addedObserverparameter added. This new parameter is used byCallbackimplementations to observe values for asynchronous instruments instead of calling theObservemethod of the instrument directly. (#3584) - The slice of
instrument.Asynchronousis now passed as a variadic argument. (#3587)
- The named
- The exporter from
go.opentelemetry.io/otel/exporters/zipkinis updated to use thev1.16.0version of semantic conventions. This means it no longer uses the removednet.peer.iporhttp.hostattributes to determine the remote endpoint. Instead it uses thenet.sock.peerattributes. (#3581) - The
MinandMaxfields of theHistogramDataPointingo.opentelemetry.io/otel/sdk/metric/metricdataare now defined with the addedExtrematype 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
RegisterCallbackmethod of theMeterfromgo.opentelemetry.io/otel/sdk/metriconly 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
NewMetricExporteringo.opentelemetry.io/otel/bridge/opencensusis deprecated. UseNewMetricProducerinstead. (#3541) - The
go.opentelemetry.io/otel/metric/instrument/asyncfloat64package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrumentinstead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/asyncint64package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrumentinstead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/syncfloat64package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrumentinstead. (#3575) - The
go.opentelemetry.io/otel/metric/instrument/syncint64package is deprecated. Use the instruments fromgo.opentelemetry.io/otel/metric/instrumentinstead. (#3575) - The
NewWrappedTracerProvideringo.opentelemetry.io/otel/bridge/opentracingis now deprecated. UseNewTracerProviderinstead. (#3116)
Removed
- The deprecated
go.opentelemetry.io/otel/sdk/metric/viewpackage is removed. (#3520) - The
InstrumentProviderfromgo.opentelemetry.io/otel/sdk/metric/asyncint64is removed. Use the new creation methods of theMeteringo.opentelemetry.io/otel/sdk/metricinstead. (#3530)- The
Countermethod is replaced byMeter.Int64ObservableCounter - The
UpDownCountermethod is replaced byMeter.Int64ObservableUpDownCounter - The
Gaugemethod is replaced byMeter.Int64ObservableGauge
- The
- The
InstrumentProviderfromgo.opentelemetry.io/otel/sdk/metric/asyncfloat64is removed. Use the new creation methods of theMeteringo.opentelemetry.io/otel/sdk/metricinstead. (#3530)- The
Countermethod is replaced byMeter.Float64ObservableCounter - The
UpDownCountermethod is replaced byMeter.Float64ObservableUpDownCounter - The
Gaugemethod is replaced byMeter.Float64ObservableGauge
- The
- The
InstrumentProviderfromgo.opentelemetry.io/otel/sdk/metric/syncint64is removed. Use the new creation methods of theMeteringo.opentelemetry.io/otel/sdk/metricinstead. (#3530)- The
Countermethod is replaced byMeter.Int64Counter - The
UpDownCountermethod is replaced byMeter.Int64UpDownCounter - The
Histogrammethod is replaced byMeter.Int64Histogram
- The
- The
InstrumentProviderfromgo.opentelemetry.io/otel/sdk/metric/syncfloat64is removed. Use the new creation methods of theMeteringo.opentelemetry.io/otel/sdk/metricinstead. (#3530)- The
Countermethod is replaced byMeter.Float64Counter - The
UpDownCountermethod is replaced byMeter.Float64UpDownCounter - The
Histogrammethod is replaced byMeter.Float64Histogram
- The
v1.11.2: /0.34.0
Added
- The
WithViewOptionis added to thego.opentelemetry.io/otel/sdk/metricpackage. This option is used to configure the view(s) aMeterProviderwill use for allReaders 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_INSECUREOTEL_EXPORTER_OTLP_TRACES_INSECUREOTEL_EXPORTER_OTLP_METRICS_INSECUREOTEL_EXPORTER_OTLP_CLIENT_KEYOTEL_EXPORTER_OTLP_TRACES_CLIENT_KEYOTEL_EXPORTER_OTLP_METRICS_CLIENT_KEYOTEL_EXPORTER_OTLP_CLIENT_CERTIFICATEOTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATEOTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE
- The
Viewtype and relatedNewViewfunction to create a view according to the OpenTelemetry specification are added togo.opentelemetry.io/otel/sdk/metric. These additions are replacements for theViewtype andNewfunction fromgo.opentelemetry.io/otel/sdk/metric/view. (#3459) - The
InstrumentandInstrumentKindtype are added togo.opentelemetry.io/otel/sdk/metric. These additions are replacements for theInstrumentandInstrumentKindtypes fromgo.opentelemetry.io/otel/sdk/metric/view. (#3459) - The
Streamtype is added togo.opentelemetry.io/otel/sdk/metricto define a metric data stream a view will produce. (#3459) - The
AssertHasAttributesallows instrument authors to test that datapoints returned have appropriate attributes. (#3487)
Changed
- The
"go.opentelemetry.io/otel/sdk/metric".WithReaderoption no longer accepts views to associate with theReader. Instead, views are now registered directly with theMeterProvidervia the newWithViewoption. The views registered with theMeterProviderapply to allReaders. (#3387) - The
Temporality(view.InstrumentKind) metricdata.TemporalityandAggregation(view.InstrumentKind) aggregation.Aggregationmethods are added to the"go.opentelemetry.io/otel/sdk/metric".Exporterinterface. (#3260) - The
Temporality(view.InstrumentKind) metricdata.TemporalityandAggregation(view.InstrumentKind) aggregation.Aggregationmethods are added to the"go.opentelemetry.io/otel/exporters/otlp/otlpmetric".Clientinterface. (#3260) - The
WithTemporalitySelectorandWithAggregationSelectorReaderOptions have been changed toManualReaderOptions in thego.opentelemetry.io/otel/sdk/metricpackage. (#3260) - The periodic reader in the
go.opentelemetry.io/otel/sdk/metricpackage 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/prometheusexporter fixes duplicated_totalsuffixes. (#3369) - Remove comparable requirement for
Readers. (#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 (
CounterandUpDownCounter) from the metric SDK now produce delta sums when configured with delta temporality. (#3398) - Exported
Statuscodes in thego.opentelemetry.io/otel/exporters/zipkinexporter are now exported as all upper case values. (#3340) -
Aggregations fromgo.opentelemetry.io/otel/sdk/metricwith 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/otlpexporters. (#3438, #3432) - Handle partial success responses in
go.opentelemetry.io/otel/exporters/otlp/otlpmetricexporters. (#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.Clientinterface is removed. (#3486) - The
go.opentelemetry.io/otel/exporters/otlp/otlpmetric.Newfunction is removed. Use theotlpmetric[http|grpc].Newdirectly. (#3486)
Deprecated
- The
go.opentelemetry.io/otel/sdk/metric/viewpackage is deprecated. UseInstrument,InstrumentKind,View, andNewViewingo.opentelemetry.io/otel/sdk/metricinstead. (#3476)
v1.11.1: /v0.33.0
Added
- The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheusregisters 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 theWithRegistereroption. (#3239) - Added the
WithAggregationSelectoroption to thego.opentelemetry.io/otel/exporters/prometheuspackage to change the defaultAggregationSelectorused. (#3341) - The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheusconverts theResourceassociated with metric exports into atarget_infometric. (#3285)
Changed
- The
"go.opentelemetry.io/otel/exporters/prometheus".Newfunction 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_ATTRIBUTESenvironment variable are decoded. (#2963) - The
baggage.NewMemberfunction decodes thevalueparameter instead of directly using it. This fixes the implementation to be compliant with the W3C specification. (#3226) - Slice attributes of the
attributepackage are now comparable based on their value, not instance. (#3108 #3252) - The
ShutdownandForceFlushmethods of the"go.opentelemetry.io/otel/sdk/trace".TraceProviderno longer return an error when no processor is registered. (#3268) - The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheuscumulatively sums histogram buckets. (#3281) - The sum of each histogram data point is now uniquely exported by the
go.opentelemetry.io/otel/exporters/otlpmetricexporters. (#3284, #3293) - Recorded values for asynchronous counters (
CounterandUpDownCounter) are interpreted as exact, not incremental, sum values by the metric SDK. (#3350, #3278) -
UpDownCountersare now correctly output as Prometheus gauges in thego.opentelemetry.io/otel/exporters/prometheusexporter. (#3358) - The Prometheus exporter in
go.opentelemetry.io/otel/exporters/prometheusno 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 registeredwarning currently emitted on startup. (#3291 #3342) - The
go.opentelemetry.io/otel/exporters/prometheusexporter now correctly adds_totalsuffixes to counter metrics. (#3360) - The
go.opentelemetry.io/otel/exporters/prometheusexporter 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/otlptracegrpcandgo.opentelemetry.io/otel/exporters/otlptrace/otlptracehttp). (#3261)
Changed
-
span.SetStatushas been updated such that calls that lower the status are now no-ops. (#3214) - Upgrade
golang.org/x/sys/unixfromv0.0.0-20210423185535-09eb48e85fd7tov0.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.