No-Brainer: Observability Driven Development(ODD) with Opentelemetry and Tracetest

Rajesh Shah
2 min readDec 22, 2023

--

Observability-Driven Development (ODD) is an approach that emphasizes on Observability of the distributed system during development phase. Focus is to identify and record application telemetry data : metrics, traces and logs. It involves gathering detailed data at the event level to understand the system’s internal state and behavior before, during, and after development. ODD is particularly relevant in modern, highly distributed and complex software systems, where traditional methods of predicting and pinpointing issues may be inefficient.

Opentelemetry

OpenTelemetry is an open-source observability framework that provides standardized protocols and tools for collecting and routing telemetry data, including metrics, logs, and traces, to monitoring platforms for analysis. It offers vendor-agnostic APIs, software development kits (SDKs), and other tools for gathering detailed data from cloud-native environments. OpenTelemetry is used to instrument, generate, collect, and export telemetry data from distributed systems, enabling IT and developer teams to analyze software performance and behavior.

Introducing “Tracetest”

Tracetest is an open-source testing tool that enables the testing of distributed systems with distributed traces. It allows for the building of integration and end-to-end tests in minutes using OpenTelemetry traces, without the need to write test scripts or mocks. Tracetest provides a way to assert against trace data at every point of a request transaction, offering a faster test creation and reduction in troubleshooting time. The tool is designed to work with existing OpenTelemetry traces, allowing users to test against real data and assert on the timing of trace spans, among other capabilities.

Why No-Brainer ?

Opentelemetry adoption is rapidly increasing in the enterprises. This is fantastic opportunity for teams to adopt “Observability Driven Development(ODD)”. Adopting Distributed Tracing helps to monitor distributed systems better. But now with Tracetest framework same Distributed Tracing can be used for end to end integration testing. This is a bonus of adopting ODD. This also will help save valuable engineering time to build separate integration tests.

References

Some of the text on this page was generated using https://www.perplexity.ai/

Image generated using https://stablediffusionweb.com/

Disclaimer: This is a personal blog. The opinions expressed here represent my own and not those of my current or any previous employers.

--

--

Rajesh Shah

Software Engineer with 15+ years experience (Interested in Cloud Computing, Kubernetes, Docker, Serverless Computing, BlockChain Technologies)