fn add_resource_data()

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);
    }