All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
This project adheres to Semantic Versioning.
- Added support for providing
endpoint
,pollingIntervalMs
andinitialSamplingRate
using environment variableOTEL_TRACES_SAMPLER_ARG
ingo.opentelemetry.io/contrib/samples/jaegerremote
. (#6310)
- Fixed the value for configuring the OTLP exporter to use
grpc
instead ofgrpc/protobuf
ingo.opentelemetry.io/contrib/config
. (#6338)
1.32.0/0.57.0/0.26.0/0.12.0/0.7.0/0.5.0/0.4.0 - 2024-11-08
- Add the
WithSource
option to thego.opentelemetry.io/contrib/bridges/otelslog
log bridge to set thecode.*
attributes in the log record that includes the source location where the record was emitted. (#6253) - Add
ContextWithStartTime
andStartTimeFromContext
togo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
, which allows setting the start time using go context. (#6137) - Set the
code.*
attributes ingo.opentelemetry.io/contrib/bridges/otelzap
if thezap.Logger
was created with theAddCaller
orAddStacktrace
option. (#6268) - Add a
LogProcessor
togo.opentelemetry.io/contrib/processors/baggagecopy
to copy baggage members to log records. (#6277)- Use
baggagecopy.NewLogProcessor
when configuring a Log Provider.NewLogProcessor
accepts aFilter
function type that selects which baggage members are added to the log record.
- Use
- Transform raw (
slog.KindAny
) attribute values to matchinglog.Value
types. For example,[]string{"foo", "bar"}
attribute value is now transformed tolog.SliceValue(log.StringValue("foo"), log.StringValue("bar"))
instead oflog.String("[foo bar"])
. (#6254) - Upgrade
go.opentelemetry.io/otel/semconv/v1.17.0
togo.opentelemetry.io/otel/semconv/v1.21.0
ingo.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo
. (#6272) - Resource doesn't merge with defaults if a valid resource is configured in
go.opentelemetry.io/contrib/config
. (#6289)
- Transform nil attribute values to
log.Value
zero value instead of panicking ingo.opentelemetry.io/contrib/bridges/otellogrus
. (#6237) - Transform nil attribute values to
log.Value
zero value instead of panicking ingo.opentelemetry.io/contrib/bridges/otelzap
. (#6237) - Transform nil attribute values to
log.Value
zero value instead oflog.StringValue("<nil>")
ingo.opentelemetry.io/contrib/bridges/otelslog
. (#6246) - Fix
NewClientHandler
so thatrpc.client.request.*
metrics measure requests instead of responses andrpc.client.responses.*
metrics measure responses instead of requests ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#6250) - Fix issue in
go.opentelemetry.io/contrib/config
causingotelprom.WithResourceAsConstantLabels
configuration to not be respected. (#6260) otel.Handle
is no longer called on a successful shutdown of the Prometheus exporter ingo.opentelemetry.io/contrib/config
. (#6299)
1.31.0/0.56.0/0.25.0/0.11.0/0.6.0/0.4.0/0.3.0 - 2024-10-14
- The
Severitier
andSeverityVar
types are added togo.opentelemetry.io/contrib/processors/minsev
allowing dynamic configuration of the severity used by theLogProcessor
. (#6116) - Move examples from
go.opentelemetry.io/otel
to this repository underexamples
directory. (#6158) - Support yaml/json struct tags for generated code in
go.opentelemetry.io/contrib/config
. (#5433) - Add support for parsing YAML configuration via
ParseYAML
ingo.opentelemetry.io/contrib/config
. (#5433) - Add support for temporality preference configuration in
go.opentelemetry.io/contrib/config
. (#5860)
- The function signature of
NewLogProcessor
ingo.opentelemetry.io/contrib/processors/minsev
has changed to accept the addedSeveritier
interface instead of alog.Severity
. (#6116) - Updated
go.opentelemetry.io/contrib/config
to use the v0.3.0 release of schema which includes backwards incompatible changes. (#6126) NewSDK
ingo.opentelemetry.io/contrib/config
now returns a no-op SDK ifdisabled
is set totrue
. (#6185)- The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
package has found a Code Owner. The package is no longer deprecated. (#6207)
- Possible nil dereference panic in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
. (#5965) logrus.Level
transformed to appropriatelog.Severity
ingo.opentelemetry.io/contrib/bridges/otellogrus
. (#6191)
- The
Minimum
field of theLogProcessor
ingo.opentelemetry.io/contrib/processors/minsev
is removed. UseNewLogProcessor
to configure this setting. (#6116) - The deprecated
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
package is removed. (#6186) - The deprecated
go.opentelemetry.io/contrib/samplers/aws/xray
package is removed. (#6187)
1.30.0/0.55.0/0.24.0/0.10.0/0.5.0/0.3.0/0.2.0 - 2024-09-10
- Add
NewProducer
togo.opentelemetry.io/contrib/instrumentation/runtime
, which allows collecting thego.schedule.duration
histogram metric from the Go runtime. (#5991) - Add gRPC protocol support for OTLP log exporter in
go.opentelemetry.io/contrib/exporters/autoexport
. (#6083)
- Drop support for Go 1.21. (#6046, #6047)
- Superfluous call to
WriteHeader
when flushing after setting a status code ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#6074) - Superfluous call to
WriteHeader
when writing the response body after setting a status code ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#6055)
1.29.0/0.54.0/0.23.0/0.9.0/0.4.0/0.2.0/0.1.0 - 2024-08-23
This release is the last to support Go 1.21. The next release will require at least Go 1.22.
- Add the
WithSpanAttributes
andWithMetricAttributes
methods to set custom attributes to the stats handler ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#5133) - The
go.opentelemetry.io/contrib/bridges/otelzap
module. This module provides an OpenTelemetry logging bridge forgo.uber.org/zap
. (#5191) - Support for the
OTEL_HTTP_CLIENT_COMPATIBILITY_MODE=http/dup
environment variable ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
to emit attributes for both the v1.20.0 and v1.26.0 semantic conventions. (#5401) - The
go.opentelemetry.io/contrib/bridges/otelzerolog
module. This module provides an OpenTelemetry logging bridge forgithub.com/rs/zerolog
. (#5405) - Add
WithGinFilter
filter parameter ingo.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
to allow filtering requests with*gin.Context
. (#5743) - Support for stdoutlog exporter in
go.opentelemetry.io/contrib/config
. (#5850) - Add macOS ARM64 platform to the compatibility testing suite. (#5868)
- Add new runtime metrics to
go.opentelemetry.io/contrib/instrumentation/runtime
, which are still disabled by default. (#5870) - Add the
WithMetricsAttributesFn
option to allow setting dynamic, per-request metric attributes ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#5876) - The
go.opentelemetry.io/contrib/config
package supports configuringwith_resource_constant_labels
for the prometheus exporter. (#5890) - Support Go 1.23. (#6017)
- The deprecated
go.opentelemetry.io/contrib/processors/baggagecopy
package is removed. (#5853)
- Race condition when reading the HTTP body and writing the response in
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#5916)
1.28.0/0.53.0/0.22.0/0.8.0/0.3.0/0.1.0 - 2024-07-02
- Add the new
go.opentelemetry.io/contrib/detectors/azure/azurevm
package to provide a resource detector for Azure VMs. (#5422) - Add support to configure views when creating MeterProvider using the config package. (#5654)
- The
go.opentelemetry.io/contrib/config
add support to configure periodic reader interval and timeout. (#5661) - Add log support for the autoexport package. (#5733)
- Add support for disabling the old runtime metrics using the
OTEL_GO_X_DEPRECATED_RUNTIME_METRICS=false
environment variable. (#5747) - Add support for signal-specific protocols environment variables (
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
,OTEL_EXPORTER_OTLP_LOGS_PROTOCOL
,OTEL_EXPORTER_OTLP_METRICS_PROTOCOL
) ingo.opentelemetry.io/contrib/exporters/autoexport
. (#5816) - The
go.opentelemetry.io/contrib/processors/minsev
module is added. This module provides and experimental logging processor with a configurable threshold for the minimum severity records must have to be recorded. (#5817) - The
go.opentelemetry.io/contrib/processors/baggagecopy
module. This module is a replacement ofgo.opentelemetry.io/contrib/processors/baggage/baggagetrace
. (#5824)
- Improve performance of
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
with the usage ofWithAttributeSet()
instead ofWithAttribute()
. (#5664) - Improve performance of
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
with the usage ofWithAttributeSet()
instead ofWithAttribute()
. (#5664) - Update
go.opentelemetry.io/contrib/config
to latest released configuration schema which introduces breaking changes whereAttributes
is now amap[string]interface{}
. (#5758) - Upgrade all dependencies of
go.opentelemetry.io/otel/semconv/v1.25.0
togo.opentelemetry.io/otel/semconv/v1.26.0
. (#5847)
- Custom attributes targeting metrics recorded by the
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
are not ignored anymore. (#5129) - The double setup in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace/example
that caused duplicate traces. (#5564) - The superfluous
response.WriteHeader
call ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
when the response writer is flushed. (#5634) - Use
c.FullPath()
method to sethttp.route
attribute ingo.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
. (#5734) - Out-of-bounds panic in case of invalid span ID in
go.opentelemetry.io/contrib/propagators/b3
. (#5754)
- The
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
package is deprecated. If you would like to become a Code Owner of this module and prevent it from being removed, see #5550. (#5645) - The
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
package is deprecated. If you would like to become a Code Owner of this module and prevent it from being removed, see #5552. (#5646) - The
go.opentelemetry.io/contrib/samplers/aws/xray
package is deprecated. If you would like to become a Code Owner of this module and prevent it from being removed, see #5554. (#5647) - The
go.opentelemetry.io/contrib/processors/baggage/baggagetrace
package is deprecated. Use the addedgo.opentelemetry.io/contrib/processors/baggagecopy
package instead. (#5824)- Use
baggagecopy.NewSpanProcessor
as a replacement forbaggagetrace.New
.NewSpanProcessor
accepts aFilter
function type that selects which baggage members are added to a span.NewSpanProcessor
returns a*baggagecopy.SpanProcessor
instead of atrace.SpanProcessor
interface. The returned type still implements the interface.
- Use
1.27.0/0.52.0/0.21.0/0.7.0/0.2.0 - 2024-05-21
- Add an experimental
OTEL_METRICS_PRODUCERS
environment variable togo.opentelemetry.io/contrib/autoexport
to be set metrics producers. (#5281)prometheus
andnone
are supported values. You can specify multiple producers separated by a comma.- Add
WithFallbackMetricProducer
option that adds a fallback if theOTEL_METRICS_PRODUCERS
is not set or empty.
- The
go.opentelemetry.io/contrib/processors/baggage/baggagetrace
module. This module provides a Baggage Span Processor. (#5404) - Add gRPC trace
Filter
for stats handler togo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#5196) - Add a repository Code Ownership Policy. (#5555)
- The
go.opentelemetry.io/contrib/bridges/otellogrus
module. This module provides an OpenTelemetry logging bridge forgithub.com/sirupsen/logrus
. (#5355) - The
WithVersion
option function ingo.opentelemetry.io/contrib/bridges/otelslog
. This option function is used as a replacement ofWithInstrumentationScope
to specify the logged package version. (#5588) - The
WithSchemaURL
option function ingo.opentelemetry.io/contrib/bridges/otelslog
. This option function is used as a replacement ofWithInstrumentationScope
to specify the semantic convention schema URL for the logged records. (#5588) - Add support for Cloud Run jobs in
go.opentelemetry.io/contrib/detectors/gcp
. (#5559)
-
The gRPC trace
Filter
for interceptor is renamed toInterceptorFilter
. (#5196) -
The gRPC trace filter functions
Any
,All
,None
,Not
,MethodName
,MethodPrefix
,FullMethodName
,ServiceName
,ServicePrefix
andHealthCheck
for interceptor are moved togo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/filters/interceptor
. With this change, the filters ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
are now working for stats handler. (#5196) -
NewSDK
ingo.opentelemetry.io/contrib/config
now returns a configured SDK with a validLoggerProvider
. (#5427) -
NewLogger
now accepts aname
string
as the first argument. This parameter is used as a replacement ofWithInstrumentationScope
to specify the name of the logger backing the underlyingHandler
. (#5588) -
NewHandler
now accepts aname
string
as the first argument. This parameter is used as a replacement ofWithInstrumentationScope
to specify the name of the logger backing the returnedHandler
. (#5588) -
Upgrade all dependencies of
go.opentelemetry.io/otel/semconv/v1.24.0
togo.opentelemetry.io/otel/semconv/v1.25.0
. (#5605)
- The
WithInstrumentationScope
option function ingo.opentelemetry.io/contrib/bridges/otelslog
is removed. Use thename
parameter added toNewHandler
andNewLogger
as well asWithVersion
andWithSchema
as replacements. (#5588)
- The
InterceptorFilter
type ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
is deprecated. (#5196)
1.26.0/0.51.0/0.20.0/0.6.0/0.1.0 - 2024-04-24
NewSDK
ingo.opentelemetry.io/contrib/config
now returns a configured SDK with a validMeterProvider
. (#4804)
- Change the scope name for the prometheus bridge to
go.opentelemetry.io/contrib/bridges/prometheus
to match the package. (#5396) - Add support for settings additional properties for resource configuration in
go.opentelemetry.io/contrib/config
. (#4832)
- Fix bug where an empty exemplar was added to counters in
go.opentelemetry.io/contrib/bridges/prometheus
. (#5395) - Fix bug where the last histogram bucket was missing in
go.opentelemetry.io/contrib/bridges/prometheus
. (#5395)
1.25.0/0.50.0/0.19.0/0.5.0/0.0.1 - 2024-04-05
- Implemented setting the
cloud.resource_id
resource attribute ingo.opentelemetry.io/detectors/aws/ecs
based on the ECS Metadata v4 endpoint. (#5091) - The
go.opentelemetry.io/contrib/bridges/otelslog
module. This module provides an OpenTelemetry logging bridge for "log/slog". (#5335)
- Update all dependencies to address GO-2024-2687. (#5359)
- Drop support for Go 1.20. (#5163)
1.24.0/0.49.0/0.18.0/0.4.0 - 2024-02-23
This release is the last to support Go 1.20. The next release will require at least Go 1.21.
- Support Go 1.22. (#5082)
- Add support for Summary metrics to
go.opentelemetry.io/contrib/bridges/prometheus
. (#5089) - Add support for Exponential (native) Histograms in
go.opentelemetry.io/contrib/bridges/prometheus
. (#5093)
- The deprecated
RequestCount
constant ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is removed. (#4894) - The deprecated
RequestContentLength
constant ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is removed. (#4894) - The deprecated
ResponseContentLength
constant ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is removed. (#4894) - The deprecated
ServerLatency
constant ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is removed. (#4894)
- Retrieving the body bytes count in
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
does not cause a data race anymore. (#5080)
1.23.0/0.48.0/0.17.0/0.3.0 - 2024-02-06
- Add client metric support to
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#4707) - Add peer attributes to spans recorded by
NewClientHandler
,NewServerHandler
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4873) - Add support for
cloud.account.id
,cloud.availability_zone
andcloud.region
in the AWS ECS detector. (#4860)
- The fallback options in
go.opentelemetry.io/contrib/exporters/autoexport
now accept factory functions. (#4891)WithFallbackMetricReader(metric.Reader) MetricOption
is replaced withfunc WithFallbackMetricReader(func(context.Context) (metric.Reader, error)) MetricOption
.WithFallbackSpanExporter(trace.SpanExporter) SpanOption
is replaced withWithFallbackSpanExporter(func(context.Context) (trace.SpanExporter, error)) SpanOption
.
- The
http.server.request_content_length
metric ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is changed tohttp.server.request.size
.(#4707) - The
http.server.response_content_length
metric ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is changed tohttp.server.response.size
.(#4707)
- The
RequestCount
,RequestContentLength
,ResponseContentLength
,ServerLatency
constants ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
are deprecated. (#4707)
- Do not panic in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
ifMeterProvider
returns anil
instrument. (#4875)
1.22.0/0.47.0/0.16.0/0.2.0 - 2024-01-18
- Add
SDK.Shutdown
method in"go.opentelemetry.io/contrib/config"
. (#4583) NewSDK
ingo.opentelemetry.io/contrib/config
now returns a configured SDK with a validTracerProvider
. (#4741)
- The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace/example
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/example
are upgraded to v1.20.0. (#4320) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
are upgraded to v1.20.0. (#4320) - Updated configuration schema to include
schema_url
for resource definition andwithout_type_suffix
andwithout_units
for the Prometheus exporter. (#4727) - The semantic conventions used by the
go.opentelemetry.io/contrib/detectors/aws/ecs
resource detector are upgraded to v1.24.0. (#4803) - The semantic conventions used by the
go.opentelemetry.io/contrib/detectors/aws/lambda
resource detector are upgraded to v1.24.0. (#4803) - The semantic conventions used by the
go.opentelemetry.io/contrib/detectors/aws/ec2
resource detector are upgraded to v1.24.0. (#4803) - The semantic conventions used by the
go.opentelemetry.io/contrib/detectors/aws/eks
resource detector are upgraded to v1.24.0. (#4803) - The semantic conventions used by the
go.opentelemetry.io/contrib/detectors/gcp
resource detector are upgraded to v1.24.0. (#4803) - The semantic conventions used in
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/test
are upgraded to v1.24.0. (#4803)
- Fix
NewServerHandler
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
to correctly set the span status depending on the gRPC status. (#4587) - The
stats.Handler
fromgo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
now does not crash when receiving an unexpected context. (#4825) - Update
go.opentelemetry.io/contrib/detectors/aws/ecs
to fix the task ARN when it is not valid. (#3583) - Do not panic in
go.opentelemetry.io/contrib/detectors/aws/ecs
when the container ARN is not valid. (#3583)
1.21.1/0.46.1/0.15.1/0.1.1 - 2023-11-16
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.21.0
/v0.44.0
release. (#4582)
- Fix
StreamClientInterceptor
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
to end the spans synchronously. (#4537) - Fix data race in stats handlers when processing messages received and sent metrics in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4577) - The stats handlers
NewClientHandler
,NewServerHandler
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
now record RPC durations inms
instead ofns
. (#4548)
1.21.0/0.46.0/0.15.0/0.1.0 - 2023-11-10
- Add
"go.opentelemetry.io/contrib/samplers/jaegerremote".WithSamplingStrategyFetcher
which sets custom fetcher implementation. (#4045) - Add
"go.opentelemetry.io/contrib/config"
package that includes configuration models generated via go-jsonschema. (#4376) - Add
NewSDK
function to"go.opentelemetry.io/contrib/config"
. The initial implementation only returns noop providers. (#4414) - Add metrics support (No-op, OTLP and Prometheus) to
go.opentelemetry.io/contrib/exporters/autoexport
. (#4229, #4479) - Add support for
console
span exporter and metrics exporter ingo.opentelemetry.io/contrib/exporters/autoexport
. (#4486) - Set unit and description on all instruments in
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#4500) - Add metric support for
grpc.StatsHandler
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4356) - Expose the name of the scopes in all instrumentation libraries as
ScopeName
. (#4448)
- Dropped compatibility testing for Go 1.19. The project no longer guarantees support for this version of Go. (#4352)
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.20.0
/v0.43.0
release. (#4546) - In
go.opentelemetry.io/contrib/exporters/autoexport
,Option
was renamed toSpanOption
. The old name is deprecated but continues to be supported as an alias. (#4229)
- The interceptors (
UnaryClientInterceptor
,StreamClientInterceptor
,UnaryServerInterceptor
,StreamServerInterceptor
,WithInterceptorFilter
) are deprecated. Use stats handlers (NewClientHandler
,NewServerHandler
) instead. (#4534)
- The
go.opentelemetry.io/contrib/samplers/jaegerremote
sampler does not panic when the default HTTP round-tripper (http.DefaultTransport
) is not*http.Transport
. (#4045) - The
UnaryServerInterceptor
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
now sets gRPC status code correctly for therpc.server.duration
metric. (#4481) - The
NewClientHandler
,NewServerHandler
ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
now honorotelgrpc.WithMessageEvents
options. (#4536) - The
net.sock.peer.*
andnet.peer.*
high cardinality attributes are removed from the metrics generated bygo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4322)
1.20.0/0.45.0/0.14.0 - 2023-09-28
- Set the description for the
rpc.server.duration
metric ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4302) - Add
NewServerHandler
andNewClientHandler
that return agrpc.StatsHandler
used for gRPC instrumentation ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#3002) - Add new Prometheus bridge module in
go.opentelemetry.io/contrib/bridges/prometheus
. (#4227)
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.19.0
/v0.42.0
/v0.0.7
release. - Use
grpc.StatsHandler
for gRPC instrumentation ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example
. (#4325)
1.19.0/0.44.0/0.13.0 - 2023-09-12
- Add
gcp.gce.instance.name
andgcp.gce.instance.hostname
resource attributes togo.opentelemetry.io/contrib/detectors/gcp
. (#4263)
- The semantic conventions used by
go.opentelemetry.io/contrib/detectors/aws/ec2
have been upgraded to v1.21.0. (#4265) - The semantic conventions used by
go.opentelemetry.io/contrib/detectors/aws/ecs
have been upgraded to v1.21.0. (#4265) - The semantic conventions used by
go.opentelemetry.io/contrib/detectors/aws/eks
have been upgraded to v1.21.0. (#4265) - The semantic conventions used by
go.opentelemetry.io/contrib/detectors/aws/lambda
have been upgraded to v1.21.0. (#4265) - The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda
have been upgraded to v1.21.0. (#4265)- The
faas.execution
attribute is nowfaas.invocation_id
. - The
faas.id
attribute is nowaws.lambda.invoked_arn
.
- The
- The semantic conventions used by
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
have been upgraded to v1.21.0. (#4265) - The
http.request.method
attribute will only allow known HTTP methods from the metrics generated bygo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#4277)
- The high cardinality attributes
net.sock.peer.addr
,net.sock.peer.port
,http.user_agent
,enduser.id
, andhttp.client_ip
were removed from the metrics generated bygo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#4277) - The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego
module is removed. (#4295) - The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit
module is removed. (#4295) - The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama
module is removed. (#4295) - The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache
module is removed. (#4295) - The deprecated
go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql
module is removed. (#4295)
1.18.0/0.43.0/0.12.0 - 2023-08-28
- Add
NewMiddleware
function ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#2964) - The
go.opentelemetry.io/contrib/exporters/autoexport
package to provide configuration of trace exporters with useful defaults and environment variable support. (#2753, #4100, #4130, #4132, #4134) WithRouteTag
ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
adds HTTP route attribute to metrics. (#615)- Add
WithSpanOptions
option ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#3768) - Add testing support for Go 1.21. (#4233)
- Add
WithFilter
option togo.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
. (#4230)
- Change interceptors in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
to disableSENT
/RECEIVED
events. UseWithMessageEvents()
to turn back on. (#3964)
go.opentelemetry.io/contrib/detectors/gcp
: Detectfaas.instance
instead offaas.id
, sincefaas.id
is being removed. (#4198)
- AWS XRay Remote Sampling to cap
quotaBalance
to 1x quota ingo.opentelemetry.io/contrib/samplers/aws/xray
. (#3651, #3652) - Do not panic when the HTTP request has the "Expect: 100-continue" header in
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
. (#3892) - Fix span status value set for non-standard HTTP status codes in modules listed below. (#3966)
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
- Do not modify the origin request in
RoundTripper
ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#4033) - Handle empty value of
OTEL_PROPAGATORS
environment variable the same way as when the variable is unset ingo.opentelemetry.io/contrib/propagators/autoprop
. (#4101) - Fix gRPC service/method URL path parsing discrepancies in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#4135)
- The
go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego
module is deprecated. (#4092, #4104) - The
go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit
module is deprecated. (#4093, #4104) - The
go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama
module is deprecated. (#4099) - The
go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache
module is deprecated. (#4164) - The
go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql
module is deprecated. (#4164)
- Remove
Handler
type ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#2964)
1.17.0/0.42.0/0.11.0 - 2023-05-23
- Use
strings.Cut()
instead ofstring.SplitN()
for better readability and memory use. (#3822)
1.17.0-rc.1/0.42.0-rc.1/0.11.0-rc.1 - 2023-05-17
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.16.0-rc.1
/v0.39.0-rc.1
release. - Remove
semver:
prefix from instrumentation version. (#3681, #3798)
SemVersion
functions in instrumentation packages are deprecated, useVersion
instead. (#3681, #3798)
1.16.1/0.41.1/0.10.1 - 2023-05-02
- The
WithPublicEndpoint
andWithPublicEndpointFn
options ingo.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
. (#3661)
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.15.1
/v0.38.1
release
- AWS XRay Remote Sampling to preserve previous rule if updated rule property has not changed in
go.opentelemetry.io/contrib/samplers/aws/xray
. (#3619, #3620)
1.16.0/0.41.0/0.10.0 - 2023-04-28
- AWS SDK add
rpc.system
attribute ingo.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
. (#3582, #3617)
- Update
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
to align gRPC server span status with the changes in the OpenTelemetry specification. (#3685) - Adding the
db.statement
tag to spans ingo.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo
is now disabled by default. (#3519)
- The error received by
otelecho
middleware is then passed back to upstream middleware instead of being swallowed. (#3656) - Prevent taking from reservoir in AWS XRay Remote Sampler when there is zero capacity in
go.opentelemetry.io/contrib/samplers/aws/xray
. (#3684) - Fix
otelhttp.Handler
ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
to propagate multipleWriteHeader
calls while persisting the initialstatusCode
. (#3580)
1.16.0-rc.2/0.41.0-rc.2/0.10.0-rc.2 - 2023-03-23
- The
WithPublicEndpoint
andWithPublicEndpointFn
options ingo.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
. (#3563)
- AWS SDK rename attributes
aws.operation
,aws.service
torpc.method
,rpc.service
ingo.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
. (#3582, #3617) - AWS SDK span name to be of the format
Service.Operation
ingo.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
. (#3582, #3521) - Prevent sampler configuration reset from erroneously sampling first span in
go.opentelemetry.io/contrib/samplers/jaegerremote
. (#3603, #3604)
1.16.0-rc.1/0.41.0-rc.1/0.10.0-rc.1 - 2023-03-02
- Dropped compatibility testing for Go 1.18. The project no longer guarantees support for this version of Go. (#3516)
1.15.0/0.40.0/0.9.0 - 2023-02-27
This release is the last to support Go 1.18. The next release will require at least Go 1.19.
- Support Go 1.20. (#3372)
- Add
SpanNameFormatter
option to packagego.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
. (#3343)
- Change to use protobuf parser instead of encoding/json to accept enums as strings in
go.opentelemetry.io/contrib/samplers/jaegerremote
. (#3183)
- Remove use of deprecated
"math/rand".Seed
ingo.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama/example/producer
. (#3396) - Do not assume "aws" partition in ecs detector to prevent panic in
go.opentelemetry.io/contrib/detectors/aws/ecs
. (#3167) - The span name of producer spans from
go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama
is corrected to usepublish
instead ofsend
. (#3369) - Attribute types are corrected in
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
. (#3369)aws.dynamodb.table_names
is now a string slice value.aws.dynamodb.global_secondary_indexes
is now a string slice value.aws.dynamodb.local_secondary_indexes
is now a string slice value.aws.dynamodb.attribute_definitions
is now a string slice value.aws.dynamodb.global_secondary_index_updates
is now a string slice value.aws.dynamodb.provisioned_read_capacity
is now afloat64
value.aws.dynamodb.provisioned_write_capacity
is now afloat64
value.
1.14.0/0.39.0/0.8.0 - 2023-02-07
- Change
runtime.uptime
instrument ingo.opentelemetry.io/contrib/instrumentation/runtime
fromInt64ObservableUpDownCounter
toInt64ObservableCounter
, since the value is monotonic. (#3347) samplers/jaegerremote
: change to use protobuf parser instead of encoding/json to accept enums as strings. (#3183)
- The GCE detector in
go.opentelemetry.io/contrib/detectors/gcp
includes the "cloud.region" attribute when appropriate. (#3367)
1.13.0/0.38.0/0.7.0 - 2023-01-30
- Add
WithSpanNameFormatter
togo.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
to allow customizing span names. (#3041) - Add missing recommended AWS Lambda resource attributes
faas.instance
andfaas.max_memory
ingo.opentelemetry.io/contrib/detectors/aws/lambda
. (#3148) - Improve documentation for
go.opentelemetry.io/contrib/samplers/jaegerremote
by providing examples of sampling endpoints. (#3147) - Add
WithServerName
togo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
to set the primary server name of aHandler
. (#3182)
- Remove expensive calculation of uncompressed message size attribute in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#3168) - Upgrade all
semconv
packages to usev1.17.0
. (#3182) - Upgrade dependencies of OpenTelemetry Go to use the new
v1.12.0
/v0.35.0
release. (#3190, #3170)
- Implemented retrieving the
aws.ecs.*
resource attributes ingo.opentelemetry.io/detectors/aws/ecs
based on the ECS Metadata v4 endpoint. (#2626) - The
WithLogger
option togo.opentelemetry.io/contrib/samplers/jaegerremote
to allow users to pass alogr.Logger
and have operations logged. (#2566) - Add the
messaging.url
&messaging.system
attributes to all appropriate SQS operations in thego.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
package. (#2879) - Add example use of the metrics signal to
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/example
. (#2610) - [otelgin] Add support for filters to the
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
package to provide the way to control which inbound requests are traced. (#2965, #2963)
- Set the status_code span attribute even if the HTTP handler hasn't written anything. (#2822)
- Do not wrap http.NoBody in
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
, which fixes handling of that special request body. (#2983)
- Add trace context propagation support to
instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
(#2856). - [otelgrpc] Add
WithMeterProvider
function to enable metric and add metricrpc.server.duration
to otelgrpc instrumentation library. (#2700)
- Upgrade dependencies of OpenTelemetry Go to use the new
v1.11.1
/v0.33.0
release
- Upgrade dependencies of the OpenTelemetry Go Metric SDK to use the new
v1.11.0
/v0.32.3
release
- Upgrade dependencies of the OpenTelemetry Go Metric SDK to use the new
v0.32.2
release - Avoid getting a new Tracer for every RPC in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#2835) - Conditionally compute message size for tracing events using proto v2 API rather than legacy v1 API in
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
. (#2647)
- The
Inject
function ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
is deprecated. (#2838) - The
Extract
function ingo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
is deprecated. (#2838)
- Upgrade dependencies of the OpenTelemetry Go Metric SDK to use the new
v0.32.1
release
- Drop support for Go 1.17. The project currently only supports Go 1.18 and above. (#2785)
- Upgrade dependencies of the OpenTelemetry Go Metric SDK to use the new
v0.32.0
release. (#2781, #2756, #2758, #2760, #2762)
- Rename the
Typ
field of"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc".InterceptorInfo
toType
. (#2688) - Use Go 1.19 as the default version for CI testing/linting. (#2675)
- Fix the Jaeger propagator rejecting trace IDs that are both shorter than 128 bits and not exactly 64 bits long (while not being 0). Also fix the propagator rejecting span IDs shorter than 64 bits. This fixes compatibility with Jaeger clients encoding trace and span IDs as variable-length hex strings, as required by the Jaeger propagation format. (#2731)
1.9.0/0.34.0/0.4.0 - 2022-08-02
- Add gRPC trace
Filter
to thego.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
package to provide the way to filter the traces automatically generated in interceptors. (#2572) - The
TextMapPropagator
function togo.opentelemetry.io/contrib/propagators/autoprop
. This function is used to return a compositeTextMapPropagator
from registered names (instead of having to specify with an environment variable). (#2593)
- Upgraded all
semconv
package use tov1.12.0
. (#2589)
1.8.0/0.33.0 - 2022-07-08
- The
go.opentelemetry.io/contrib/propagators/autoprop
package to provide configuration of propagators with useful defaults and envar support. (#2258) WithPublicEndpointFn
hook to dynamically detect public HTTP requests and set their trace parent as a link. (#2342)
- Fix the
otelhttp
,otelgin
,otelmacaron
,otelrestful
middlewares by usingSpanKindServer
when deciding theSpanStatus
. This makes4xx
response codes to not be an error anymore. (#2427)
1.7.0/0.32.0 - 2022-04-28
- Consistent probability sampler implementation. (#1379)
- Upgraded all
semconv
package use tov1.10.0
. This includes a backwards incompatible change for theotelgocql
package to conform with the specification change. Thedb.cassandra.keyspace
attribute is now transmitted as thedb.name
attribute. (#2222)
- Fix the
otelmux
middleware by usingSpanKindServer
when deciding theSpanStatus
. This makes4xx
response codes to not be an error anymore. (#1973) - Fixed jaegerremote sampler not behaving properly with per operation strategy set. (#2137)
- Stopped injecting propagation context into response headers in otelhttp. (#2180)
- Fix issue where attributes for DynamoDB were not added because of a string miss match. (#2272)
- Drop support for Go 1.16. The project currently only supports Go 1.17 and above. (#2314)
1.6.0/0.31.0 - 2022-03-28
- The project is now tested against Go 1.18 (in addition to the existing 1.16 and 1.17) (#1976)
- Upgraded all dependencies on stable modules from
go.opentelemetry.io/otel
from v1.5.0 to v1.6.1. (#2134) - Upgraded all dependencies on metric modules from
go.opentelemetry.io/otel
from v0.27.0 to v0.28.0. (#1977)
- otelhttp: Avoid panic by adding nil check to
wrappedBody.Close
(#2164)
1.5.0/0.30.0/0.1.0 - 2022-03-16
- Added the
go.opentelemetry.io/contrib/samplers/jaegerremote
package. This package implements the Jaeger remote sampler for OpenTelemetry Go. (#936) - DynamoDB spans created with the
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
package now have the appropriate database attributes added for the operation being performed. These attributes are detected automatically, but it is also now possible to provide a custom function to set attributes usingWithAttributeSetter
. (#1582) - Add resource detector for GCP cloud function. (#1584)
- Add OpenTracing baggage extraction to the OpenTracing propagator in
go.opentelemetry.io/contrib/propagators/ot
. (#1880)
- Fix the
echo
middleware by usingSpanKind.SERVER
when deciding theSpanStatus
. This makes4xx
response codes to not be an error anymore. (#1848)
- The deprecated
go.opentelemetry.io/contrib/exporters/metric/datadog
module is removed. (#1920) - The deprecated
go.opentelemetry.io/contrib/exporters/metric/dogstatsd
module is removed. (#1920) - The deprecated
go.opentelemetry.io/contrib/exporters/metric/cortex
module is removed. Use thego.opentelemetry.io/otel/exporters/otlp/otlpmetric
exporter as a replacement to send data to a collector which can then export with its PRW exporter. (#1920)
1.4.0/0.29.0 - 2022-02-14
- Add
WithClientTrace
option togo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
. (#875)
- All metric instruments from the
go.opentelemetry.io/contrib/instrumentation/runtime
package have been renamed fromruntime.go.*
toprocess.runtime.go.*
so as to comply with OpenTelemetry semantic conventions. (#1549)
- Change the
http-server-duration
instrument ingo.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
to record milliseconds instead of microseconds. This changes fixes the code to comply with the OpenTelemetry specification. (#1414, #1537) - Fixed the region reported by the
"go.opentelemetry.io/contrib/detectors/gcp".CloudRun
detector to comply with the OpenTelemetry specification. It no longer includes the project scoped region path, instead just the region. (#1546) - The
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp".Transport
type now correctly handles protocol switching responses. The returned response body implements theio.ReadWriteCloser
interface if the underlying one does. This ensures that protocol switching requests receive a response body that they can write to. (#1329, #1628)
- The
go.opentelemetry.io/contrib/exporters/metric/datadog
module is deprecated. (#1639) - The
go.opentelemetry.io/contrib/exporters/metric/dogstatsd
module is deprecated. (#1639) - The
go.opentelemetry.io/contrib/exporters/metric/cortex
module is deprecated. Use the go.opentelemetry.io/otel/exporters/otlp/otlpmetric exporter as a replacement to send data to a collector which can then export with its PRW exporter. (#1639)
- Remove the
MinMaxSumCount
from cortex and datadog exporter. (#1554) - The
go.opentelemetry.io/contrib/exporters/metric/dogstatsd
exporter no longer support exporting histogram or exact data points. (#1639) - The
go.opentelemetry.io/contrib/exporters/metric/datadog
exporter no longer support exporting exact data points. (#1639)
1.3.0/0.28.0 - 2021-12-10
We have updated the project minimum supported Go version to 1.16
otelhttptrace.NewClientTrace
now usesTracerProvider
from the parent context if one exists and none was set withWithTracerProvider
(#874)
- The
"go.opentelemetry.io/contrib/detector/aws/ecs".Detector
no longer errors if not running in ECS. (#1428) go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
does not require instrumented HTTP handlers to callWrite
norWriteHeader
anymore. (#1443)
1.2.0/0.27.0 - 2021-11-15
- Update dependency on the
go.opentelemetry.io/otel
project tov1.2.0
. go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig
updated to ensure access to theTracerProvider
.- A
NewTracerProvider()
function is available to construct a recommendedTracerProvider
configuration. AllRecommendedOptions()
has been renamed toWithRecommendedOptions()
and takes aTracerProvider
as an argument.EventToCarrier()
andPropagator()
are nowWithEventToCarrier()
andWithPropagator()
to reflect that they returnOption
implementations.
- A
1.1.1/0.26.1 - 2021-11-04
- The
Transport
,Handler
, and HTTP client convenience wrappers in thego.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
package now use theTracerProvider
from the parent context if one exists and none was explicitly set when configuring the instrumentation. (#873) - Semantic conventions now use
go.opentelemetry.io/otel/semconv/v1.7.0"
. (#1385)
1.1.0/0.26.0 - 2021-10-28
Update dependency on the go.opentelemetry.io/otel
project to v1.1.0
.
- Add instrumentation for the
github.com/aws/aws-lambda-go
package. (#983) - Add resource detector for AWS Lambda. (#983)
- Add
WithTracerProvider
option forotelhttptrace.NewClientTrace
. (#1128) - Add optional AWS X-Ray configuration module for AWS Lambda Instrumentation. (#984)
- The
go.opentelemetry.io/contrib/propagators/ot
propagator returns the wordstrue
orfalse
for theot-tracer-sampled
header instead of numerical0
and1
. (#1358)
1.0.0/0.25.0 - 2021-10-06
- Resource detectors and propagators (with the exception of
go. opentelemetry.io/contrib/propagators/opencensus
) are now stable and released at v1.0.0. - Update dependency on the
go.opentelemetry.io/otel
project tov1.0.1
. - Update dependency on
go.opentelemetry.io/otel/metric
tov0.24.0
.
0.24.0 - 2021-09-21
- Update dependency on the
go.opentelemetry.io/otel
project tov1.0.0
.
0.23.0 - 2021-09-08
- Add
WithoutSubSpans
,WithRedactedHeaders
,WithoutHeaders
, andWithInsecureHeaders
options forotelhttptrace.NewClientTrace
. (#879)
- Split
go.opentelemetry.io/contrib/propagators
module intob3
,jaeger
,ot
modules. (#985) otelmongodb
span attributes, name and span status now conform to specification. (#769)- Migrated EC2 resource detector support from root module
go.opentelemetry.io/contrib/detectors/aws
to a separate EC2 resource detector modulego.opentelemetry.io/contrib/detectors/aws/ec2
(#1017) - Add
cloud.provider
andcloud.platform
to AWS detectors. (#1043) otelhttptrace.NewClientTrace
now redacts known sensitive headers by default. (#879)
- Fix span not marked as error in
otelhttp.Transport
whenRoundTrip
fails with an error. (#950)
0.22.0 - 2021-07-26
- Add the
zpages
span processor. (#894)
- The
b3.B3
type has been removed.b3.New()
andb3.WithInjectEncoding(encoding)
are added to replace it. (#868)
- Fix deadlocks and race conditions in
otelsarama.WrapAsyncProducer
. Themessaging.message_id
andmessaging.kafka.partition
attributes are now not set if a message was not processed. (#754) (#755) (#881) - Fix
otelsarama.WrapAsyncProducer
so that the messages from theErrors
channel contain the originalMetadata
. (#754)
0.21.0 - 2021-06-18
- Dockerfile based examples for
otelgin
andotelmacaron
. (#767)
- Supported minimum version of Go bumped from 1.14 to 1.15. (#787)
- EKS Resource Detector now use the Kubernetes Go client to obtain the ConfigMap. (#813)
- Remove service name from
otelmongodb
configuration and span attributes. (#763)
0.20.0 - 2021-04-23
- The
go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo
instrumentation now accepts aWithCommandAttributeDisabled
, so the caller can specify whether to opt-out of tracing the mongo command. (#712) - Upgrade to v0.20.0 of
go.opentelemetry.io/otel
. (#758) - The B3 and Jaeger propagators now store their debug or deferred state in the context.Context instead of the SpanContext. (#758)
0.19.0 - 2021-03-19
- Upgrade to v0.19.0 of
go.opentelemetry.io/otel
. - Fix Span names created in HTTP Instrumentation package to conform with guidelines. (#757)
0.18.0 - 2021-03-04
otelmemcache
no longer sets span status to OK instead of leaving it unset. (#477)- Fix goroutine leak in gRPC
StreamClientInterceptor
. (#581)
- Remove service name from
otelmemcache
configuration and span attributes. (#477)
0.17.0 - 2021-02-15
- Add
ot-tracer
propagator (#562)
- Rename project default branch from
master
tomain
.
- Added failure message for AWS ECS resource detector for better debugging (#568)
- Goroutine leak in gRPC StreamClientInterceptor while streamer returns an error. (#581)
0.16.0 - 2021-01-13
- Fix module path for AWS ECS resource detector (#517)
0.15.1 - 2020-12-14
- Add registry link check to
Makefile
and pre-release script. (#446) - A new AWS X-Ray ID Generator (#459)
- Migrate CircleCI jobs to GitHub Actions (#476)
- Add CodeQL GitHub Action (#506)
- Add gosec workflow to GitHub Actions (#507)
- Fixes the body replacement in otelhttp to not to mutate a nil body. (#484)
0.15.0 - 2020-12-11
- A new Amazon EKS resource detector. (#465)
- A new
gcp.CloudRun
detector for detecting resource from a Cloud Run instance. (#455)
0.14.0 - 2020-11-20
otelhttp.{Get,Head,Post,PostForm}
convenience wrappers for theirhttp
counterparts. (#390)- The AWS detector now adds the cloud zone, host image ID, host type, and host name to the returned
Resource
. (#410) - Add Amazon ECS Resource Detector for AWS X-Ray. (#466)
- Add propagator for AWS X-Ray (#462)
- Add semantic version to
Tracer
/Meter
created by instrumentation packagesotelsaram
,otelrestful
,otelmongo
,otelhttp
andotelhttptrace
. (#412) - Update instrumentation guidelines about tracer / meter semantic version. (#412)
- Replace internal tracer and meter helpers by helpers from
go.opentelemetry.io/otel
. (#414) - gRPC instrumentation sets span attribute
rpc.grpc.status_code
. (#453)
/detectors/aws
no longer fails if instance metadata is not available (e.g. not running in AWS) (#401)- The AWS detector now returns a partial resource and an appropriate error if it encounters an error part way through determining a
Resource
identity. (#410) - The
host
instrumentation unit test has been updated to not depend on the system it runs on. (#426)
0.13.0 - 2020-10-09
- A Jaeger propagator. (#375)
- The
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
package instrumentation no longer accepts aTracer
as an argument to the interceptor function. Instead, a newWithTracerProvider
option is added to configure theTracerProvider
used when creating theTracer
for the instrumentation. (#373) - The
go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
instrumentation now accepts aTracerProvider
rather than aTracer
. (#374) - Remove
go.opentelemetry.io/otel/sdk
dependency from instrumentation. (#381) - Use
httpsnoop
ingo.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
to ensurehttp.ResponseWriter
additional interfaces are preserved. (#388)
- The
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho.Middleware
no longer sends duplicate errors to the globalErrorHandler
. (#377, #364) - The import comment in
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
is now correctly quoted. (#379) - The B3 propagator sets the sample bitmask when the sampling decision is
debug
. (#369)
0.12.0 - 2020-09-25
- Benchmark tests for the gRPC instrumentation. (#296)
- Integration testing for the gRPC instrumentation. (#297)
- Allow custom labels to be added to net/http metrics. (#306)
- Added B3 propagator, moving it out of open.telemetry.io/otel repo. (#344)
- Unify instrumentation about provider options for
go.mongodb.org/mongo-driver
,gin-gonic/gin
,gorilla/mux
,labstack/echo
,emicklei/go-restful
,bradfitz/gomemcache
,Shopify/sarama
,net/http
andbeego
. (#303) - Update instrumentation guidelines about uniform provider options. Also, update style guide. (#303)
- Make config struct of instrumentation unexported. (#303)
- Instrumentations have been updated to adhere to the configuration style guide's
updated recommendation to use
newConfig()
instead ofconfigure()
. (#336) - A new instrumentation naming scheme is implemented to avoid package name conflicts for instrumented packages while still remaining discoverable. (#359)
google.golang.org/grpc
->google.golang.org/grpc/otelgrpc
go.mongodb.org/mongo-driver
->go.mongodb.org/mongo-driver/mongo/otelmongo
net/http
->net/http/otelhttp
net/http/httptrace
->net/http/httptrace/otelhttptrace
github.com/labstack/echo
->github.com/labstack/echo/otelecho
github.com/bradfitz/gomemcache
->github.com/bradfitz/gomemcache/memcache/otelmemcache
github.com/gin-gonic/gin
->github.com/gin-gonic/gin/otelgin
github.com/gocql/gocql
->github.com/gocql/gocql/otelgocql
github.com/emicklei/go-restful
->github.com/emicklei/go-restful/otelrestful
github.com/Shopify/sarama
->github.com/Shopify/sarama/otelsarama
github.com/gorilla/mux
->github.com/gorilla/mux/otelmux
github.com/astaxie/beego
->github.com/astaxie/beego/otelbeego
gopkg.in/macaron.v1
->gopkg.in/macaron.v1/otelmacaron
- Rename
OTelBeegoHandler
toHandler
in thego.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego
package. (#359) - Replace
WithTracer
withWithTracerProvider
in thego.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron
instrumentation. (#374)
0.11.0 - 2020-08-25
- Top-level
Version()
andSemVersion()
functions defining the current version of the contrib package. (#225) - Instrumentation for the
github.com/astaxie/beego
package. (#200) - Instrumentation for the
github.com/bradfitz/gomemcache
package. (#204) - Host metrics instrumentation. (#231)
- Cortex histogram and distribution support. (#237)
- Cortex example project. (#238)
- Cortex HTTP authentication. (#246)
- Remove service name as a parameter of Sarama instrumentation. (#221)
- Replace
WithTracer
withWithTracerProvider
in Sarama instrumentation. (#221) - Switch to use common top-level module
SemVersion()
when creating versioned tracer inbradfitz/gomemcache
. (#226) - Use
IntegrationShouldRun
ingomemcache_test
. (#254) - Use Go 1.15 for CI builds. (#236)
- Improved configuration for
runtime
instrumentation. (#224)
- Update dependabot configuration to include newly added
bradfitz/gomemcache
package. (#226) - Correct
runtime
instrumentation name. (#241)
0.10.1 - 2020-08-13
- The
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc
module has been added to replace the instrumentation that had previoiusly existed in thego.opentelemetry.io/otel/instrumentation/grpctrace
package. (#189) - Instrumentation for the stdlib
net/http
andnet/http/httptrace
packages. (#190) - Initial Cortex exporter. (#202, #205, #210, #211, #215)
- Bump google.golang.org/grpc from 1.30.0 to 1.31.0. (#166)
- Bump go.mongodb.org/mongo-driver from 1.3.5 to 1.4.0 in /instrumentation/go.mongodb.org/mongo-driver. (#170)
- Bump google.golang.org/grpc in /instrumentation/github.com/gin-gonic/gin. (#173)
- Bump google.golang.org/grpc in /instrumentation/github.com/labstack/echo. (#176)
- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 in /instrumentation/github.com/Shopify/sarama. (#179)
- Bump cloud.google.com/go from 0.61.0 to 0.63.0 in /detectors/gcp. (#181, #199)
- Bump github.com/aws/aws-sdk-go from 1.33.15 to 1.34.1 in /detectors/aws. (#184, #192, #193, #198, #201, #203)
- Bump github.com/golangci/golangci-lint from 1.29.0 to 1.30.0 in /tools. (#186)
- Setup CI to run tests that require external resources (Cassandra and MongoDB). (#191)
- Bump github.com/Shopify/sarama from 1.26.4 to 1.27.0 in /instrumentation/github.com/Shopify/sarama. (#206)
0.10.0 - 2020-07-31
This release upgrades its go.opentelemetry.io/otel dependency to v0.10.0 and includes new instrumentation for popular Kafka and Cassandra clients.
- A detector that generate resources from GCE instance. (#132)
- A detector that generate resources from AWS instances. (#139)
- Instrumentation for the Kafka client github.com/Shopify/sarama. (#134, #153)
- Links and status message for mock span in the internal testing library. (#134)
- Instrumentation for the Cassandra client github.com/gocql/gocql. (#137)
- A detector that generate resources from GKE clusters. (#154)
- Bump github.com/aws/aws-sdk-go from 1.33.8 to 1.33.15 in /detectors/aws. (#155, #157, #159, #162)
- Bump github.com/golangci/golangci-lint from 1.28.3 to 1.29.0 in /tools. (#146)
0.9.0 - 2020-07-20
This release upgrades its go.opentelemetry.io/otel dependency to v0.9.0.
- Bump github.com/emicklei/go-restful/v3 from 3.0.0 to 3.2.0 in /instrumentation/github.com/emicklei/go-restful. (#133)
- Update dependabot configuration to correctly check all included packages. (#131)
- Update
RELEASING.md
with correcttag.sh
command. (#130)
0.8.0 - 2020-07-10
This release upgrades its go.opentelemetry.io/otel dependency to v0.8.0, includes minor fixes, and new instrumentation.
- Create this
CHANGELOG.md
. (#114) - Add
emicklei/go-restful/v3
trace instrumentation. (#115)
- Update
CONTRIBUTING.md
to ask for updates toCHANGELOG.md
with each pull request. (#114) - Move all
github.com
package instrumentation under agithub.com
directory. (#118)
- Update README to include information about external instrumentation.
To start, this includes native instrumentation found in the
go-redis/redis
package. (#117) - Bump github.com/golangci/golangci-lint from 1.27.0 to 1.28.2 in /tools. (#122, #123, #125)
- Bump go.mongodb.org/mongo-driver from 1.3.4 to 1.3.5 in /instrumentation/go.mongodb.org/mongo-driver. (#124)
0.7.0 - 2020-06-29
This release upgrades its go.opentelemetry.io/otel dependency to v0.7.0.
- Create
RELEASING.md
instructions. (#101) - Apply transitive dependabot go.mod updates as part of a new automatic Github workflow. (#94)
- New dependabot integration to automate package upgrades. (#61)
- Add automatic tag generation script for release. (#60)
- Upgrade Datadog metrics exporter to include Resource tags. (#46)
- Added output validation to Datadog example. (#96)
- Move Macaron package to match layout guidelines. (#92)
- Update top-level README and instrumentation README. (#92)
- Bump google.golang.org/grpc from 1.29.1 to 1.30.0. (#99)
- Bump github.com/golangci/golangci-lint from 1.21.0 to 1.27.0 in /tools. (#77)
- Bump go.mongodb.org/mongo-driver from 1.3.2 to 1.3.4 in /instrumentation/go.mongodb.org/mongo-driver. (#76)
- Bump github.com/stretchr/testify from 1.5.1 to 1.6.1. (#74)
- Bump gopkg.in/macaron.v1 from 1.3.5 to 1.3.9 in /instrumentation/macaron. (#68)
- Bump github.com/gin-gonic/gin from 1.6.2 to 1.6.3 in /instrumentation/gin-gonic/gin. (#73)
- Bump github.com/DataDog/datadog-go from 3.5.0+incompatible to 3.7.2+incompatible in /exporters/metric/datadog. (#78)
- Replaced
internal/trace/http.go
helpers withapi/standard
helpers from otel-go repo. (#112)
0.6.1 - 2020-06-08
First official tagged release of contrib
repository.
labstack/echo
trace instrumentation (#42)mongodb
trace instrumentation (#26)- Go Runtime metrics (#9)
gorilla/mux
trace instrumentation (#19)gin-gonic
trace instrumentation (#15)macaron
trace instrumentation (#20)dogstatsd
metrics exporter (#10)datadog
metrics exporter (#22)- Tags to all modules in repository
- Repository folder structure and automated build (#3)
- Prefix support for dogstatsd (#34)
- Update Go Runtime package to use batch observer (#44)