Releases: open-telemetry/opentelemetry-go
Releases · open-telemetry/opentelemetry-go
Release v1.31.0/v0.53.0/v0.7.0/v0.0.10
Overview
Added
- Add
go.opentelemetry.io/otel/sdk/metric/exemplar
package which includesExemplar
,Filter
,TraceBasedFilter
,AlwaysOnFilter
,HistogramReservoir
,FixedSizeReservoir
,Reservoir
,Value
andValueType
types. These will be used for configuring the exemplar reservoir for the metrics sdk. (#5747, #5862) - Add
WithExportBufferSize
option to log batch processor.(#5877)
Changed
- Enable exemplars by default in
go.opentelemetry.io/otel/sdk/metric
. Exemplars can be disabled by settingOTEL_METRICS_EXEMPLAR_FILTER=always_off
(#5778) Logger.Enabled
ingo.opentelemetry.io/otel/log
now accepts a newly introducedEnabledParameters
type instead ofRecord
. (#5791)FilterProcessor.Enabled
ingo.opentelemetry.io/otel/sdk/log/internal/x
now acceptsEnabledParameters
instead ofRecord
. (#5791)- The
Record
type ingo.opentelemetry.io/otel/log
is no longer comparable. (#5847) - Performance improvements for the trace SDK
SetAttributes
method inSpan
. (#5864) - Reduce memory allocations for the
Event
andLink
lists inSpan
. (#5858) - Performance improvements for the trace SDK
AddEvent
,AddLink
,RecordError
andEnd
methods inSpan
. (#5874)
Deprecated
- Deprecate all examples under
go.opentelemetry.io/otel/example
as they are moved to Contrib repository. (#5854)
Fixed
- The race condition for multiple
FixedSize
exemplar reservoirs identified in #5814 is resolved. (#5819) - Fix log records duplication in case of heterogeneous resource attributes by correctly mapping each log record to it's resource and scope. (#5803)
- Fix timer channel drain to avoid hanging on Go 1.23. (#5868)
- Fix delegation for global meter providers, and panic when calling otel.SetMeterProvider. (#5827)
- Change the
reflect.TypeOf
to use a nil pointer to not allocate on the heap unless necessary. (#5827)
What's Changed
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.109.0 by @renovate in #5802
- Enable exemplars by default by @dashpole in #5778
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.55.0 by @renovate in #5809
- fix(deps): update module google.golang.org/grpc to v1.66.2 by @renovate in #5807
- fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.5.0 by @renovate in #5808
- log: Introduce EnabledParameters by @pellared in #5791
- Group the google/x renovabot upgrades by @dmathieu in #5813
- Fix gosec overflow alerts by @dmathieu in #5799
- fix(deps): update module github.com/golangci/golangci-lint to v1.61.0 by @renovate in #5796
- doc(metric): fix incorrect explanation of how
metric.WithAttributes
works by @wzy9607 in #5822 - simplify conversions from slice to array by @snowcrumble in #5818
- Move global random number generator to
randRes
field by @MrAlias in #5819 - Fix duplicate logs across resources by @pree-dew in #5803
- fix(deps): update module github.com/prometheus/client_golang to v1.20.4 by @renovate in #5826
- fix(deps): update module google.golang.org/grpc to v1.67.0 by @renovate in #5831
- [chore]: enable bool-compare rule from testifylint by @mmorel-35 in #5829
- [chore]: enable len and empty rules from testifylint by @mmorel-35 in #5832
- [chore]: enable suite-extra-assert-call rule from testifylint by @mmorel-35 in #5833
- chore(deps): update module github.com/klauspost/compress to v1.17.10 by @renovate in #5834
- [chore]: enable error-is-as rule from testifylint by @mmorel-35 in #5836
- chore(deps): update googleapis to 9d4c2d2 by @renovate in #5841
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.110.0 by @renovate in #5842
- chore(deps): update module github.com/rogpeppe/go-internal to v1.13.1 by @renovate in #5835
- [chore]: enable error-nil rule from testifylint by @mmorel-35 in #5843
- clarify that users should not directly use the log bridge API by @dashpole in #5837
- log: Make Record not comparable by @pellared in #5847
- [chore]: enable expected-actual rule from testifylint by @mmorel-35 in #5848
- Move exemplar types to non-internal package by @dashpole in #5747
- [chore]: enable negative-positive rule from testifylint by @mmorel-35 in #5849
- chore(deps): update googleapis to af27646 by @renovate in #5855
- fix(deps): update module google.golang.org/grpc to v1.67.1 by @renovate in #5857
- Deprecate examples and redirect to contrib by @pellared in #5854
- Move @MadVikingGod to Emeritus status by @MrAlias in #5856
- fix(deps): update module github.com/prometheus/common to v0.60.0 by @renovate in #5860
- chore(deps): update codecov/codecov-action action to v4.6.0 by @renovate in #5859
- Rename SampledFilter to TraceBasedFilter by @dashpole in #5862
- Authenticate link checking requests by @dmathieu in #5865
- [doc] sdk/log: Do not create instances of Record by @pellared in #5871
- Move @hanyuancheung to Emeritus status by @pellared in #5863
- Fix timer channel drain to avoid hanging in Go 1.23 by @dany74q in #5869
- Fix delegation for global MeterProviders by @Jesse-Bonfire in #5828
- fix(deps): update golang.org/x by @renovate in #5872
- Performance improvements for
recordingSpan
SetAttributes
andaddOverCapAttrs
by @boekkooi-impossiblecloud in #5864 - fix(deps): update module google.golang.org/protobuf to v1.35.1 by @renovate in #5875
- chore(deps): update googleapis to 5fefd90 by @renovate in #5876
- Reduce
newEvictedQueueLink
andnewEvictedQueueEvent
memory allocations by @boekkooi-impossiblecloud in #5858 - chore(deps): update lycheeverse/lychee-action action to v2 by @renovate in #5878
- Performance improvements for the trace SDK in
Span
. by @boekkooi-impossiblecloud in #5874 - fix(deps): update golang.org/x/exp digest to f66d83c by @renovate in #5880
- Add an option to configure the exporter buffer of the BatchProcessor by @Frapschen in #5877
- Release v1.31.0/v0.53.0/v0.7.0/v0.0.10 by @dashpole in #5883
New Contributors
- @wzy9607 made their first contribution in #5822
- @snowcrumble made their first contribution in #5818
- @mmorel-35 made their first contribution in #5829
- @dany74q made their first contribution in #5869
- @Jesse-Bonfire made their first contribution in #5828
- @boekkooi-impossiblecloud made their first contribution in #5864
Full Changelog: v1.30.0...v1.31.0
Release v1.30.0/v0.52.0/v0.6.0/v0.0.9
Overview
Added
- Support
OTEL_EXPORTER_OTLP_LOGS_INSECURE
andOTEL_EXPORTER_OTLP_INSECURE
environments ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc
. (#5739) - The
WithResource
option forNewMeterProvider
now merges the provided resources with the ones from environment variables. (#5773) - The
WithResource
option forNewLoggerProvider
now merges the provided resources with the ones from environment variables. (#5773) - Add UTF-8 support to
go.opentelemetry.io/otel/exporters/prometheus
. (#5755)
Fixed
- Fix memory leak in the global
MeterProvider
when identical instruments are repeatedly created. (#5754) - Fix panic on instruments creation when setting meter provider. (#5758)
- Fix an issue where
SetMeterProvider
ingo.opentelemetry.io/otel
might miss the delegation for instruments and registries. (#5780)
Removed
What's Changed
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 4ba0660 by @renovate in #5734
- fix(deps): update module github.com/prometheus/client_golang to v1.20.2 by @renovate in #5733
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 4ba0660 by @renovate in #5735
- Drop support for Go 1.21 by @MrAlias in #5736
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.54.0 by @renovate in #5738
- fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.4.0 by @renovate in #5737
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to f6391c0 by @renovate in #5742
- chore(deps): update google.golang.org/genproto/googleapis/api digest to f6391c0 by @renovate in #5741
- Replace go 1.21 with go 1.22 in go mod by @XSAM in #5740
- chore(deps): update prom/prometheus docker tag to v2.54.1 by @renovate in #5744
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.108.0 by @renovate in #5749
- fix(deps): update module google.golang.org/grpc to v1.66.0 by @renovate in #5751
- fix(deps): update module github.com/masterminds/semver/v3 to v3.3.0 by @renovate in #5750
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 7e3bb23 by @renovate in #5745
- chore(deps): update module github.com/prometheus/common to v0.57.0 by @renovate in #5748
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 7e3bb23 by @renovate in #5746
- Fix duplicate instrumentation memory leak by @dashpole in #5754
- Fix panic instruments creation when setting meter provider by @XSAM in #5758
- Ensure codespell failures fail CI by @dmathieu in #5761
- chore(deps): update module github.com/prometheus/common to v0.58.0 by @renovate in #5765
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 8af14fe by @renovate in #5767
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 8af14fe by @renovate in #5766
- Run ConcurrentSafe tests multiple times in CI by @XSAM in #5759
- chore(deps): update module golang.org/x/text to v0.18.0 by @renovate in #5775
- chore(deps): update module golang.org/x/sys to v0.25.0 by @renovate in #5776
- Group googleapis update by @XSAM in #5772
- fix(deps): update golang.org/x/exp digest to e7e105d by @renovate in #5783
- Mention
test-concurrent-safe
CI job in CONTRIBUTING doc by @XSAM in #5781 - [chore] Remove toolchain directive by @pellared in #5784
- chore(deps): update module golang.org/x/net to v0.29.0 by @renovate in #5790
- chore(deps): update module github.com/prometheus/common to v0.59.1 by @renovate in #5789
- fix(deps): update module github.com/prometheus/client_golang to v1.20.3 by @renovate in #5788
- Support OTEL_EXPORTER_OTLP_LOGS_INSECURE and OTEL_EXPORTER_OTLP_INSECURE environments in grpc exporter by @amanakin in #5739
- fix(metric, log): merge explicit resource with environment variables by @basti1302 in #5773
SetMeterProvider
might miss the delegation for instruments and registries by @XSAM in #5780- Fix typos by @NathanBaulch in #5763
- Add utf8 support to the prometheus exporter by @dashpole in #5755
- fix(deps): update golang.org/x/exp digest to 701f63a by @renovate in #5795
- fix(deps): update module google.golang.org/grpc to v1.66.1 by @renovate in #5798
- Drop support for Go 1.21 in dice example by @MrAlias in #5800
- Release v1.30.0/v0.52.0/v0.6.0/v0.0.9 by @XSAM in #5797
New Contributors
- @basti1302 made their first contribution in #5773
- @NathanBaulch made their first contribution in #5763
Full Changelog: v1.29.0...v1.30.0
Release v1.29.0/v0.51.0/v0.5.0
Overview
This release is the last to support Go 1.21. The next release will require at least Go 1.22.
Added
- Add MacOS ARM64 platform to the compatibility testing suite. (#5577)
- Add
InstrumentationScope
field toSpanStub
ingo.opentelemetry.io/otel/sdk/trace/tracetest
, as a replacement for the deprecatedInstrumentationLibrary
. (#5627) - Make the initial release of
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc
. This new module contains an OTLP exporter that transmits log telemetry using gRPC. This module is unstable and breaking changes may be introduced. See our versioning policy for more information about these stability guarantees. (#5629) - Add
Walk
function toTraceState
ingo.opentelemetry.io/otel/trace
to iterate all the key-value pairs. (#5651) - Bridge the trace state in
go.opentelemetry.io/otel/bridge/opencensus
. (#5651) - Zero value of
SimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
no longer panics. (#5665) - The
FilterProcessor
interface type is added ingo.opentelemetry.io/otel/sdk/log/internal/x
. This is an optional and experimental interface that logProcessor
s can implement to instruct theLogger
if aRecord
will be processed or not. It replaces the existingEnabled
method that is removed from theProcessor
interface itself. It does not fall within the scope of the OpenTelemetry Go versioning and stability policy and it may be changed in backwards incompatible ways or removed in feature releases. (#5692) - Support Go 1.23. (#5720)
Changed
NewMemberRaw
,NewKeyProperty
andNewKeyValuePropertyRaw
ingo.opentelemetry.io/otel/baggage
allow UTF-8 string in key. (#5132)Processor.OnEmit
ingo.opentelemetry.io/otel/sdk/log
now accepts a pointer toRecord
instead of a value so that the record modifications done in a processor are propagated to subsequent registered processors. (#5636)SimpleProcessor.Enabled
ingo.opentelemetry.io/otel/sdk/log
now returnsfalse
if the exporter isnil
. (#5665)- Update the concurrency requirements of
Exporter
ingo.opentelemetry.io/otel/sdk/log
. (#5666) SimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
synchronizesOnEmit
calls. (#5666)- The
Processor
interface ingo.opentelemetry.io/otel/sdk/log
no longer includes theEnabled
method. See theFilterProcessor
interface type added ingo.opentelemetry.io/otel/sdk/log/internal/x
to continue providing this functionality. (#5692) - The
SimpleProcessor
type ingo.opentelemetry.io/otel/sdk/log
is no longer comparable. (#5693) - The
BatchProcessor
type ingo.opentelemetry.io/otel/sdk/log
is no longer comparable. (#5693)
Fixed
- Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#5584) - Pass the underlying error rather than a generic retry-able failure in
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
,go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
andgo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
. (#5541) - Correct the
Tracer
,Meter
, andLogger
names used ingo.opentelemetry.io/otel/example/dice
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/namedtracer
. (#5612) - Correct the
Tracer
name used ingo.opentelemetry.io/otel/example/opencensus
. (#5612) - Correct the
Tracer
andMeter
names used ingo.opentelemetry.io/otel/example/otel-collector
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/passthrough
. (#5612) - Correct the
Meter
name used ingo.opentelemetry.io/otel/example/prometheus
. (#5612) - Correct the
Tracer
names used ingo.opentelemetry.io/otel/example/zipkin
. (#5612) - Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
. (#5641) - Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
. (#5650) - Stop percent encoding header environment variables in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
(#5705) - Remove invalid environment variable header keys in
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
,go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp
,go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
andgo.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
(#5705)
Removed
- The
Enabled
method of theSimpleProcessor
ingo.opentelemetry.io/otel/sdk/log
is removed. (#5692) - The
Enabled
method of theBatchProcessor
ingo.opentelemetry.io/otel/sdk/log
is removed. (#5692)
What's Changed
- Upgrade Go versions in CI by @MrAlias in #5570
- fix(deps): update module google.golang.org/grpc to v1.65.0 by @renovate in #5568
- fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.4.0 by @renovate in #5571
- fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.3.0 by @renovate in #5573
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.53.0 by @renovate in #5574
- Implement otlploggrpc gRPC client by @XSAM in #5572
- chore(deps): update module golang.org/x/sys to v0.22.0 by @renovate in #5576
- chore(deps): update module golang.org/x/net to v0.27.0 by @renovate in #5581
- Enable benchmark summary for release by @XSAM in #5527
- sdk/log: Add package example by @pellared in #5579
- [chore] Update macOS runners by @pellared in #5577
- fix(deps): update module golang.org/x/tools to v0.23.0 by @renovate in #5583
- fix(deps): update golang.org/x/exp digest to 46b0784 by @renovate in #5585
- baggage: Fix invalid percent-encoded octet sequences by @santileira in #5528
- Extend trace config benchmarks to run each option individually by @dmathieu in #5566
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 654c5fe by @renovate in #5587
- Protect released changelog in CI by @XSAM in #5560
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 4ad9e85 by @renovate in #5588
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 4ad9e85 by @renovate in #5589
- Correct the comment for the priority of options and environments on otlptracehttp by @XSAM in #5584
- [chore] Add missing changelog entry for #5577 by @pellared in #5586
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 40e1e62 by @renovate in #5592
- Implement otlploggrpc exporter by @XSAM in #5582
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 40e1e62 by @renovate in #5593
- fix(deps): update module go.opentelemetry.io/build-tools/crosslink to v0.14.0 by @renovate in #5594
- fix(deps): update module go.opentelemetry.io/build-tools/gotmpl to v0.14.0 by @renovate in #5595
- fix(deps): update module go.opentelemetry.io/build-tools/multimod to v0.14.0 by @renovate in #5596
- fix(deps): update module go.opentelemetry.io/build-tools/semconvgen to v0.14.0 by @renovate in #5597
- chore(deps): update prom/prometheus docker tag to v2.53.1 by @renovate in #5603
- chore(deps): update jaegertracing/all-in-one docker tag to v1.59 by @renovate in #5605
- Add TestSpanStartConfigAttributeMutability by @MrAlias in #5591
- log: Add missing notice to Bytes, Slice, Map doc comment by @pellared in #5598
- Add TestConfigLinkMutability by @MrAlias in https://github.c...
Releases v1.28.0/v0.50.0/v0.4.0
Overview
Added
- The
IsEmpty
method is added to theInstrument
type ingo.opentelemetry.io/otel/sdk/metric
.
This method is used to check if anInstrument
instance is a zero-value. (#5431) - Store and provide the emitted
context.Context
inScopeRecords
ofgo.opentelemetry.io/otel/sdk/log/logtest
. (#5468) - The
go.opentelemetry.io/otel/semconv/v1.26.0
package.
The package contains semantic conventions from thev1.26.0
version of the OpenTelemetry Semantic Conventions. (#5476) - The
AssertRecordEqual
method togo.opentelemetry.io/otel/log/logtest
to allow comparison of two log records in tests. (#5499) - The
WithHeaders
option togo.opentelemetry.io/otel/exporters/zipkin
to allow configuring custom http headers while exporting spans. (#5530)
Changed
Tracer.Start
ingo.opentelemetry.io/otel/trace/noop
no longer allocates a span for empty span context. (#5457)- Upgrade
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
ingo.opentelemetry.io/otel/example/otel-collector
. (#5490) - Upgrade
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
ingo.opentelemetry.io/otel/example/zipkin
. (#5490) - Upgrade
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
ingo.opentelemetry.io/otel/exporters/zipkin
. (#5490)- The exporter no longer exports the deprecated "otel.library.name" or "otel.library.version" attributes.
- Upgrade
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
ingo.opentelemetry.io/otel/sdk/resource
. (#5490) - Upgrade
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
ingo.opentelemetry.io/otel/sdk/trace
. (#5490) SimpleProcessor.OnEmit
ingo.opentelemetry.io/otel/sdk/log
no longer allocates a slice which makes it possible to have a zero-allocation log processing usingSimpleProcessor
. (#5493)- Use non-generic functions in the
Start
method of"go.opentelemetry.io/otel/sdk/trace".Trace
to reduce memory allocation. (#5497) service.instance.id
is populated for aResource
created with"go.opentelemetry.io/otel/sdk/resource".Default
with a default value whenOTEL_GO_X_RESOURCE
is set. (#5520)- Improve performance of metric instruments in
go.opentelemetry.io/otel/sdk/metric
by removing unnecessary calls totime.Now
. (#5545)
Fixed
- Log a warning to the OpenTelemetry internal logger when a
Record
ingo.opentelemetry.io/otel/sdk/log
drops an attribute due to a limit being reached. (#5376) - Identify the
Tracer
returned from the globalTracerProvider
ingo.opentelemetry.io/otel/global
with its schema URL. (#5426) - Identify the
Meter
returned from the globalMeterProvider
ingo.opentelemetry.io/otel/global
with its schema URL. (#5426) - Log a warning to the OpenTelemetry internal logger when a
Span
ingo.opentelemetry.io/otel/sdk/trace
drops an attribute, event, or link due to a limit being reached. (#5434) - Document instrument name requirements in
go.opentelemetry.io/otel/metric
. (#5435) - Prevent random number generation data-race for experimental rand exemplars in
go.opentelemetry.io/otel/sdk/metric
. (#5456) - Fix counting number of dropped attributes of
Record
ingo.opentelemetry.io/otel/sdk/log
. (#5464) - Fix panic in baggage creation when a member contains
0x80
char in key or value. (#5494) - Correct comments for the priority of the
WithEndpoint
andWithEndpointURL
options and their corresponding environment variables ingo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
. (#5508) - Retry trace and span ID generation if it generated an invalid one in
go.opentelemetry.io/otel/sdk/trace
. (#5514) - Fix stale timestamps reported by the last-value aggregation. (#5517)
- Indicate the
Exporter
ingo.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp
must be created by theNew
method. (#5521) - Improved performance in all
{Bool,Int64,Float64,String}SliceValue
functions ofgo.opentelemetry.io/attributes
by reducing the number of allocations. (#5549)
What's Changed
- Recheck log message in TestBatchProcessor by @MrAlias in #5386
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to dc85e6b by @renovate in #5391
- fix(deps): update module go.opentelemetry.io/contrib/bridges/otelslog to v0.2.0 by @renovate in #5395
- fix(deps): update module github.com/go-logr/logr to v1.4.2 by @renovate in #5393
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.52.0 by @renovate in #5396
- chore(deps): update google.golang.org/genproto/googleapis/api digest to d264139 by @renovate in #5397
- fix(deps): update module go.opentelemetry.io/otel/sdk/log to v0.3.0 by @renovate in #5398
- chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.101.0 by @renovate in #5400
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to d264139 by @renovate in #5399
- [chore] example/otel-collector: Fix README title by @pellared in #5404
- Pool
otlploghttp
transform maps by @MrAlias in #5378 - fix(deps): update module golang.org/x/vuln to v1.1.1 by @renovate in #5405
- Fix test name in otlploghttp by @XSAM in #5411
- sdk/log: Fix BenchmarkLoggerNewRecord to not drop attributes by @pellared in #5407
- chore(deps): update dependency codespell to v2.3.0 by @renovate in #5409
- fix(deps): update module github.com/golangci/golangci-lint to v1.59.0 by @renovate in #5419
- fix(deps): update golang.org/x/tools digest to 7045d2e by @renovate in #5406
- fix(deps): update golang.org/x/exp digest to 4c93da0 by @renovate in #5415
- Log a warning when log Record attribute is dropped by @MrAlias in #5376
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to a332354 by @renovate in #5424
- chore(deps): update google.golang.org/genproto/googleapis/api digest to a332354 by @renovate in #5423
- fix(deps): update golang.org/x/tools digest to f10a0f1 by @renovate in #5430
- chore(deps): update google.golang.org/genproto/googleapis/rpc digest to 5315273 by @renovate in #5428
- chore(deps): update google.golang.org/genproto/googleapis/api digest to 5315273 by @renovate in #5427
- fix(deps): update golang.org/x/tools digest to e229045 by @renovate in #5432
- fix(deps): update golang.org/x/exp digest to 23cca88 by @renovate in #5429
- sdk/log: Fix TestBatchProcessor/DroppedLogs flaky test by @amanakin in #5421
- Identify global
Tracer
s andMeter
s with their schema URLs by @MrAlias in #5426 - sdk/log: Fix TestBatchProcessor/ForceFlush/ErrorPartialFlush flaky test by @amanakin in #5416
- Export the Instrument IsEmpty method by @MrAlias in #5431
- fix(deps): update golang.org/x/tools digest to 01018ba by @renovate in #5438
- [chore] ensure codecov uses token by @codeboten in #5440
- fix(deps): update golang.org/x/tools digest to 8d54ca1 by @renovate in #5441
- fix(deps): update golang.org/x/tools digest to 2e977dd by @renovate in #5442
- Remove zeroInstrumentKind by @MrAlias in #5433
- Log warning when a trace attribute/event/link is discarded due to limits by @MrAlias in #5434
- Remove opentelemetry-proto in .gitsubmodule by @YHM404 in #5267
- Document instrument name requirements by @MrAlias in #5435
- fix(deps): update golang.org/x/exp digest to 404ba88 by @renovate in #5445
- Move
MonotonicEndTime
to only use by @MrAlias in #5443 - fix(deps): update golang.org/x/tools digest to 624dbd0 by @renovate in #5446
- fix(deps): update golang.org/x/exp digest to fd00a4e by @renovate in https://github.com/open-tele...
Release 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 #5258
- log/logtest: add Record Factory by @dmathieu in #5263
- stdoutlog: Do not print timestamps when WithoutTimestamps is set by @XSAM in #5241
- Add example for stdoutlog by @XSAM in #5242
- Remove context check on stdout exporters by @prasad-shirodkar in #5189
- Fix flaky test TestBufferExporter/Shutdown/ContextCancelled by @XSAM in #5261
- Add
otlploggrpc
exporter skeleton by @XSAM in #5246 - build(deps): bump lycheeverse/lychee-action from 1.9.3 to 1.10.0 by @dependabot in #5266
- chore: fix function names in comment by @dockercui in #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 #5265
- docs: update variable name in documentation by @codeboten in #5270
- Use empty resource when
RecordFactory.Resource
isnil
by @MrAlias in #5264 - Truncate and de-duplicate log attribute values by @MrAlias in #5230
- Add changelog entry for #5230 by @MrAlias in #5277
- docs: Add otlploghttp package in exporters README.md by @arukiidou in #5274
- The stdoutlog exporter prints
DroppedAttributes
field instead ofLimit
s fields by @XSAM in #5272 - Test scope and resource transforms in
otlploghttp
by @MrAlias in #5278 - Add README template to semconvkit by @MrAlias in #5279
- Use docker compose in otel collector example by @XSAM in #5244
- [chore] dependabot updates Sun May 5 15:58:12 UTC 2024 by @opentelemetrybot in #5300
- build(deps): bump codecov/codecov-action from 4.3.0 to 4.3.1 by @dependabot in #5296
- docs: Update Go logs status to alpha in README.md by @arukiidou in #5299
- docs: Add logs exporters in README.md by @arukiidou in #5298
- Use reflect to construct a Record in
logtest
by @MrAlias in #5275 - Fix type error in float64 instrument documentation by @MrAlias in #5302
- Fix HistogramConfig documentation by @MrAlias in #5301
- feat: opt for concatenation instead of using fmt.Sprintf by @moisesvega in #5286
- Emit attributes slices as their json representation by @dmathieu in #5159
- Refactor exemplars to not use generic argument by @MrAlias in #5285
- Upgrade default go verison to 1.22.3 by @XSAM in #5314
- Log records dropped by the BatchProcessor by @MrAlias in #5276
- Rename synchronous instrument names in global test by @MrAlias in #5303
- chore: Configure Renovate by @renovate in #5309
- chore(deps): update module github.com/golang/groupcache to v0.0.0-20210331224755-41bb18bfe9da by @renovate in #5320
- chore(deps): update module google.golang.org/genproto/googleapis/api to v0.0.0-20240506185236-b8a5c65736ae by @renovate in #5321
- chore(deps): update module gopkg.in/check.v1 to v1.0.0-20201130134442-10cb98267c6c by @renovate in #5326
- chore(deps): update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240506185236-b8a5c65736ae by @renovate in #5325
- fix(deps): update module golang.org/x/exp to v0.0.0-20240506185415-9bf2ced13842 by @renovate in #5327
- chore(deps): update module github.com/prometheus/common to v0.53.0 by @renovate in #5332
- chore(deps): update module golang.org/x/net to v0.25.0 by @renovate in #5335
- fix(deps): update module google.golang.org/protobuf to v1.34.1 by @renovate in #5328
- chore(deps): update module github.com/prometheus/procfs to v0.14.0 by @renovate in #5333
- chore(deps): update module github.com/cespare/xxhash/v2 to v2.3.0 by @renovate in #5330
- chore(deps): update module github.com/rogpeppe/go-internal to v1.12.0 by @renovate in #5334
- fix(deps): update module github.com/golangci/golangci-lint to v1.58.1 by @renovate in #5340
- Merge Span.AddLink tests by @perhapsmaple in #5115
- exporters/otlp/otlptrace: fix incorrect documentation by @kevinburkesegment in #5098
- Generate
internal/retry
inotlploggrpc
by @XSAM in #5313 - fix(deps): update module github.com/prometheus/client_golang to v1.19.1 by @renovate in #5341
- chore(deps): update jaegertracing/all-in-one docker tag to v1.57 by @renovate in #5329...
Release 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: v1.25.0...v1.26.0
Release 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 #5048
- @MickaelAlliel made their first contribution in #4906
- @s4s7 made their first contribution in #5096
- @Kielek made their first contribution in #5108
- @q-cheng made their first contribution in #5032
- @carrbs made their first contribution in #4880
Full Changelog: v1.24.0...v1.25.0
Release 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 #4920
- @yizeng made their first contribution in #4947
- @ntriamme made their first contribution in #4945
- @ericayin made their first contribution in #4956
Full Changelog: v1.23.1...v1.24.0
Release 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)
Release v1.23.0/v0.45.1
This release contains the first stable, v1
, release of the following modules:
go.opentelemetry.io/otel/bridge/opencensus
go.opentelemetry.io/otel/bridge/opencensus/test
go.opentelemetry.io/otel/example/opencensus
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric
See our versioning policy for more information about these stability guarantees.
Added
- Add
WithEndpointURL
option to theexporters/otlp/otlpmetric/otlpmetricgrpc
,exporters/otlp/otlpmetric/otlpmetrichttp
,exporters/otlp/otlptrace/otlptracegrpc
andexporters/otlp/otlptrace/otlptracehttp
packages. (#4808) - Experimental exemplar exporting is added to the metric SDK. See metric documentation for more information about this feature and how to enable it. (#4871)
ErrSchemaURLConflict
is added togo.opentelemetry.io/otel/sdk/resource
. This error is returned when a merge of twoResource
s with different (non-empty) schema URL is attempted. (#4876)
Changed
- The
Merge
andNew
functions ingo.opentelemetry.io/otel/sdk/resource
now returns a partial result if there is a schema URL merge conflict. Instead of returningnil
when twoResource
s with different (non-empty) schema URLs are merged the mergedResource
, along with the newErrSchemaURLConflict
error, is returned. It is up to the user to decide if they want to use the returnedResource
or not. It may have desired attributes overwritten or include stale semantic conventions. (#4876)
Fixed
- Fix
ContainerID
resource detection on systemd when cgroup path has a colon. (#4449) - Fix
go.opentelemetry.io/otel/sdk/metric
to cache instruments to avoid leaking memory when the same instrument is created multiple times. (#4820) - Fix missing
Mix
andMax
values forgo.opentelemetry.io/otel/exporters/stdout/stdoutmetric
by introducingMarshalText
andMarshalJSON
for theExtrema
type ingo.opentelemetry.io/sdk/metric/metricdata
. (#4827)
New Contributors
- @Fricounet made their first contribution in #4449
- @StLeoX made their first contribution in #4855
- @m-posluszny made their first contribution in #4827
Full Changelog: v1.22.0...v1.23.0