in shared/resourcemapping/src/main/java/com/google/cloud/opentelemetry/resource/ResourceTranslator.java [189:204]
private static GcpResource mapK8sResourceOrGenericTaskOrNode(Resource resource) {
// if k8s.cluster.name is set, pattern match for various k8s resources.
// this will also match non-cloud k8s platforms like minikube.
if (resource.getAttribute(ResourceAttributes.K8S_CLUSTER_NAME) != null) {
if (resource.getAttribute(ResourceAttributes.K8S_CONTAINER_NAME) != null) {
return mapBase(resource, "k8s_container", K8S_CONTAINER_LABELS);
} else if (resource.getAttribute(ResourceAttributes.K8S_POD_NAME) != null) {
return mapBase(resource, "k8s_pod", K8S_POD_LABELS);
} else if (resource.getAttribute(ResourceAttributes.K8S_NODE_NAME) != null) {
return mapBase(resource, "k8s_node", K8S_NODE_LABELS);
} else {
return mapBase(resource, "k8s_cluster", K8S_CLUSTER_LABELS);
}
}
return genericTaskOrNode(resource);
}