It's been said that open source software is eating the world. In the observability space, the project making this possible is OpenTelemetry. It's quickly becoming the standard for instrumentation and data collection of observability data. Understanding what data to collect and how to collect it properly is fundamental to ensuring users can quickly address availability and performance issues. Steve Flanders, Director of Engineering at Splunk, discusses the components of the project, its current status, and how you can get started integrating it into your modern app infrastructure.
Speakers:
Steve Flanders
2. Steve Flanders
Sr. Director of Engineering,
Splunk
@smflanders
Founding Member of
OpenTelmetry
Founding Member of OpenCensus
OpenTelemetry Collector Triager
OpenTelemetry Website Maintainer
10+ years of monitoring and
observability experience
○ OpenTelemetry + Metrics @Splunk
○ OpenCensus + APM @Omnition
○ Logs @VMware
3. What is OpenTelemetry?
OpenTelemetry is a collection of tools, APIs, and SDKs.
Use it to instrument, generate, collect, and export
telemetry data (metrics, logs, and traces) to help you
analyze your software’s performance and behavior.
https://opentelemetry.io/
4. 4
is the second most active
project in CNCF today!
🎉 🎉
(per CNCF DevStats)
5. Everyone is Contributing and Adopting
https://github.com/open-telemetry/community/blob/master/ADOPTERS.md
https://medium.com/jaegertracing/jaeger-embraces-opentelemetry-collector-90a545cbc24
AWS | Azure | GCP Every major vendor!
Mailchimp (PHP)
Postmates (Erlang)
Shopify (Ruby)
Cloud Providers Vendors End-users Other
Jaeger > OtelCol
Fluent-bit <3 log SIG
Envoy support
OpenMetrics support
Spring support
6. COLLECTOR
Single binary to receive,
process, and export data
SPECIFICATION
API, SDK, Data
OpenTelemetry Components
INSTRUMENTATION
LIBRARIES
Single library per language
7. Specification + Data Portability
https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/README.md
https://github.com/open-telemetry/opentelemetry-specification/tree/master/specification/resource/semantic_conventions
10. Instrumentation Libraries
● Single instrumentation library per language
● All support manual instrumentation; some automatic
● Priority 1) traces 2) metrics 3) logs 4) profiling
Application
RUM
Serverless
11. ● Receivers: how you get data in
(can be push or pull-based)
● Processors: what you to do the data
(e.g. batching, metadata, etc.)
● Exporters: how you get data out
(can be push or pull-based)
● Extensions: things you do in the
collector typically outside processing
data (e.g. health check)
Collector (Binary, Agent, Service)