in packages/opentelemetry-cloud-trace-exporter/src/transform.ts [202:227]
function transformResourceToAttributes(
resource: IResource,
projectId: string,
resourceFilter?: RegExp,
stringifyArrayAttributes?: boolean
): Attributes {
const monitoredResource = mapOtelResourceToMonitoredResource(resource);
const attributes: ot.SpanAttributes = {};
if (resourceFilter) {
Object.keys(resource.attributes)
.filter(key => resourceFilter.test(key))
.forEach(key => {
attributes[key] = resource.attributes[key];
});
}
// global is the "default" so just skip
if (monitoredResource.type !== 'global') {
Object.keys(monitoredResource.labels).forEach(labelKey => {
const key = `g.co/r/${monitoredResource.type}/${labelKey}`;
attributes[key] = monitoredResource.labels[labelKey];
});
}
return spanAttributesToGCTAttributes(attributes, stringifyArrayAttributes);
}