func()

in kubelet-to-gcm/monitor/kubelet/translate.go [588:633]


func (t *Translator) getMonitoredResource(labels map[string]string) *v3.MonitoredResource {
	resourceLabels := map[string]string{
		"project_id":   t.project,
		"cluster_name": t.cluster,
	}

	if t.useOldResourceModel {
		resourceLabels["zone"] = t.zone
		resourceLabels["instance_id"] = t.instance
		resourceLabels["namespace_id"] = labels["namespace"]
		resourceLabels["pod_id"] = labels["pod"]
		resourceLabels["container_name"] = labels["container"]
		return &v3.MonitoredResource{
			Type:   "gke_container",
			Labels: resourceLabels,
		}
	}

	resourceLabels["location"] = t.clusterLocation
	if t.schemaPrefix != "k8s_" {
		resourceLabels["instance_id"] = t.instanceID
	}

	for k, v := range t.monitoredResourceLabels {
		resourceLabels[k] = v
	}

	if _, found := labels["container"]; !found {
		if t.instance != "" {
			resourceLabels["node_name"] = t.instance
		}
		return &v3.MonitoredResource{
			Type:   t.schemaPrefix + "node",
			Labels: resourceLabels,
		}
	}

	resourceLabels["namespace_name"] = labels["namespace"]
	resourceLabels["pod_name"] = labels["pod"]
	resourceLabels["container_name"] = labels["container"]

	return &v3.MonitoredResource{
		Type:   t.schemaPrefix + "container",
		Labels: resourceLabels,
	}
}