Urgent.News

What's breaking now, across thousands of outlets.

Tech

Alibaba Cloud Partners with Datadog Close Go's Last Observability Gap

This article introduces OpenTelemetry Go Compile-Time Instrumentation v1, enabling zero-code, build-time observability for Go applications. Go was the last mainstream language without zero-code observability. In July 2026, the OpenTelemetry Go Compile-Time Instrumentation project shipped its stable v1 release. Launched jointly by Alibaba and Datadog and developed through a year and a half of…

Alibaba Cloud and Datadog have joined forces to introduce a new feature that will fill a significant gap in observability for Go applications. This feature, called OpenTelemetry Go Compile-Time Instrumentation v1, allows developers to add distributed tracing and metrics collection to their Go applications without modifying any business code.

Traditionally, other programming languages like Java, Python, Node.js, and .NET have had built-in mechanisms for zero-code observability. However, Go, which compiles to a static binary, lacks this capability. This has resulted in two options for Go developers: manual instrumentation or eBPF observation, both of which have limitations.

Compile-time instrumentation, the cornerstone of this new feature, injects observability code directly into the Go application during the build process. This is achieved through the -toolexec mechanism in Go's toolchain, which allows a wrapper program (otelc) to modify the compiler's behavior. The otelc tool parses the source code, matches instrumentation rules, injects tracing and metrics code, and then compiles the modified source into a binary.

This approach offers several advantages over the previous methods. Firstly, it doesn't introduce any runtime overhead, as the instrumentation code is woven into the application during the build process. Secondly, it is CI/CD-friendly, as it only requires replacing the build command with otelc go build. This means that developers can add tracing to their applications with a single command, without having to touch any business code.

The first stable release of this feature, v1, supports key libraries such as net/http, Database/SQL, and gRPC. It follows the OpenTelemetry Semantic Conventions, ensuring that all produced spans and metrics are standardized across different backends. The approach is also community-driven, allowing for easy contribution of new rules for additional libraries.

To get started, developers can simply install otelc and then replace their build command with otelc go build -o myapp. The resulting binary will already have tracing code built in, and they can set OTEL_EXPORTER_OTLP_ENDPOINT at startup to start collecting trace data.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Let's build a custom React hook for cross-tab state synchronization

Contents The Problem Architecture Overview The Types & Interface Tab Identity & State Ref The BroadcastChannel Listener The Synchronized Mutation Function Lock Coordination & Broadcasting Graceful…

  • Custom React hook for cross-tab state synchronization
  • Utilizes BroadcastChannel API and navigator.locks API
  • Prevents echo loops with unique tab identifiers

The bug that only existed on the platform nobody was looking at

I ship a Python tool with a regression suite of several thousand checks and CI on ubuntu, macOS and Windows at Python 3.8 and 3.13. Yesterday all five jobs were green.

  • Four defects discovered in Python tool after shipping
  • Issues related to file paths, carriage returns, Windows syntax
  • Bug discovered via large regression suite on multiple platforms

More from Wednesday 9 September →