Releases: DataDog/orchestrion
v0.7.0-dev.2
What's new
⚠️ Breaking Changes
This release of orchestrion
is a major re-design: in order to improve the coverage achievable with Orchestrion, it moved from being a coding-time tool (where check-in instrumented code) to a build-time tool, moving the instrumentation code completely out of the way.
Migration from versions up to 0.6.0
:
- in order to avoid doubly-instrumented code, we strongly advise users of Orchestrion until version
0.6.0
to runorchestrion -rm .
to remove any existing orchestrion-inserted code from their codebase before upgrading to Orchestrion0.7.0
and greater. - once done, follow the installation instructions in the README file.
Highlights
Orchestrion now runs as a Go toolchain -toolexec
tool, allowing it to instrument all Go code included in the final binary, including any and all transitive dependencies as well as the standard library; while only changing a single build command. This allows maximization of the profiling and application security coverage, without requiring any significant developer effort.
The instrumentation code remains out of the way so that developers can focus on building their product without having to worry about – or be distracted by – verbose instrumentation code.
Known issues
- Constructor instrumentation may cause compilation errors when the instrumented function returns a different type (e.g:
mux.NewRouter
) #86
Bug fixes
- Dot-imports result in instrumentation failure (#50)
- Cannot decorate multiple packages with the same apparent package name (#56)
Full Changelog: v0.6.0...v0.7.0-dev.2
v0.7.0-dev.1
What's new
⚠️ Breaking Changes
This release of orchestrion
is a major re-design: in order to improve the coverage achievable with Orchestrion, it moved from being a coding-time tool (where check-in instrumented code) to a build-time tool, moving the instrumentation code completely out of the way.
Migration from versions up to 0.6.0
:
- in order to avoid doubly-instrumented code, we strongly advise users of Orchestrion until version
0.6.0
to runorchestrion -rm .
to remove any existing orchestrion-inserted code from their codebase before upgrading to Orchestrion0.7.0
and greater. - once done, follow the installation instructions in the README file.
Highlights
Orchestrion now runs as a Go toolchain -toolexec
tool, allowing it to instrument all Go code included in the final binary, including any and all transitive dependencies as well as the standard library; while only changing a single build command. This allows maximization of the profiling and application security coverage, without requiring any significant developer effort.
The instrumentation code remains out of the way so that developers can focus on building their product without having to worry about – or be distracted by – verbose instrumentation code.
Known issues
- Constructor instrumentation may cause compilation errors when the instrumented function returns a different type (e.g:
mux.NewRouter
) #86
Bug fixes
- Dot-imports result in instrumentation failure (#50)
- Cannot decorate multiple packages with the same apparent package name (#56)
Full Changelog: v0.6.0...v0.7.0-rc.1
v0.6.0
v0.5.0
What's Changed
- instrument: unwrap recursively by @ahmed-mez in #54
- instrument: support middleware as selector expression by @ahmed-mez in #52
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
What's Changed
- Update version in version.go by @ahmed-mez in #43
- all: Add integration testing harness and some tests by @knusbaum in #37
- cmd: add -v flag to print version by @ahmed-mez in #45
- instrument: add resource namer to net/http wrappers by @darccio in #46
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
- instrument: support labstack/echo.v4 by @darccio in #32
- instrument: refactor, format, and organize code by integration by @darccio in #33
- instrument: support chi.v5 by @ahmed-mez in #34
- go.mod: bump dd-trace-go to v1.54.0 by @ahmed-mez in #35
- instrument: support gorilla/mux by @darccio in #36
- release: add version tag const by @ahmed-mez in #39
- instrument: add unwrap for HTTP handler assign by @darccio in #38
- instrument: fix duplicated instrumentation statements on already instrumented frameworks by @darccio in #42
- typechecker: document 3rd party limitation by @ahmed-mez in #31
- instrument: support *net/http.Request values for context by @darccio in #41
- instrument: report orchestrion config to dd-trace-go by @ahmed-mez in #40
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
v0.1.0
What's Changed
First release of Orchestrion! 🎉
This release provides initial support for:
- Auto-instrumenting
net/http
database/sql
google.golang.org/grpc
- Custom span creation via
//dd:span
- Removing instrumentation
- Ignoring functions and statements via
//dd:ignore
New Contributors
- @ahmed-mez made their first contribution in #2
- @knusbaum made their first contribution in #7
- @jonbodner made their first contribution in #12
Full Changelog: https://github.com/DataDog/orchestrion/commits/v0.1.0