Releases: open-telemetry/opentelemetry-go-instrumentation
Releases · open-telemetry/opentelemetry-go-instrumentation
v0.10.0-alpha
Added
- Add
net.host.name
,net.protocol.name
,net.peer.name
, andnet.peer.port
attributes to HTTP server spans. (#470 - Support version
v1.60.1
ofgoogle.golang.org/grpc
. (#568)
Fixed
- Correct the target probe argument positions for the
v1.60.0
and greater versions of thegoogle.golang.org/grpc
server instrumentation. (#574, #576) - Do not instrument the OpenTelemetry default global implementation if the user has already set a delegate. (#569)
New Contributors
- @alonkeyval made their first contribution in #470
Full Changelog: v0.9.0-alpha...v0.10.0-alpha
v0.9.0-alpha
Added
- The CLI flag
global-impl
is added.
This flag, when used, enables the instrumentation of the OpenTelemetry default global implementation (https://pkg.go.dev/go.opentelemetry.io/otel).
This means that all trace telemetry from this implementation that would normally be dropped will instead be recorded with the auto-instrumentation pipeline. ([#523]#523) - Add
WithResourceAttributes
InstrumentationOption
to configureInstrumentation
to add additional resource attributes. (#522) - Support versions
v0.18.0
andv0.19.0
ofgolang.org/x/net
. (#524) - Add the status code to HTTP client instrumentation. (#527)
- Support versions
v1.20.12
,v1.21.4
, andv1.21.5
of Go standard library. (#535) - Support version
v1.60.0
ofgoogle.golang.org/grpc
. (#555)
Changed
- The instrumentation scope name for the
database/sql
instrumentation is nowgo.opentelemtry.io/auto/database/sql
. (#507) - The instrumentation scope name for the
gin
instrumentation is nowgo.opentelemtry.io/auto/github.com/gin-gonic/gin
. (#507) - The instrumentation scope name for the
google.golang.org/grpc/client
instrumentation is nowgo.opentelemtry.io/auto/google.golang.org/grpc
. (#507) - The instrumentation scope name for the
google.golang.org/grpc/server
instrumentation is nowgo.opentelemtry.io/auto/google.golang.org/grpc
. (#507) - The instrumentation scope name for the
net/http/client
instrumentation is nowgo.opentelemtry.io/auto/net/http
. (#507) - The instrumentation scope name for the
net/http/server
instrumentation is nowgo.opentelemtry.io/auto/net/http
. (#507) - The instrumentation for
client.Do
was changed to instrumentation forTransport.roundTrip
. (#529)
Fixed
- Support commit hash version for dependencies.
If a dependency falls within a known version range used by instrumentation, and its offset structure has not changed, instrumentation will default to the known offset value instead of failing to run. (#503)
v0.8.0-alpha
Added
- Add the WithEnv InstrumentationOption to configure Instrumentation to parse the environment. The Instrumentation will no longer by default parse the environment. This option needs to be used to enable environment parsing, and the order it is passed influences the environment precedence. All options passed before this one will be overridden if there are conflicts, and those passed after will override the environment. (#417)
- Add the WithTraceExporter InstrumentationOption to configure the trace SpanExporter used by an Instrumentation. (#426)
- Add HTTP status code attribute to net/http server instrumentation. (#428)
- The instrumentation scope now includes the version of the auto-instrumentation project. (#442)
- Add a new WithSampler method allowing end-users to provide their own implementation of OpenTelemetry sampler directly through the package API. (#468).
- Add uprobes to execDC in order to instrument SQL DML. (#475)
Changed
- Documentation no longer says that SYS_PTRACE capability is needed. (#388)
- The NewInstrumentation no longer parses environment variables by default. Use the new WithEnv option to enable environment parsing. (#417)
- NewInstrumentation now requires a context.Context as its first argument. This context is used in the instantiation of exporters. (#426)
- Instrumentation now uses an OTLP over HTTP/protobuf exporter (changed from gRPC/protobuf). (#426)
Fixed
- Parse Go versions that contain GOEXPERIMENT suffixes. (#389)
- Include the schema URL for the semantic convention used in the exported resource. (#426)
- Support Go module replace directives for the golang.org/x/net within the google.golang.org/grpc server instrumentation. (#450)
Removed
- The deprecated go.opentelemetry.io/auto/examples/rolldice module is removed. (#423)
New Contributors
- @theletterf made their first contribution in #373
- @zchee made their first contribution in #389
- @zengyuxing007 made their first contribution in #422
- @thomasgouveia made their first contribution in #468
Full Changelog: v0.7.0-alpha...v0.8.0-alpha
v0.7.0-alpha
Added
- Add
WithServiceName
config option for instrumentation. (#353) - Add
WithPID
config option for instrumentation. (#355)
Changed
- Fix bug in the
net/http
server instrumentation which always created a new span context. (#266) - Fix runtime panic if OTEL_GO_AUTO_TARGET_EXE is not set. (#339)
- Improve eBPF context propagation stability (#368)
Deprecated
- The
go.opentelemetry.io/auto/examples/rolldice
module is deprecated.
It will be moved into thego.opentelemetry.io/auto/examples
module in the following release. (#304)
Removed
- The deprecated
go.opentelemetry.io/auto/offsets-tracker
module is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gorilla/mux
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/test/e2e/gorillamux
module is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/inject
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/errors
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/process
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/process/ptrace
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/opentelemetry
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/net/http/client
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/net/http/server
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gin-gonic/gin
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gorilla/mux
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/google/golang/org/grpc
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpf/google/golang/org/grpc/server
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/utils
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/context
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/allocator
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/bpffs
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/instrumentors/events
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/pkg/log
package is removed. (#302) - The deprecated
go.opentelemetry.io/auto/test/e2e/gin
module is removed. (#302) - The deprecated
go.opentelemetry.io/auto/test/e2e/gorillamux
module is removed. (#302) - The deprecated
go.opentelemetry.io/auto/test/e2e/nethttp
module is removed. (#302) - The deprecated instrumentation support for
github.com/gorilla/mux
is removed. (#303)
Full Changelog: v0.3.0-alpha...v0.7.0-alpha
v0.3.0-alpha
This release has deprecated support for the github.com/gorilla/mux
instrumentation.
Added
Changed
- The function signature of
"go.opentelemetry.io/auto/offsets-tracker/downloader".DownloadBinary
has changed.
It now has an additional flag indicating whether it'll build a dummy app for Go stdlib packages or not. ([#256]#256) - The function signature of
"go.opentelemetry.io/auto/offsets-tracker/target".New
has changed.
It now accepts a flag to determine if the returnedData
is from the Go stdlib or not. ([#256]#256) - Use UPROBE_RETURN to declare the common uprobe return logic (finding the corresponding context, setting up end time, and sending the event via perf buffer) ([#257]#257)
- BASE_SPAN_PROPERTIES as common fields (start time, end time, SpanContext and ParentSpanContext) for all instrumentations events (consistent between C and Go structs). ([#257]#257)
- Header guards in eBPF code. ([#257]#257)
Fixed
- Fix context propagation across different goroutines. (#118)
- The offset tracker can once again build binaries for the Go stdlib. ([#256]#256)
Deprecated
- The
go.opentelemetry.io/auto/offsets-tracker
module is deprecated.
It will be removed in the following release. (#281) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gorilla/mux
package is deprecated.
It will be removed in the following release. (#262) - The
go.opentelemetry.io/auto/test/e2e/gorillamux
module is deprecated.
It will be removed in the following release. (#262) - The
go.opentelemetry.io/auto/pkg/inject
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/errors
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/process
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/process/ptrace
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/opentelemetry
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/net/http/client
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/net/http/server
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gin-gonic/gin
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/github.com/gorilla/mux
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/google/golang/org/grpc
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpf/google/golang/org/grpc/server
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/utils
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/context
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/allocator
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/bpffs
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/instrumentors/events
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/pkg/log
package is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/test/e2e/gin
module is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/test/e2e/gorillamux
module is deprecated.
It will be removed in the following release. (#282) - The
go.opentelemetry.io/auto/test/e2e/nethttp
module is deprecated.
It will be removed in the following release. (#282)
New Contributors
Full Changelog: v0.2.2-alpha...v0.3.0-alpha
v0.2.2-alpha
Added
- The
net/http
client instrumentor. (#91) - Context propagation to the
net/http
server instrumentation. (#92) - Simplified example of an HTTP service in
go.opentelemtry.io/auto/examples/rolldice
. (#195)
Changed
- Upgrade OpenTelemetry semantic conventions to v1.18.0. (#162)
- Remove the HTTP path from span names in
net/http
,gin-gonic/gin
, andgorilla/mux
instrumentations. (#161) - Update generated offsets. (#186)
New Contributors
- @oxeye-gal made their first contribution in #92
- @dineshg13 made their first contribution in #195
Full Changelog: v0.2.1-alpha...v0.2.2-alpha
v0.2.1-alpha
What's Changed
Fixed
- Fix gRPC instrumentation memory access issue on newer kernels. (#150)
- Fix missing spans in gorillamux instrumentation. (#86)
Changed
- Update HTTP span names to include method and route to match semantic conventions. (#143)
- Add DockerHub to release destinations. (#152)
New Contributors
- @tanghengjian made their first contribution in #149
- @rogercoll made their first contribution in #156
Full Changelog: v0.2.0-alpha...v0.2.1-alpha
v0.2.0-alpha
What's Changed
Added
- Add gin-gonic/gin instrumentation. (#100)
- Add ARM64 support. (#82)
- Add
OTEL_GO_AUTO_SHOW_VERIFIER_LOG
environment variable to control whether the verifier log is shown. (#128)
Changed
- Use verion spans in
offsets_results.json
instead of storing each version. (#45) - Change
OTEL_TARGET_EXE
environment variable toOTEL_GO_AUTO_TARGET_EXE
. (#97)
New Contributors
- @robbkidd made their first contribution in #95
- @pellared made their first contribution in #97
- @MikeGoldsmith made their first contribution in #100
- @JamieDanielson made their first contribution in #129
- @arminru made their first contribution in #133
Full Changelog: v0.1.0-alpha...v0.2.0-alpha
v0.1.0-alpha
This is the first release of OpenTelemetry Go auto-instrumentation.