Last updated: May 13, 2026
About Resources
In OpenTelemetry, a resource is metadata that describes the observed system. Each signal (metric, trace, or log) carries resource metadata identifying the observed system, whether it's a specific process, container, Kubernetes pod, AWS Lambda function, or any other infrastructure component.
The system described by the telemetry is not always where the telemetry originates. For example, Amazon CloudWatch provides metrics about Amazon RDS instances without running inside them. The resource associated with those metrics describes the observed system (the RDS instance), not the telemetry collector (Amazon CloudWatch).
A resource is made of resource attributes—key-value pairs that describe the system generating telemetry. For example, a Kubernetes pod might have attributes, such as k8s.pod.uid, k8s.namespace.name, service.name, and container.name. OpenTelemetry defines semantic conventions for resource attributes to ensure consistent naming across different telemetry sources.
Different Signals, One Observed System
Different telemetry sources describing the same observed system rarely have identical resource attributes.
For example, an OpenTelemetry SDK inside a pod might report attributes, such as service.name, k8s.pod.uid, and k8s.deployment.name, while a log agent on the host only reports k8s.pod.uid, k8s.pod.name, and container.name.
Without intervention, these appear as two separate resources even though they describe the same pod.
This problem is known as resource fragmentation: your telemetry is split across multiple resources, with only a partial view of the metadata of the observed system.
Dash0 solves resource fragmentation through resource equality—a Dash0-specific mechanism that automatically identifies when different signals describe the same observed system and merges them into a unified view.
Resource equality works automatically without configuration—Dash0 merges resources using resource equality rules based on attributes such as k8s.pod.uid for Kubernetes or faas.instance for AWS Lambda. You don't need to modify your instrumentation or configure anything for this to work. For details on resource equality rules for your platform, see Kubernetes Resources, AWS Resources, or References for all supported platforms.
Next Steps
- Explore Resources: Get started exploring resources in Dash0
- Why Resource Equality?: Practical examples of resource fragmentation scenarios
- References: Complete reference for equality, naming, and typing rules
Further Reading
For more detailed information about resources and how Dash0 handles them, explore the following topics.
Dash0 Guides & Knowledge
- What are OpenTelemetry Resources?: Deep dive into how resources describe which system is generating telemetry data
- Service Attributes Best Practices: Learn what resource attributes are and how they can be categorized
- Kubernetes Attributes Best Practices: Best practices for Kubernetes resource attributes