- Notifications
You must be signed in to change notification settings - Fork22
Automatic compile-time instrumentation of Go code
License
DataDog/orchestrion
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Automatic compile-time instrumentation of Go code.
Orchestrion processes Go source code at compilation time and automatically inserts instrumentation. This instrumentationis driven by the imports present in theorchestrion.tool.go file at the project's root.
Important
Should you encounter issues or a bug when usingorchestrion, please report it in thebug tracker.
For support & general questions, you are welcome to useGitHub discussions. You may also contact usprivately via Datadog support.
Orchestrion supports the two latest releases of Go, matching Go'sofficial release policy. It mayfunction correctly with older Go releases; but we will not be able to offer support for these if they don't.
In addition to this, Orchestrion only supports projects usingGo modules.
Information on how to get started quickly with orchestrion can be found on theuser guide.
Importinggithub.com/DataDog/dd-trace-go/v2 in the project root'sorchestrion.tool.go file enables automatic instrumentation of all supported integrations, which are listed on thedocumentation site. You can cherry-pick which integrations are enabled byorchestrion by importing thedesired integrations' package paths instead of importing the tracer's root module.
Tip
Orchestrion is a vendor-agnostic tool. By default,orchestrion pin enables Datadog's tracer integrations byimportinggithub.com/DataDog/dd-trace-go/v2 inorchestrion.tool.go, but other vendors (such as OpenTelemetry) mayprovide alternate integrations that can be used instead.
If you run into issues when usingorchestrion please make sure to collect all relevant details about your setup inorder to help us identify (and ideally reproduce) the issue. The version of orchestrion (which can be obtained fromorchestrion version) as well as of the go toolchain (fromgo version) are essential and must be provided with anybug report.
You can inspect everything Orchestrion is doing by adding the-work argument to yourgo build command; when doing sothe build will emit aWORK= line pointing to a working directory that is retained after the build is finished. Thecontents of this directory contains all updated source code Orchestrion produced and additional metadata that can helpdiagnosing issues.
Datadog's user guide for Orchestrion can be found ondocs.datadoghq.com.
Orchestrion's project documentation can be found atdatadoghq.dev/orchestrion; inparticular:
- theuser guide provides information about available configuration, and howto customize the traces produced by your application;
- thecontributor guide provides more detailed information about howorchestrion works and how to contribute new instrumentation to it.
About
Automatic compile-time instrumentation of Go code
Topics
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.