Desktop Only
These koans require a larger screen. Please visit on a desktop browser.

What Gets Exported

The code speaks. But in what language?
Instrumentation creates telemetry inside the program.
To leave the program, it must become structured data.
Read the code. Predict the output.
read the code, fill in the blanks
instrumented code
let span = tracer.startSpan("checkout")
span.setAttribute("order.id", "8842")
span.setAttribute("http.request.method", "POST")
// ... do work ...
span.end()
exported telemetry
{
  "name": ,
  "traceId": "a1b2c3...",
  "spanId": "f7e8d9...",
  "startTime": 1710284521204,
  "endTime": 1710284521346,
  "attributes": {
    : "8842",
    : "POST"
  }
}
read the code on the left  →  fill the dropdowns on the right
This structured format is called OTLP, OpenTelemetry Protocol. The code created telemetry. OTLP is how it leaves the program as structured data.

Why does telemetry need a standard format like OTLP?

You read the code and constructed the output yourself.

Instrumentation creates telemetry. OTLP gives it a universal shape, so any tool can understand it.

Continue →