What is Observability
๐ง What is Observability and who is it for?
Observability is the ability of a system to reveal its state based on collected data.
- Answers questions: Why is something not working?
- Enables discovery of unknown problems (unknown unknowns)
- Combines data from logs, metrics, and traces
Observability and OpenTelemetry
What is OpenTelemetry in relation to Observability?
OpenTelemetry is a way to implement observability
๐งฉ What is OpenTelemetry?
- A CNCF (Cloud Native Computing Foundation) project
- Standardizes how telemetry data is collected, processed, and exported
- Supports logs, metrics, traces, and profiles
- Has libraries for most languages: Go, Java, .NET, Python, JS, Rust
- Library status: https://opentelemetry.io/docs/languages/
Signal Maturity
| Signal | Status |
|---|---|
| Traces | Stable |
| Metrics | Stable |
| Logs | Stable (GA since 2025) |
| Profiles | Data model stable, SDK implementation in progress |
OpenTelemetry Support per Language
| Language | Traces | Metrics | Logs | Overall Maturity |
|---|---|---|---|---|
| Java | Stable | Stable | Stable | Highest โ richest auto-instrumentation |
| .NET | Stable | Stable | Stable | Very high โ .NET 10 support, NLog, SQL Server |
| Python | Stable | Stable | Stable | High โ broad auto-instrumentation |
| Go | Stable | Stable | Stable | High โ native SDK |
| JavaScript/Node.js | Stable | Stable | Stable | High โ full semantic conventions compliance |
| C++ | Stable | Stable | Experimental | Medium |
| Rust | Stable | Stable | Experimental | Growing โ stable HTTP Server Metrics |
| PHP | Stable | Stable | Experimental | Medium |
| Ruby | Stable | Stable | Experimental | Medium |
| Erlang/Elixir | Stable | Experimental | Experimental | Lower |
| Swift (iOS) | Stable | Experimental | Experimental | In development โ API/SDK separation |
| Kotlin (Android) | RC | Experimental | Experimental | RC towards stable in 2026 |
Source: opentelemetry.io/status