In a landmark move for the Go development community, three major tech players have announced a collaboration that promises to revolutionize how developers implement observability in Go applications. Alibaba, Datadog and Quesma are pooling their expertise to tackle one of the most persistent challenges in the Go ecosystem: Streamlining instrumentation for telemetry collection.
The Go Instrumentation Challenge
Go developers have long faced a unique hurdle when implementing OpenTelemetry. Unlike more dynamic languages where runtime instrumentation is relatively straightforward, Go’s compiled nature creates significant barriers to automatic telemetry generation.
Until now, developers have been limited to choosing between two suboptimal approaches:
- Running a separate binary with eBPF hooks (via opentelemetry-go-instrumentation)
- Hand-coding instrumentation throughout their application
Both options come with considerable drawbacks. The eBPF approach introduces deployment complexity and potential performance issues, while manual instrumentation is time-consuming and error-prone. For many teams, neither option fits seamlessly into their workflow.
A Unified Approach Emerges
What makes this collaboration particularly noteworthy is how it came about. Rather than competing for dominance in the Go tooling space, Alibaba and Datadog independently developed solutions and then made the remarkable decision to donate their work to the OpenTelemetry project:
- Alibaba offered their opentelemetry-go-auto-instrumentation tool
- Datadog proposed integrating their Orchestrion framework
These powerful tools use Go’s -toolexec feature to modify code during compilation, inserting instrumentation at strategic points throughout both application code and dependencies — including the Go standard library.
“This is precisely the kind of industry collaboration that makes open standards thrive,” notes a representative from the OpenTelemetry Governance Committee. “Instead of fragmentation, we’re seeing convergence around a solution that will benefit everyone.”
According to Mitch Ashley, VP and Practice Lead, Devops and Application Development at The Futurum Group, “The new Go Compile-Time Instrumentation SIG dramatically lowers the friction of adding telemetry data collection to Go applications. The OTel community has proven that vendors don’t add additional value or increase competitiveness by building observability telemetry collectors. What matters is what platform engineering and ITOps can benefit from having Go telemetry in Alibaba, Datadog and Quesman observability platforms. “
The Power of Compile-Time Instrumentation
The technical approach behind this collaboration is exquisite. By leveraging the Go compiler’s toolchain, the new system will rewrite source code just before compilation, adding instrumentation code that generates standardized telemetry data.
This compile-time approach offers several compelling advantages:
- Zero code changes required – Developers won’t need to modify their application code
- Complete coverage – Instrumentation extends to all dependencies and standard library components
- Minimal runtime overhead – Optimizations can be applied during the compilation process
- Vendor neutrality – The resulting telemetry conforms to OpenTelemetry standards
Quesma brings additional expertise, having previously developed instrgen, an experimental compile-time instrumentation tool that served as an early proof of concept in this space.
The Road Ahead
The newly formed Go Compile-Time Instrumentation Special Interest Group (SIG) will drive this work forward, with engineers from all three companies contributing their expertise. Their initial focus will be creating a unified framework incorporating each donated solution’s best aspects.
Longer-term goals include:
- Developing compiler plugins for even tighter integration with the Go toolchain
- Creating standardized instrumentation patterns for common Go libraries and frameworks
- Optimizing performance to minimize overhead
- Ensuring compatibility across the Go ecosystem
Getting Involved
For developers interested in this exciting advancement, several resources are available:
- GitHub repository: opentelemetry-go-compile-instrumentation
- CNCF Slack: #otel-go-compt-instr-sig
- Bi-weekly meetings: Thursdays at 08:00 UTC
This collaboration exemplifies the spirit of open source — competitors becoming collaborators to solve a shared challenge. As these tools mature, Go developers can look forward to a future where comprehensive observability becomes a natural part of every application, requiring no extra effort.
The DevOps community eagerly awaits the first releases from this promising partnership.