OpenTelemetry - gablesiak/learning-path GitHub Wiki

OpenTelemetry:

-open source observability framework

-collection of vendor-neutral APIs, SDKs and tools for collecting data

-used to collect telemetry data from distributed systems in order to troubleshoot, debug and manage applications and their host environment

-helps with understanding software performance and behavior

-helps to understand observability

-standardizes describing what distributed services are doing

-OS/Programming language doesn’t matter

Telemetry Data

M.E.L.T – Metrics – Events – Logs – Traces

Metrics

-measurement, collected at regular intervals

-must have timestamp, name, 1 or more numeric value and count of represented events

-structured by default – it makes them easier to query

-work best for large data sets

Events

-discrete action happening at any moment of time

Logs

-text record of an event that happened at a particular time

-come directly from app

-exporting detailed data and detailed context around an event

-comes in three formats: plain text, structured and unstructured

Traces

-follow a request from the initial request to the returned output

-it requires the casual chain of events to determine relationships between different entities

-valuable for highlighting inefficiencies, bottlenecks and roadblocks

-they can be used to show the end to end latency of cores/architecture

-combines SPANs together

Observability

-is the practice of measuring the state of a system by its outputs

-ability to observe and understand what’s happening inside the system

-it’s possible with using the knowledge of the external data it produces (usually logs, metrics, traces)