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)