Operations | Monitoring | ITSM | DevOps | Cloud

Trace Go Apps Using Runtime Tracing and OpenTelemetry

When your Go service hits 500ms latencies but CPU usage is flat, tracing gives you visibility into what the profiler misses. With 1–2% runtime overhead, Go’s built-in tracing tools help you: This makes it easier to debug performance regressions that don’t leave a clear footprint.

OpenTelemetry for Go: measuring the overhead

Everything comes at a cost — and observability is no exception. When we add metrics, logging, or distributed tracing to our applications, it helps us understand what’s going on with performance and key UX metrics like success rate and latency. But what’s the cost? I’m not talking about the price of observability tools here, I mean the instrumentation overhead.

Our Golang Stack in 2025

In our Go projects, we rely on a consistent and battle-tested stack of libraries that help us build reliable, maintainable, and scalable systems. We started using Go in our stack many years ago (before Go v1) and therefore many of our choices have changed over the years. Here in this post, I wanted to share some of the libraries we use regularly to power our Go apps.

Announcing Go tracer v2.0.0

Datadog has long supported the monitoring of instrumented Go applications through our Go tracer v1. As the Go ecosystem has continued to mature, we’ve been hard at work collecting feedback and improving upon the tracer’s capabilities and usability features. We are now thrilled to announce the release of our Go tracer v2.0.0. This major update includes better security and stability, and a new and simplified API.

Comparing Go vs Ruby

Ruby and Rails are great tools that allow you to create complex web applications quickly. Well, some kinds of complex web applications. While they excel at traditional, monolithic, server-rendered applications, they fail to excel at delivering real-time or distributed services. This is why it's so handy for Rubyists to learn a programming language like Go. Go is designed to write lightweight services that handle lots of inbound connections.

Simplify DevOps tasks with this go-to cheat sheet: From Go programming to automation

DevOps is a dynamic field that bridges development and operations, ensuring seamless collaboration and faster software delivery. Whether you're just starting or looking to sharpen your skills, having quick access to essential concepts is invaluable. That’s why we’ve created a DevOps cheat sheet that covers everything from programming fundamentals to scripting and website building. This cheat sheet is your go-to resource for mastering DevOps tools, languages, and workflows.

How HTTP/2 Works and How to Enable It in Go

Once you’re comfortable with net/rpc from previous article (From net/rpc to gRPC in Go Applications), it’s probably a good idea to start exploring HTTP/2, which is the foundation of the gRPC protocol. How HTTP/2 Works and How to Enable It in Go This piece leans a bit more on the theory side, so heads-up, it’s text-heavy. We’ll focus on understanding HTTP/2 and then briefly touch on enabling it in Go. So, grab a coffee, settle in, and let’s break it down.