World map

 

BM: Baca dalam Bahasa Melayu

World O4: The Diary & One Order

OpenTelemetry: SDK, collector, OTLP

You will learn: how one shared standard carries metrics, logs and traces from your app to any tool.

Checked with Prometheus 3 on 1 Nov 2026

The problem

Three services, written in three languages. You want a new trace store. Without a shared standard, what has to change?

Pick one answer.

Watch

From your code at the top, to the store. Put these in order. Use the arrows, or drag.

  • The Collector sorts it and sends it on
  • A store keeps it: Prometheus, Loki or a trace store
  • The SDK inside the app collects it
  • OTLP carries it out of the app
  • Your code marks a step: "order started"

The OpenTelemetry SDK: The library inside your app that writes down metrics, logs and spans, then sends them out with OTLP. lives inside your app. It writes things down and sends them out.

Watch

bash
otelcol-contrib validate --config=config.yaml
Error: service::pipelines::traces: references exporter "otlp" which is not configured
otelcol-contrib validate on a config whose traces pipeline names the exporter otlp: Error, references exporter otlp which is not configured.

The pipeline names an exporter that isn’t set up above. The Collector: OpenTelemetry's sorting office. Receivers take data in, processors tidy it, exporters send it on, joined by pipelines. is the sorting office: receivers in, exporters out, pipelines join them.

Try it

Fix the pipeline. It should send traces to the debug exporter that is set up above.

Change the YAML. The box below shows how a computer reads it.

config.yaml16 lines

How a computer reads it

  • receiversmap · 1 keys
    • otlpmap · 1 keys
      • protocolsmap · 2 keys
        • grpcmap · 1 keys
          • endpoint0.0.0.0:4317text
        • httpmap · 1 keys
          • endpoint0.0.0.0:4318text
  • exportersmap · 1 keys
    • debugmap · 1 keys
      • verbositydetailedtext
  • servicemap · 1 keys
    • pipelinesmap · 1 keys
      • tracesmap · 2 keys
        • receiverslist · 1 items
          • item 1otlptext
        • exporterslist · 1 items
          • item 1otlptext

Predict

Your app sends OTLP: The OpenTelemetry Protocol: one shared way to send metrics, logs and traces. Usually port 4317 (gRPC) or 4318 (HTTP). over HTTP to the Collector. Which port, by default?

Pick one answer.

Check

Drag a card into a box. Or tap the card, then tap the box.

      Who does which job?

      You did it!

      You can now explain the SDK, OTLP and the Collector, and fix a Collector pipeline.

      Go deeper (optional)

      OpenTelemetry also agrees on names, called semantic conventions: http.request.method, http.route, service.name. Use them, so every tool understands your data. Real rep: validate your own config.

      Real mission

      1. docker run --rm -v "$PWD:/w" otel/opentelemetry-collector-contrib:0.164.0 validate --config=/w/config.yaml

      0 of 2 steps done · Your ticks are saved.