Last updated: March 3, 2026
Recognize Common Resource Fragmentation Scenarios
Resource equality solves the problem of telemetry fragmentation—when the same logical resource appears as multiple separate resources because different telemetry sources report different attribute sets. This page walks through common scenarios where fragmentation occurs and how Dash0's equality rules handle them.
Amazon EKS Pod Logs
When using Fluent Bit or Fluentd to collect Amazon EKS pod logs, the log agent accesses the host's /var/log/pods/<namespace>_<pod_name>_<pod_id>/<container_name>/ path. Without special configuration, it can only set:
k8s.namespace.namek8s.pod.namek8s.pod.uidcontainer.name
This limited attribute set differs significantly from what an embedded OpenTelemetry SDK reports (service name, deployment metadata, node information, etc.). The same pod ends up split across two resources—one with logs, the other with spans and metrics.
How Dash0 resolves it: The Kubernetes workload equality rule matches both sources on k8s.pod.uid and merges them into a single coalesced resource.
Amazon ECS Tasks + CloudWatch Logs
ECS workloads can send logs to CloudWatch using the awslogs driver. The AWS Logs semantic conventions define aws.log.{group|stream}.{arns|names} resource attributes, which can be retrieved from Amazon ECS metadata endpoints.
However, logs fetched from CloudWatch have no metadata about what generated them. Without explicit mapping, there's no way to correlate CloudWatch logs with ECS task telemetry from an embedded SDK.
How Dash0 resolves it: The ECS equality rule matches resources by aws.ecs.task.arn, bridging the gap between CloudWatch log metadata and SDK-reported attributes.
Vercel Spans and Logs
Vercel spans (via the @vercel/otel package) include detailed resource attributes:
12345678910111213141516171819{"service": {"name": "my-app","namespace": "my-app"},"cloud": {"provider": "Vercel","platform": "Vercel Functions","region": "iad1"},"vercel": {"environment": "production","url": "my-app.vercel.app"},"faas": {"name": "function-identifier","version": "$LATEST"}}
Vercel log drains provide a different, sparser set of metadata. Without correlation, spans and logs from the same Vercel function appear as separate resources.
How Dash0 resolves it: The Vercel equality rule matches resources by cloud.region + faas.name, correlating spans and logs from the same function regardless of other attribute differences.