developed by Datadog • The tool generates Datadog APM traces in Go code • More of code instrumentation rather than code generation • https://github.com/DataDog/orchestrion
data within and between the components • A trace has one or more span(s) • Span is a section of interesting activity in your program ◦ receiving an HTTP request, calling in database, etc. https://www.datadoghq.com/product/apm/
Java provides “annotation” ◦ Python provides “decorator” • Instead, Go is simple and easy to parse the AST • Orchestrion generates code to add traces and spans https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/python/ https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/java/
use and reversible to change, and you’ll be able to try it out in no time • However, it still lacks functionality and would be especially difficult to apply to large repositories and microservices ◦ Ignore is not supported ◦ OpenTelemetry is not supported • The gopkg.in/DataDog/dd-trace-go.v1 package already has orchestrionConfig in the tracer.config struct, so the feature will be enhanced in the future
line of command ◦ You don’t have to worry about forgetting to add spans • However, it may be better not to use it until more flexibility is brought to the functionality