private static GcpResource mapK8sResourceOrGenericTaskOrNode()

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);
  }