1
1
---
2
2
title : What is OpenTelemetry?
3
- description : A short explanation of what OpenTelemetry is and isn't.
3
+ description : A brief explanation of what OpenTelemetry is and isn't.
4
4
aliases : [/about, /docs/concepts/what-is-opentelemetry, /otel]
5
5
weight : 150
6
6
---
7
7
8
8
OpenTelemetry is:
9
9
10
- - An [ Observability] ( /docs/concepts/observability-primer/#what-is-observability )
11
- framework and toolkit designed to create and manage telemetry data such as
12
- [ traces] ( /docs/concepts/signals/traces/ ) ,
13
- [ metrics] ( /docs/concepts/signals/metrics/ ) , and
14
- [ logs] ( /docs/concepts/signals/logs/ ) .
15
- - Vendor- and tool-agnostic, meaning that it can be used with a broad variety of
16
- Observability backends, including open source tools like
17
- [ Jaeger] ( https://www.jaegertracing.io/ ) and
18
- [ Prometheus] ( https://prometheus.io/ ) , as well as commercial offerings.
19
- - Not an observability backend like Jaeger, Prometheus, or other commercial
20
- vendors.
21
- - Focused on the generation, collection, management, and export of telemetry. A
22
- major goal of OpenTelemetry is that you can easily instrument your
23
- applications or systems, no matter their language, infrastructure, or runtime
24
- environment. The storage and visualization of telemetry is intentionally left
25
- to other tools.
10
+ - An ** [ observability] framework and toolkit** designed to facilitate the
11
+
12
+ - [ Generation] [ instr ]
13
+ - Export
14
+ - [ Collection] ( ../concepts/components/#collector )
15
+
16
+ of [ telemetry data] [ ] such as [ traces] , [ metrics] , and [ logs] .
17
+
18
+ - ** Open source** , as well as ** vendor- and tool-agnostic** , meaning that it can
19
+ be used with a broad variety of observability backends, including open source
20
+ tools like [ Jaeger] and [ Prometheus] , as well as commercial offerings.
21
+ OpenTelemetry is ** not** an observability backend itself.
22
+
23
+ A major goal of OpenTelemetry is to enable easy instrumentation of your
24
+ applications and systems, regardless of the programming language,
25
+ infrastructure, and runtime environments used.
26
+
27
+ The backend (storage) and the frontend (visualization) of telemetry data are
28
+ intentionally left to other tools.
26
29
27
30
## What is observability?
28
31
29
- [ Observability] ( /docs/concepts/observability-primer/#what-is-observability ) is
30
- the ability to understand the internal state of a system by examining its
31
- outputs. In the context of software, this means being able to understand the
32
- internal state of a system by examining its telemetry data, which includes
33
- traces, metrics, and logs.
32
+ [ Observability] is the ability to understand the internal state of a system by
33
+ examining its outputs. In the context of software, this means being able to
34
+ understand the internal state of a system by examining its telemetry data, which
35
+ includes traces, metrics, and logs.
34
36
35
- To make a system observable, it must be
36
- [ instrumented] ( /docs/concepts/instrumentation ) . That is, the code must emit
37
- [ traces] ( /docs/concepts/signals/traces/ ) ,
38
- [ metrics] ( /docs/concepts/signals/metrics/ ) , or
39
- [ logs] ( /docs/concepts/signals/logs/ ) . The instrumented data must then be sent to
40
- an observability backend.
37
+ To make a system observable, it must be [ instrumented] [ instr ] . That is, the code
38
+ must emit [ traces] , [ metrics] , or [ logs] . The instrumented data must then be
39
+ sent to an observability backend.
41
40
42
41
## Why OpenTelemetry?
43
42
44
43
With the rise of cloud computing, microservices architectures, and increasingly
45
44
complex business requirements, the need for software and infrastructure
46
- [ observability] ( /docs/concepts/observability-primer/#what-is-observability ) is
47
- greater than ever.
45
+ [ observability] is greater than ever.
48
46
49
47
OpenTelemetry satisfies the need for observability while following two key
50
48
principles:
@@ -62,24 +60,23 @@ If you want to learn more, take a look at OpenTelemetry's
62
60
63
61
OpenTelemetry consists of the following major components:
64
62
65
- - A [ specification] ( /docs/specs/otel ) for all components
66
- - A standard [ protocol] ( /docs/specs/otlp/ ) that defines the shape of telemetry
67
- data
68
- - [ Semantic conventions] ( /docs/specs/semconv/ ) that define a standard naming
69
- scheme for common telemetry data types
63
+ - A [ specification] ( ../specs/otel ) for all components
64
+ - A standard [ protocol] ( ../specs/otlp/ ) that defines the shape of telemetry data
65
+ - [ Semantic conventions] ( ../specs/semconv/ ) that define a standard naming scheme
66
+ for common telemetry data types
70
67
- APIs that define how to generate telemetry data
71
- - [ Language SDKs] ( /docs /languages) that implement the specification, APIs, and
68
+ - [ Language SDKs] ( .. /languages) that implement the specification, APIs, and
72
69
export of telemetry data
73
70
- A [ library ecosystem] ( /ecosystem/registry ) that implements instrumentation for
74
71
common libraries and frameworks
75
72
- Automatic instrumentation components that generate telemetry data without
76
73
requiring code changes
77
- - The [ OpenTelemetry Collector] ( /docs/ collector) , a proxy that receives,
78
- processes, and exports telemetry data
74
+ - The [ OpenTelemetry Collector] ( ../ collector) , a proxy that receives, processes ,
75
+ and exports telemetry data
79
76
- Various other tools, such as the
80
- [ OpenTelemetry Operator for Kubernetes] ( /docs /platforms/kubernetes/operator/) ,
81
- [ OpenTelemetry Helm Charts] ( /docs /platforms/kubernetes/helm/) , and
82
- [ community assets for FaaS] ( /docs /platforms/faas/)
77
+ [ OpenTelemetry Operator for Kubernetes] ( .. /platforms/kubernetes/operator/) ,
78
+ [ OpenTelemetry Helm Charts] ( .. /platforms/kubernetes/helm/) , and
79
+ [ community assets for FaaS] ( .. /platforms/faas/)
83
80
84
81
OpenTelemetry is used by a wide variety of
85
82
[ libraries, services and apps] ( /ecosystem/integrations/ ) that have OpenTelemetry
@@ -97,7 +94,7 @@ extended include:
97
94
- Adding a receiver to the OpenTelemetry Collector to support telemetry data
98
95
from a custom source
99
96
- Loading custom instrumentation libraries into an SDK
100
- - Creating a [ distribution] ( /docs /concepts/distributions/) of an SDK or the
97
+ - Creating a [ distribution] ( .. /concepts/distributions/) of an SDK or the
101
98
Collector tailored to a specific use case
102
99
- Creating a new exporter for a custom backend that doesn't yet support the
103
100
OpenTelemetry protocol (OTLP)
@@ -108,8 +105,7 @@ designed to make it possible at nearly every level.
108
105
109
106
## History
110
107
111
- OpenTelemetry is a
112
- [ Cloud Native Computing Foundation (CNCF)] ( https://www.cncf.io ) project that is
108
+ OpenTelemetry is a [ Cloud Native Computing Foundation] [ ] (CNCF) project that is
113
109
the result of a [ merger] between two prior projects,
114
110
[ OpenTracing] ( https://opentracing.io ) and [ OpenCensus] ( https://opencensus.io ) .
115
111
Both of these projects were created to solve the same problem: the lack of a
@@ -119,12 +115,22 @@ they merged to form OpenTelemetry and combine their strengths while offering a
119
115
single solution.
120
116
121
117
If you are currently using OpenTracing or OpenCensus, you can learn how to
122
- migrate to OpenTelemetry in the [ Migration guide] ( /docs /migration/) .
118
+ migrate to OpenTelemetry in the [ Migration guide] ( .. /migration/) .
123
119
124
120
[ merger] :
125
121
https://www.cncf.io/blog/2019/05/21/a-brief-history-of-opentelemetry-so-far/
126
122
127
123
## What next?
128
124
129
- - [ Getting started] ( /docs/getting-started/ ) &mdash ; jump right in!
130
- - Learn about [ OpenTelemetry concepts] ( /docs/concepts/ ) .
125
+ - [ Getting started] ( ../getting-started/ ) &mdash ; jump right in!
126
+ - Learn about [ OpenTelemetry concepts] ( ../concepts/ ) .
127
+
128
+ [ Cloud Native Computing Foundation ] : https://www.cncf.io
129
+ [ instr ] : ../concepts/instrumentation
130
+ [ Jaeger ] : https://www.jaegertracing.io/
131
+ [ logs ] : ../concepts/signals/logs/
132
+ [ metrics ] : ../concepts/signals/metrics/
133
+ [ observability ] : ../concepts/observability-primer/#what-is-observability
134
+ [ Prometheus ] : https://prometheus.io/
135
+ [ telemetry data ] : ../concepts/signals/
136
+ [ traces ] : ../concepts/signals/traces/
0 commit comments