Awesome-OpenTelemetry
Awesome-OpenTelemetry copied to clipboard
Repository of open source content on opentelemetry
Awesome OpenTelemetry 🎉
A carefully curated list of open source content related to OpenTelemetry.

What is OpenTelemetry?
OpenTelemetry or OTel is an open-source project, which allows you to collect, export, and generate traces, logs, and, metrics (also known as the three pillars of observability). It is a set of APIs and SDKs.
“When we announced the OpenTelemetry project in 2019, we envisioned it as the next major version of both OpenTracing and OpenCensus,” said Ben Sigelman, one of the co-creators of both OpenTracing and OpenTelemetry.
Contents
-
Awesome OpenTelemetry 🎉
- What is OpenTelemetry?
- Contents
- Important Links
-
OpenTelemetry Instrumentation 🎺
- Supported Languages
- Language Docs
- Supported Databases
- OpenTelemetry Registry
- OpenTelemetry Architecture
- Secure your POD
-
Distributed Tracing Solutions
- Open Source Tools
- Opentelemetry Vendors
- Terminology
- Statistics
- Signal Current Status
-
Language Current Status
- .NET:
- JavaScript:
- Main Components
- Tools
-
Books 📚
- Case Studies
- Blog By Vendors:
-
Video Tutorials
- OpenTelemetry C++
- OpenTelemetry .NET
- OpenTelemetry Erlang/Elixir
- OpenTelemetry Go
- OpenTelemetry Java
-
OpenTelemetry JavaScript
- By SigNoz:
- Others:
- OpenTelemetry PHP
-
OpenTelemetry Python
- By SigNoz:
- Others:
- OpenTelemetry Ruby
- OpenTelemetry Rust
- OpenTelemetry Swift
-
Join the Community
- Newsletters 📰
- Podcasts
- Events
- StackOverflow
- Slack
Here starts the list of awesome resources! Enjoy.
Important Links
OpenTelemetry Instrumentation 🎺
Supported Languages
Language | Client Repo | Contrib Repo | API and SDK | Auto Instrumentation |
---|---|---|---|---|
C++ | Client | Contrib | ||
.NET | Client | Contrib | Auto Instrumentation Support | |
Erlang/Elixir | Contrib | SDK | ||
Go | Contrib | API and SDK | ||
Java | Contrib | SDK | Auto Instrumentation Support | |
JavaScript | Client | Contrib | API | Auto Instrumentation Support |
PHP | monorepo | Contrib | ||
Python | Contrib | API and SDK | Auto Instrumentation Support | |
Ruby | Contrib | API and SDK | Auto Instrumentation Support | |
Rust | API and SDK | |||
Swift | API |
^ back to top ^
Language Docs
Language | SIG Meeting Summary Doc | External Docs (if any) | Example Implementations |
---|---|---|---|
C++ | SIG Doc | readTheDocs.io | example |
.NET | SIG Doc | example | |
Erlang / Elixir | SIG DOC | example | |
Go | SIG DOC | otel Package | example |
Java | SIG DOC | javadoc | example |
JavaScript | SIG DOC | example | |
PHP | SIG DOC | example | |
Python | SIG DOC | readTheDocs.io | example |
Ruby | SIG DOC | Github.io docs | example |
Rust | SIG DOC | docs.rs | example |
Swift | SIG DOC | example |
More here.
Supported Databases
Value | Description | Value | Description | |
---|---|---|---|---|
other_sql |
Some other SQL database | mariadb |
MariaDB | |
mssql |
Microsoft SQL Server | netezza |
Netezza | |
mysql |
MySQL | pervasive |
Pervasive PSQL | |
oracle |
Oracle Database | pointbase |
PointBase | |
db2 |
IBM Db2 | sqlite |
SQLite | |
postgresql |
PostgreSQL | sybase |
Sybase | |
redshift |
Amazon Redshift | teradata |
Teradata | |
hive |
Apache Hive | vertica |
Vertica | |
cloudscape |
Cloudscape | h2 |
H2 | |
hsqldb |
HyperSQL DataBase | coldfusion |
ColdFusion IMQ | |
progress |
Progress Database | cassandra |
Apache Cassandra | |
maxdb |
SAP MaxDB | hbase |
Apache HBase | |
hanadb |
SAP HANA | mongodb |
MongoDB | |
ingres |
Ingres | redis |
Redis | |
firstsql |
FirstSQL | couchbase |
Couchbase | |
edb |
EnterpriseDB | couchdb |
CouchDB | |
cache |
InterSystems Caché | cosmosdb |
Microsoft Azure Cosmos DB | |
adabas |
Adabas (Adaptable Database System) | dynamodb |
Amazon DynamoDB | |
firebird |
Firebird | neo4j |
Neo4j | |
derby |
Apache Derby | geode |
Apache Geode | |
filemaker |
FileMaker | elasticsearch |
Elasticsearch | |
informix |
Informix | memcached |
Memcached | |
instantdb |
InstantDB | cockroachdb |
CockroachDB | |
interbase |
InterBase |
Check full list here.
^ back to top ^
If you are using Kubernetes, you can use the OpenTelemetry Operator for Kubernetes to inject auto-instrumentation libraries for Java, Node.js and Python into your application.
OpenTelemetry Registry
The OpenTelemetry Registry allows you to search for instrumentation libraries, tracer implementations, utilities, and other useful projects in the OpenTelemetry ecosystem.
OpenTelemetry Architecture
Secure your POD
^ back to top ^
Distributed Tracing Solutions
Open Source Tools
- SigNoz | Github
- OpenTelemetry | Github
- OpenTracing - Deprecated | Github
- OpenCensus - Deprecated | Github
- Jaeger | Github
- Zipkin | Github
- Grafana | Github
- Loki - Like Prometheus, but for logs.
- Tempo - Grafana Tempo is a high volume, minimal dependency distributed tracing backend.
- mimir - the most scalable Prometheus backend.
Opentelemetry Vendors
Distributions and vendors who natively support OpenTelemetry in their commercial products.
-
SigNoz - Open Source APM
- Understand issues in your deployed applications & solve them quickly ⚡️.
- AppDynamics - Observe what matters.
- Aspecto - Troubleshoot performance bottlenecks and errors within your microservices.
- AWS - A secure, production-ready, AWS-supported distribution of the OpenTelemetry project.
- Azure Monitor
- Datadog - Modern monitoring & security.
- Dynatrace - Digitally transform faster, smarter, and easier.
- Elastic - Search. Solve. Succeed.
- F5
- Grafana Labs - Operational dashboards for your data here, there, or anywhere.
- Honeycomb - Find your most perplexing application issues.
- Instana - Designed to help IT operations, development, and DevOps teams operate more efficiently.
- Lightstep - Monitoring, observability, and incident response for the world’s most reliable systems.
- LogicMonitor - Unified observability to transform what’s next.
- Logz.io - End-to-end cloud monitoring built for scale.
- Lumingo - Monitoring and Debugging for Modern Cloud Applications.
- New Relic - Instrument once, analyze everything in one place.
- Promscale - Observability powered by SQL.
- Sentry Software - Monitor the processors, disks, controllers, network adapters, temperature sensors, etc.
- Splunk - The Unified Security and Observability Platform.
- Sumo Logic - Making the world’s apps reliable and secure. Cloud-native SaaS analytics.
- Uptrace - All-in-one tool to optimize performance and monitor errors & logs.
Click here for full list of vendors that supports OpenTelemetry.
Terminology
Statistics
^ back to top ^
Signal Current Status
Signal | API | SDK | Protocol |
---|---|---|---|
Tracing | Stable, feature-freeze | Stable | Stable |
Metrics | Stable | Mixed | Stable |
Baggage | Stable, feature-freeze | Stable | N/A |
Logging | Draft | Draft | Stable |
Language Current Status
Language | Tracing | Metrics | Logging | Latest |
---|---|---|---|---|
C++ | Stable | Experimental | Experimental | here |
Erlang/Elixir | Stable | Alpha | Not Yet Implemented | here |
Go | Stable | Alpha | Not Yet Implemented | here |
Java | Stable | Stable | Experimental | here |
PHP | Pre-Alpha | Pre-Alpha | Not Yet Implemented | here |
Python | Stable | Release Candidate (RC) | Experimental | here |
Ruby | Stable | Not Yet Implemented | Not Yet Implemented | here |
Rust | Beta | Alpha | Not Yet Implemented | here |
Swift | Beta | Alpha | Not Yet Implemented | here |
.NET:
Signal | Status |
---|---|
Trace | Stable |
Metrics | Stable |
iLogger | Stable |
OTLP log exporter | Experimental |
Latest | here |
JavaScript:
Signal | API Status | SDK Status |
---|---|---|
Trace | Stable | Release Candidate |
Metrics | Development | Development |
Logging | Roadmap | Roadmap |
Latest | here | here |
Main Components
- OpenTelemetry Protocol (OTLP) specification describes the encoding, transport, and delivery mechanism of telemetry data between telemetry sources, intermediate nodes such as collectors, and telemetry backends.
- OpenTelemetry Collector offers a vendor-agnostic implementation on receiving, processing, and exporting telemetry data and removing the need to run, operate, and maintain multiple agents/collectors.
- APIs and SDKs in 11 different languages, enabling users to easily integrate and extend the project.
^ back to top ^
Tools
- BindPlane OP - open source observability pipeline that gives you the ability to collect, refine, and ship metrics, logs, and traces to any destination.
- Trace Test - End-to-end Tests Powered by Your OpenTelemetry Traces.
- Vector - A lightweight, ultra-fast tool for building observability pipelines by Datadog.
Books 📚
- Observability Engineering
- Mastering Distributed Tracing
- Distributed Tracing in Practice
- Distributed Systems Observability
- The Future of Observability with OpenTelemetry
- Distributed Tracing with Jaeger, Kubernetes, and Istio
- Cloud-Native Observability with OpenTelemetry
- Go for DevOps - Chapter #9
- 🔍 Search OpenTelemetry at O'Reilly
Case Studies
^ back to top ^
Blog By Vendors:
- SigNoz - Instrumentation Blogs.
- New Relic - OpenTelemetry Masterclass from New Relic.
- Honeycomb - Blog posts about observability, monitoring, OpenTelemetry.
- Aspecto - Guides on how to use OpenTelemetry.
- Aspecto Medium
- Jaeger - Posts from Jaeger.
- Dev.to - Posts about OpenTelemetry.
- Lightstep - Blog posts and latest updates of OpenTelemetry.
Video Tutorials
- Opentelemetry Offical YouTube
- CNCF OTel Community Day 2022 Playlist
- OpenTelemetry Instrumentation with SigNoz Playlist
- The OpenTelemetry Bootcamp | Github
- freeCodeCamp OpenTelemetry Course
- Udemy - Microservices Observability, Resilience, Monitoring on .Net
- OpenTelemetry Tutorial .NET
- LightStep Opentelemetry Playlist 30 Videos
OpenTelemetry C++
OpenTelemetry .NET
- OpenTelemetry .NET SIG Playlist
- .NET - Monitor a .NET Application with OpenTelemetry and SigNoz
- OpenTelemetry with Minimal APIs in .NET 6
- Get Started With OpenTelemetry Tracing and ASP.NET Core
- Using OpenTelemetry for distributed tracing in microservices Implemented in ASP.NET 6 and C# 10
- OpenTelemetry in .NET Explained
- Better Observability with Open Telemetry in .NET
- Distributed Tracing Made Easy with .NET 5, with Jimmy Bogard
- Metrics in .NET has never been easier - OpenTelemetry
OpenTelemetry Erlang/Elixir
- Elixir - Monitor your Elixir Application with OpenTelemetry and SigNoz
- Monitoring Elixir With OpenTelemetry | Kamil Kowalski | ElixirConf EU 2021
OpenTelemetry Go
- OpenTelemetry Go SIG Playlist
- Go instrumentation - OpenTelemetry in Go applications : Complete Tutorial with SigNoz
- OpenTelemetry Deep Dive: Golang
- Golang Microservices: Observability using OpenTelemetry
- Monitoring Go Applications with OpenTelemetry | Johannes Liebermann
- GopherCon UK 2021: Chris Reeves - Instrumenting GO Applications
- Workshop: Getting started with OpenTelemetry and Distributed Tracing in Golang
- Distributed Tracing on Go using OpenTelemetry - Fahri Yardımcı - GopherCon Turkey 2020
OpenTelemetry Java
- OpenTelemetry Java SIG Playlist
- Spring Boot - Monitor your Spring Boot Application with OpenTelemetry & SigNoz
- Monitor your Tomcat Java Application in 20 mins with OpenTelemetry & SigNoz
- Tutorial: OpenTelemetry Java Instrumentation with Spring Boot in under 5 minutes
- OpenTelemetry Deep Dive: Java
- Getting Started with OpenTelemetry and Distributed Tracing in Java
- Tutorial: Auto-instrumentation of a Java app by OpenTelemetry for K8s Environment
- OpenTelemetry Java Auto-Instrumentation SIG 2020/03/19
- Observability in Java Getting Started with OpenTelemetry
OpenTelemetry JavaScript
By SigNoz:
- Angular Instrumentation - Monitor your Angular application with Opentelemetry and SigNoz
- React Instrumentation - Implementing OpenTelemetry in React applications | Tutorial
- NestJS - Monitoring your NestJS Application using OpenTelemetry and SigNoz
- NodeJs Instrumentation Monitor Custom Metrics from your application using OpenTelemetry & SigNoz
- NodeJS Application Monitoring with OpenTelemetry & SigNoz
- Express - Monitoring your Express Application using OpenTelemetry and SigNoz
- NodeJs OpenTelemetry - Implementing Distributed Tracing in a NodeJS Application using OpenTelemetry
- NextJS - Monitoring your NextJS application using OpenTelemetry and SigNoz
Others:
- OpenTelemetry 2019-10-23 JavaScript SIG
- Workshop: Getting Started with OpenTelemetry in Javascript with Express and React
- Tutorial: OpenTelemetry Node.js Instrumentation in 5 Minutes
- Distributed tracing for Node.js using OpenTelemetry | Michael Haberman | Conf42 JavaScript 2021
- Workshop: Getting Started with OpenTelemetry and Distributed Tracing in Node.js
- Getting Started with OpenTelemetry and Distributed Tracing in Node.js
- Node.js Meetup - Trace-Based Testing with OpenTelemetry - Michael Haberman
OpenTelemetry PHP
OpenTelemetry Python
By SigNoz:
- Python Instrumentation - Monitor your Python application using OpenTelemetry and SigNoz
- FastAPI - Monitoring your FastAPI Application using OpenTelemetry with SigNoz
- Flask OpenTelemetry - Monitoring your Flask application using OpenTelemetry
- Django - Monitoring Django Application performance with OpenTelemetry
- Falcon - Monitoring apps based on Falcon Web Framework with OpenTelemetry
Others:
- Getting Started with OpenTelemetry in Python
- Getting Started with OpenTelemetry and Distributed Tracing in Python
- OpenTelemetry and Distributed Tracing in Python
- OpenTelemetry Deep Dive: Python
- OpenTelemetry for Python Developers
- Workshop: Getting Started with OpenTelemetry in Python and Django
- The Fundamentals of OpenTelemetry in Python | Live Workshop
- Code instrumentation with Python and OpenTelemetry | Python Medellín
- Adding Observability To Your Python Applications With OpenTelemetry
OpenTelemetry Ruby
- OpenTelemetry Ruby SIG Playlist
- Ruby - Tracing a Ruby application with OpenTelemetry for performance monitoring
- OpenTelemetry for Rubyists by Francis Wang
OpenTelemetry Rust
- Rust - Implementing OpenTelemetry in a Rust application for performance monitoring
- Rust Dublin July 2021 - OpenTelemetry and Rust
- Observe with Rust: OpenTelemetry and Tremor - Gary White Jr., Wayfair
- The Rust Programming Language - OpenTelemetry and Rust
- OpenTelemetry for Rust Developers
OpenTelemetry Swift
- Did not find any videos.
Join the Community
- Join the Community
- Mailing Lists
- Community GitHub
- Calendar - OpenTelemetry
- Gitter - archived
- Twitch
- Offical YouTube
Newsletters 📰
- o11y news! - Newsletter about Observability.
- Observability news - Updates around observability (o11y) with a special focus on open source.
- The new stack - A newsletter digest of the week’s most important stories & analyses.
Podcasts
Events
- CNCF - CNCF Events
- SREcon
- Opentelemetery Community Days
- GrafanaCON
StackOverflow
- SREcon
- LightstepHQ
- DynaTrace
- HoneyComb
- Dyte
- Aspecto
- tracetest_io - End-to-end tests powered by your OpenTelemetry Traces.
- OpsMatters
- Ted Young - Co-founded the OpenTelemetry Project
- Ben Sigelman - Co-created OpenTelemetry & OpenTracing
- Alolita Sharma
- Liz Fong-Jones - Governance OpenTelemetry
- Juraci Paixão Kröhling - Opentelemetry Maintainer.
- Alex Boten
- Sam Xie - Opentelemetry Member
- Yoshi
Slack
^ back to top ^
Special Mention: Awesome Opentelemetry - A curated list of OpenTelemetry resources.
Maintainer - Priyansh Khodiyar (@zriyansh), also creator of awesome-OS.
^ back to top ^