in exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/ResourceTranslator.java [73:89]
private static MonitoredResource mapResourceUsingPlatformMappings(
Resource resource,
String mrTypeToMap,
MonitoredResourceDescription monitoredResourceDescription) {
Set<String> expectedMRLabels = monitoredResourceDescription.getMonitoredResourceLabels();
MonitoredResource.Builder mr = MonitoredResource.newBuilder();
mr.setType(mrTypeToMap);
expectedMRLabels.forEach(
expectedLabel -> {
String foundValue = resource.getAttribute(AttributeKey.stringKey(expectedLabel));
if (foundValue != null) {
// only put labels for found value
mr.putLabels(expectedLabel, foundValue);
}
});
return mr.build();
}