> For the complete documentation index, see [llms.txt](https://kdongs.gitbook.io/kdocs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kdongs.gitbook.io/kdocs/open-telemetry/open-telemetry.md).

# Open Telemetry

## [About](https://opentelemetry.io/docs/)

An **observability framework and toolkit** designed to facilitate the:

* [Generation](https://opentelemetry.io/docs/concepts/instrumentation)
* Export
* [Collection](https://opentelemetry.io/docs/concepts/components/#collector)

of [telemetry data](https://opentelemetry.io/docs/concepts/signals/) such as [traces](https://opentelemetry.io/docs/concepts/signals/traces/), [metrics](https://opentelemetry.io/docs/concepts/signals/metrics/), and [logs](https://opentelemetry.io/docs/concepts/signals/logs/).

**Open source**, as well as **vendor- and tool-agnostic**, meaning that it can be used with a broad variety of observability backends, including open source tools like [Jaeger](https://www.jaegertracing.io/) and [Prometheus](https://prometheus.io/), as well as commercial offerings. OpenTelemetry is **not** an observability backend itself.

OpenTelemetry is designed to be extensible.

### Main components

* A [specification](https://opentelemetry.io/docs/specs/otel) for all components.
* A standard [protocol](https://opentelemetry.io/docs/specs/otlp/) that defines the shape of telemetry data.
* [Semantic conventions](https://opentelemetry.io/docs/specs/semconv/) that define a standard naming scheme for common telemetry data types.
* APIs that define how to generate telemetry data.
* [Language SDKs](https://opentelemetry.io/docs/languages) that implement the specification, APIs, and export of telemetry data.
* A [library ecosystem](https://opentelemetry.io/ecosystem/registry) that implements instrumentation for common libraries and frameworks.
* Automatic instrumentation components that generate telemetry data without requiring code changes.
* The [OpenTelemetry Collector](https://opentelemetry.io/docs/collector), a proxy that receives, processes, and exports telemetry data.
* Various other tools, such as the [OpenTelemetry Operator for Kubernetes](https://opentelemetry.io/docs/platforms/kubernetes/operator/), [OpenTelemetry Helm Charts](https://opentelemetry.io/docs/platforms/kubernetes/helm/), and [community assets for FaaS](https://opentelemetry.io/docs/platforms/faas/).

### [For Developers](https://opentelemetry.io/docs/getting-started/dev/)

If your goal is to get observability by writing code or you want to have your dependencies emit telemetry for you automatically.

## Instrumentation

### [Zero-code (Automatic)](https://opentelemetry.io/docs/concepts/instrumentation/zero-code/)

As ops you might want to add observability to one or more applications without having to edit the source.&#x20;

Zero-code instrumentation adds the OpenTelemetry API and SDK capabilities to your application typically **as an agent or agent-like installation**. (*The specific mechanisms involved may differ by language*)

### Code-based

Will require to:

* Import the OpenTelemetry API and SDK.
* Configure the OpenTelemetry API and SDK.
* Create telemetry data.
* Export this data.

## Main Components

### Collector

Vendor agnosticway to receive, process and export telemetry data.
