Modules · wrap-up
Cheat sheet & self-check
21 questions across 7 lessons. Each answer links back to the lesson it came from.
Pick an answer to see if you got it, and why.
Q1. Which signal best answers 'which of the 12 services in this request path made it slow'?
Show answer
B. A trace shows every span in one request with its duration, so the slow hop is visible directly.
From lesson 01 · Observability fundamentalsQ2. What does OpenTelemetry provide?
Show answer
B. OTel standardises how telemetry is created and shipped, so you can change backends without re-instrumenting.
From lesson 01 · Observability fundamentalsQ3. Why do consistent resource attributes like service.name matter?
Show answer
B. Correlation (lesson 05) only works when all signals describe the source the same way.
From lesson 01 · Observability fundamentalsQ4. Why should memory_limiter be the first processor in a pipeline?
Show answer
B. Refusing early lets senders retry, instead of the Collector crashing and losing everything in memory.
From lesson 02 · OpenTelemetry Collector deep diveQ5. What's the difference between an agent and a gateway Collector?
Show answer
B. Many setups use both: agents for collection and enrichment, gateways for central policy.
From lesson 02 · OpenTelemetry Collector deep diveQ6. What does the spanmetrics connector do?
Show answer
B. Useful when services are traced but not all expose good metrics.
From lesson 02 · OpenTelemetry Collector deep diveQ7. How does a trace follow a request from service A to service B?
Show answer
B. Context propagation is what turns separate spans into one trace. A service that drops the header breaks the chain.
From lesson 03 · Distributed tracingQ8. What's the main advantage of tail sampling over head sampling?
Show answer
B. Head sampling decides at the start (it can't know a trace will fail). Tail sampling costs memory and needs all spans of a trace at one place.
From lesson 03 · Distributed tracingQ9. Why do Tempo and similar backends keep costs low?
Show answer
B. Cheap object storage makes it affordable to keep a high percentage of traces.
From lesson 03 · Distributed tracingQ10. How is Loki's design different from Elasticsearch's?
Show answer
B. Small index + object storage = low cost. Queries are fast when labels narrow the streams first.
From lesson 04 · Structured logging & LokiQ11. Why is `trace_id` a bad Loki label?
Show answer
B. Keep high-cardinality values in the log line or in structured metadata, and filter on them at query time.
From lesson 04 · Structured logging & LokiQ12. What does `sum by (app) (rate({namespace="shop"} |= "error" [5m]))` return?
Show answer
B. LogQL metric queries turn logs into time series for dashboards and alerts.
From lesson 04 · Structured logging & LokiQ13. What is an exemplar?
Show answer
B. Exemplars bridge the aggregated world (metrics) and the individual world (traces).
From lesson 05 · Signal correlationQ14. Your logs have no trace IDs. What breaks?
Show answer
B. Trace IDs in logs are the most valuable single field for correlation.
From lesson 05 · Signal correlationQ15. Why must resource attributes be consistent across signals?
Show answer
B. Set service.name and Kubernetes attributes once (SDK env vars + k8sattributes) so every signal agrees.
From lesson 05 · Signal correlationQ16. A service has a 99.9% availability SLO over 30 days. What's the error budget in time if it were fully down?
Show answer
B. 0.1% of 30 days = 0.001 × 43,200 minutes = 43.2 minutes.
From lesson 06 · SLOs, SLIs & burn-rate alertingQ17. Why alert on burn rate rather than 'error rate > 1%'?
Show answer
B. Alerts then mean 'users are being hurt at a rate that matters', which is why people trust them.
From lesson 06 · SLOs, SLIs & burn-rate alertingQ18. Why do burn-rate alerts use two windows (e.g. 1h and 5m)?
Show answer
B. Long window alone keeps firing long after recovery; short window alone is too noisy.
From lesson 06 · SLOs, SLIs & burn-rate alertingQ19. Which is usually the biggest lever on metrics cost?
Show answer
B. Each unique label combination is a series with memory and storage cost. One bad label can multiply series by thousands.
From lesson 07 · Production observability patternsQ20. How do Loki, Tempo and Mimir separate tenants?
Show answer
B. The gateway authenticates the caller and sets the tenant, so teams can't read or flood each other's data.
From lesson 07 · Production observability patternsQ21. Where should personal data (emails, tokens) be removed from telemetry?
Show answer
B. Once stored and replicated, sensitive data is hard to delete. Redact at the source and in the Collector.
From lesson 07 · Production observability patterns