From 9f5d3576aa2f1d4579ff88bf8c2bda4172c3e41c Mon Sep 17 00:00:00 2001 From: Frank van Lankvelt Date: Fri, 10 Jul 2026 13:18:28 +0200 Subject: [PATCH] STAC-25175: Deal with signals that are missing the k8s cluster and/or namespace --- .../component-mappings/namespaces.sty | 10 +++---- .../component-mappings/service-instances.sty | 27 ++++++------------- .../settings/component-mappings/services.sty | 12 ++++----- stackpacks/open-telemetry-2/stackpack.yaml | 2 +- 4 files changed, 18 insertions(+), 33 deletions(-) diff --git a/stackpacks/open-telemetry-2/settings/component-mappings/namespaces.sty b/stackpacks/open-telemetry-2/settings/component-mappings/namespaces.sty index 2ea55aa..0c97bd1 100644 --- a/stackpacks/open-telemetry-2/settings/component-mappings/namespaces.sty +++ b/stackpacks/open-telemetry-2/settings/component-mappings/namespaces.sty @@ -15,8 +15,6 @@ nodes: value: "resource.attributes['service.namespace']" - name: "clusterName" value: "resource.attributes['k8s.cluster.name']" - - name: "k8sNamespaceName" - value: "resource.attributes['k8s.namespace.name']" output: identifier: "'urn:opentelemetry:namespace/' + vars.namespace" name: "vars.namespace" @@ -27,14 +25,14 @@ nodes: target: "stackpack" - source: "vars.clusterName" target: "cluster-name" - - source: "vars.k8sNamespaceName" - target: "namespace" - - source: "vars.clusterName + '/' + vars.k8sNamespaceName" - target: "k8s-scope" optional: tags: - source: "resource.attributes['deployment.environment']" target: "deployment-environment" + - source: "vars.clusterName + '/' + resource.attributes['k8s.namespace.name']" + target: "k8s-scope" + - source: "resource.attributes['k8s.namespace.name']" + target: "namespace" expireAfter: 900000 rank: specificity: 100 diff --git a/stackpacks/open-telemetry-2/settings/component-mappings/service-instances.sty b/stackpacks/open-telemetry-2/settings/component-mappings/service-instances.sty index bd1b32f..a4e901a 100644 --- a/stackpacks/open-telemetry-2/settings/component-mappings/service-instances.sty +++ b/stackpacks/open-telemetry-2/settings/component-mappings/service-instances.sty @@ -9,13 +9,10 @@ nodes: - "METRICS" resource: action: "'CREATE'" - condition: "'service.namespace' in resource.attributes" + condition: "'service.instance.id' in resource.attributes" vars: - name: "namespace" - value: >- - 'service.namespace' in resource.attributes ? - resource.attributes['service.namespace'] : - 'default' + value: "resource.attributes['service.namespace']" - name: "service" value: "resource.attributes['service.name']" - name: "version" @@ -24,19 +21,11 @@ nodes: resource.attributes['service.version'] : 'undefined' - name: "instanceId" - value: >- - 'service.instance.id' in resource.attributes ? - resource.attributes['service.instance.id'] : - resource.attributes['service.name'] + value: "resource.attributes['service.instance.id']" - name: "instanceName" - value: >- - 'service.instance.id' in resource.attributes ? - resource.attributes['service.name'] + " - " + resource.attributes['service.instance.id'] : - resource.attributes['service.name'] + " - instance" + value: "resource.attributes['service.name'] + ' - ' + resource.attributes['service.instance.id']" - name: "clusterName" value: "resource.attributes['k8s.cluster.name']" - - name: "k8sNamespaceName" - value: "resource.attributes['k8s.namespace.name']" output: identifier: >- 'urn:opentelemetry:namespace/' + vars.namespace + ':service/' + vars.service + ':serviceInstance/' + vars.instanceId @@ -53,10 +42,6 @@ nodes: target: "service.namespace" - source: "vars.clusterName" target: "cluster-name" - - source: "vars.k8sNamespaceName" - target: "namespace" - - source: "vars.clusterName + '/' + vars.k8sNamespaceName" - target: "k8s-scope" - source: "resource.attributes" pattern: "(.*)" target: "${1}" @@ -64,6 +49,10 @@ nodes: tags: - source: "resource.attributes['deployment.environment']" target: "deployment-environment" + - source: "vars.clusterName + '/' + resource.attributes['k8s.namespace.name']" + target: "k8s-scope" + - source: "resource.attributes['k8s.namespace.name']" + target: "namespace" expireAfter: 900000 rank: specificity: 210 diff --git a/stackpacks/open-telemetry-2/settings/component-mappings/services.sty b/stackpacks/open-telemetry-2/settings/component-mappings/services.sty index 78f4f8e..7e99cb6 100644 --- a/stackpacks/open-telemetry-2/settings/component-mappings/services.sty +++ b/stackpacks/open-telemetry-2/settings/component-mappings/services.sty @@ -9,7 +9,7 @@ nodes: - "METRICS" resource: action: "'CREATE'" - condition: "'service.namespace' in resource.attributes" + condition: "'service.name' in resource.attributes" vars: - name: "namespace" value: >- @@ -25,8 +25,6 @@ nodes: 'undefined' - name: "clusterName" value: "resource.attributes['k8s.cluster.name']" - - name: "k8sNamespaceName" - value: "resource.attributes['k8s.namespace.name']" output: identifier: >- 'urn:opentelemetry:namespace/' + vars.namespace + ':service/' + vars.service @@ -45,10 +43,6 @@ nodes: target: "service.version" - source: "vars.clusterName" target: "cluster-name" - - source: "vars.k8sNamespaceName" - target: "namespace" - - source: "vars.clusterName + '/' + vars.k8sNamespaceName" - target: "k8s-scope" - source: "resource.attributes" pattern: "telemetry.sdk\\.(.*)" target: "telemetry.sdk.${1}" @@ -56,6 +50,10 @@ nodes: tags: - source: "resource.attributes['deployment.environment']" target: "deployment-environment" + - source: "vars.clusterName + '/' + resource.attributes['k8s.namespace.name']" + target: "k8s-scope" + - source: "resource.attributes['k8s.namespace.name']" + target: "namespace" expireAfter: 900000 rank: specificity: 200 diff --git a/stackpacks/open-telemetry-2/stackpack.yaml b/stackpacks/open-telemetry-2/stackpack.yaml index 2c63899..c06833e 100644 --- a/stackpacks/open-telemetry-2/stackpack.yaml +++ b/stackpacks/open-telemetry-2/stackpack.yaml @@ -1,5 +1,5 @@ name: "open-telemetry-2" -version: "0.0.16" +version: "0.0.17" schemaVersion: "2.0" displayName: "Open Telemetry 2.0" categories: [ "Open Telemetry" ]