The latest News and Information on Distributed Tracing and related technologies.
Systems and applications alike have become progressively distributed as microservices, open-source tools, and containerisation have gained traction. In order to actively monitor and respond quickly to issues that arise in our environment, distributed tracing has proven to be vital for businesses such as Uber, Postmates, Hello Fresh and TransferWise. It is, however, important to clarify what distributed tracing actually means.
Cloud native and microservice architectures bring many advantages in terms of performance, scalability, and reliability, but one thing they can also bring is complexity. Having requests move between services can make debugging much more challenging and many of the past rules for monitoring applications don’t work well. This is made even more difficult by the fact that cloud services are inherently ephemeral, with containers constantly being spun up and spun down.
Telemetry data is a powerful tool for understanding the behavior of complex systems. OpenTelemetry provides a platform-agnostic, open-source way to collect, process, and store telemetry data. This post explores the OpenTelemetry collector architecture, specifically focusing on the Collectors component. We'll look at how collectors work and how they can be used to process telemetry data from any system or application. We'll also discuss some benefits of using OpenTelemetry for your telemetry needs.
The OpenTelemetry Collector is an application written in Go. The GitHub readme does a great job of describing it: So the OpenTelemetry collector is a Go binary that does exactly what its name implies: it collects data and sends it to a back-end. But there’s a lot of functionality that lies in between. What a neat service! A local destination for data that handles the final sending of Open Telemetry information to your back end.