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,
},
}
}
}