func monitoredResource()

in sharedlibraries/timeseries/timeseries.go [119:151]


func monitoredResource(cp *metadataserver.CloudProperties, bareMetal bool, hearbeat bool, resourceLabels map[string]string) *mrespb.MonitoredResource {
	switch {
	case bareMetal && hearbeat: // Hearbeat metrics for bare metal.
		return &mrespb.MonitoredResource{
			Type:   "compute.googleapis.com/WorkloadProcess",
			Labels: resourceLabels,
		}
	case bareMetal: // Regular custom metrics for bare metal.
		return &mrespb.MonitoredResource{
			Type: "generic_node",
			Labels: map[string]string{
				"project_id": cp.ProjectID,
				"location":   cp.Region,
				"namespace":  cp.InstanceName,
				"node_id":    cp.InstanceName,
			},
		}
	case hearbeat: // Hearbeat metrics for GCE.
		return &mrespb.MonitoredResource{
			Type:   "compute.googleapis.com/WorkloadProcess",
			Labels: resourceLabels,
		}
	default: // Regular custom metrics for GCE.
		return &mrespb.MonitoredResource{
			Type: "gce_instance",
			Labels: map[string]string{
				"project_id":  cp.ProjectID,
				"zone":        cp.Zone,
				"instance_id": cp.InstanceID,
			},
		}
	}
}