Shoulder.dev Logo Shoulder.dev

Observability - open-telemetry/opentelemetry-demo

Observability is the ability to measure a system's state, behavior, and performance using telemetry data such as traces, metrics, and logs. The OpenTelemetry project is a vendor-neutral, open-source framework for generating, collecting, and exporting telemetry data. It is supported by over 40 observability vendors and integrated by many libraries, services, and apps.

The OpenTelemetry Collector is a vendor-agnostic agent that can collect, process, and export telemetry data from various sources. It can be used to decouple instrumentation from the backend, allowing for more flexibility and scalability. The collector can be configured to run as a daemon, container, or Kubernetes sidecar.

To get started with OpenTelemetry, you can follow the official getting started guide (https://opentelemetry.io/docs/getting-started/), which provides a quick overview of the project and its components. The guide also includes a demo that shows what observability with OpenTelemetry looks like.

For manual instrumentation, you can use the OpenTelemetry SDK for your language (e.g., Go, Python, C++) and the API to instrument your code. This will emit telemetry from your app and any library that also comes with instrumentation. If you're instrumenting a library, only install the OpenTelemetry API package for your language. Your library will not emit telemetry on its own; it will only emit telemetry when it is part of an app that uses the OpenTelemetry SDK.

For exporting telemetry data, OpenTelemetry provides officially supported exporters such as OTLP, Prometheus, and stdout. The exporters directory contains all the supported exporters for the OpenTelemetry project.

To learn more about the OpenTelemetry End User Working Group and its resources for users of OpenTelemetry, you can visit https://opentelemetry.io/community/end-user/. The group provides a synchronous monthly discussion group, a private slack channel, talks about OTel in practice, and direct interview/feedback sessions.

For more information about OpenTelemetry and its components, you can refer to the following resources: