Dash0 Acquires Lumigo to Expand Agentic Observability Across AWS and Serverless

Last updated: March 3, 2026

Identify Resources by Name and Type

When Dash0 identifies a resource through resource equality, it also assigns a human-readable name and type based on the available resource attributes. These are stored as dash0.resource.name and dash0.resource.type resource attributes and appear throughout the Dash0 UI—on the Map, in span detail panels, in the Log explorer, in alert notifications, and more.

How Names and Types are Determined

Naming and typing rules follow the same precedence order as resource equality rules. Each equality rule has a corresponding naming rule that uses a subset of the same attribute keys. Names prefer human-readable values (e.g., k8s.pod.name) over UIDs, falling back to UIDs when names aren't available.

User-Defined Override

If a resource already contains dash0.resource.name or dash0.resource.type attributes, those values take precedence over all computed rules. This gives you full control over how a resource appears in Dash0.

Naming Rules by Technology

Rules are listed in descending order of precedence.

Kubernetes Workloads

ConditionTypeUI LabelName
k8s.pod.name or k8s.pod.uid setk8s.podPodPod name or UID
k8s.job.name or k8s.job.uid setk8s.jobJobJob name or UID
k8s.cronjob.name or k8s.cronjob.uid setk8s.cronjobCronJobCronJob name or UID
k8s.daemonset.name or k8s.daemonset.uid setk8s.daemonsetDaemonSetDaemonSet name or UID
k8s.replicaset.name or k8s.replicaset.uid setk8s.replicasetReplicaSetReplicaSet name or UID
k8s.deployment.name or k8s.deployment.uid setk8s.deploymentDeploymentDeployment name or UID
k8s.statefulset.name or k8s.statefulset.uid setk8s.statefulsetStatefulSetStatefulSet name or UID
k8s.namespace.name or k8s.namespace.uid setk8s.namespaceNamespaceNamespace name
k8s.node.name or k8s.node.uid set (no workload attrs)k8s.nodeNodeNode name or UID
k8s.cluster.name, aws.eks.cluster.arn, or k8s.cluster.uid setk8s.clusterClusterCluster name, ARN, or UID

Other Infrastructure

ConditionTypeUI LabelName
container.name or container.id set (non-K8s)containerContainerContainer name or ID
host.name or host.id sethostHostHost name or ID
heroku.app.id setheroku.dynoHeroku Dyno<heroku.app.id>:<service.instance.id>
cicd.pipeline.name setcicd.pipelineCI/CD PipelinePipeline name

Vercel

ConditionTypeUI LabelName
cloud.provider == "Vercel" + faas.name + cloud.regionvercel.functionVercel Function<faas.name> (<cloud.region>)
cloud.provider == "Vercel" + faas.name (no region)vercel.functionVercel Function<faas.name>

Browser

ConditionTypeUI LabelName
telemetry.sdk.language == "webjs" or process.runtime.name == "browser"browserWebsiteService namespace/name/instance.id combination

Fallback Rules

When none of the technology-specific rules match, Dash0 falls back to service-based naming:

  1. Service with namespace or instance ID: If service.namespace and/or service.instance.id are set, the name is built as <service.namespace>:<service.name>. No type is assigned.
  2. Service name only: If only service.name is set, it becomes the resource name. No type is assigned.
  3. No attributes match: The resource is named unknown and no dash0.resource.type is set.
Note

With OpenTelemetry moving toward SDK-set service.instance.id attributes, service-based naming is intentionally low priority. Use the technology-specific rules or dash0.resource.name for more meaningful names.