Desktop Only
These koans require a larger screen. Please visit on a desktop browser.
Koan 10 of 19

Resources

Three alarms fire at once.
Three identical errors.
But where did they come from?
error metric
request_duration: 920ms
http.route = "/checkout"
http.response.status_code = 500
resource
service.name = "orders"
deployment.environment = "production"
host.name = "pod-7f8b9"
error metric
request_duration: 920ms
http.route = "/checkout"
http.response.status_code = 500
resource
service.name = "orders"
deployment.environment = "staging"
host.name = "pod-2a3b4"
error metric
request_duration: 920ms
http.route = "/checkout"
http.response.status_code = 500
resource
service.name = "payment"
deployment.environment = "production"
host.name = "pod-9c8d7"
Three identical errors. But are they from the same service? Different services?
Different environments? You can't tell.

What information is missing?

Now you can see the resources. How many services are affected?
Is this happening in production only?
Resources attach to all signals — not just metrics
span
checkout
duration = 142ms
resource
service.name = "orders"
deployment.environment = "production"
host.name = "pod-7f8b9"
log
Payment timeout after 5000ms
severity = ERROR
resource
service.name = "orders"
deployment.environment = "production"
host.name = "pod-7f8b9"

A resource is the identity card of a telemetry source.

Attributes describe what happened. Resources tell you who reported it.

Continue →