in nfm-controller/src/reports/report_otlp.rs [283:327]
fn add_resource_data(report: &NfmReport, resource_metrics: &mut ResourceMetrics) {
let mut resource = Resource::default();
// Env data
for (key, value) in report.env_metadata.enumerate() {
NfmReportOTLP::add_resource_entry(key, value, &mut resource);
}
// Service data. See: https://opentelemetry.io/docs/specs/semconv/resource/
NfmReportOTLP::add_resource_entry(
METADATA_SERVICE_NAME,
&report.service_metadata.name,
&mut resource,
);
NfmReportOTLP::add_resource_entry(
METADATA_SERVICE_VERSION,
&report.service_metadata.version,
&mut resource,
);
// Agent data
NfmReportOTLP::add_resource_entry(
METADATA_AGENT_BUILD_TIME,
&report.service_metadata.build_ts,
&mut resource,
);
NfmReportOTLP::add_resource_entry(
"report.version",
&ReportValue::String(report.report_version.clone()),
&mut resource,
);
// Kubernetes metadata
if let Some(node_name) = &report.k8s_metadata.node_name {
NfmReportOTLP::add_resource_entry(METADATA_K8S_NODE_NAME, node_name, &mut resource);
}
if let Some(cluster_name) = &report.k8s_metadata.cluster_name {
NfmReportOTLP::add_resource_entry(
METADATA_K8S_EKS_CLUSTER_NAME,
cluster_name,
&mut resource,
);
}
resource_metrics.resource = Some(resource);
}