From c5c206d8a63d198f750bc95a5f83c8b1c4d849cf Mon Sep 17 00:00:00 2001 From: Todd Treece <360020+toddtreece@users.noreply.github.com> Date: Fri, 9 Aug 2024 04:39:37 -0400 Subject: [PATCH] Semconv: Add k8s.dataplaneservice.name (#91714) --- pkg/semconv/README.md | 10 ++++++++++ pkg/semconv/attributes.go | 20 ++++++++++++++++++++ pkg/semconv/model/registry/k8s.yml | 12 ++++++++++++ pkg/semconv/model/trace/k8s.yaml | 7 +++++++ 4 files changed, 49 insertions(+) create mode 100644 pkg/semconv/model/registry/k8s.yml create mode 100644 pkg/semconv/model/trace/k8s.yaml diff --git a/pkg/semconv/README.md b/pkg/semconv/README.md index f4322dc25f9..585034221e0 100644 --- a/pkg/semconv/README.md +++ b/pkg/semconv/README.md @@ -6,6 +6,7 @@ - [Attribute Groups](#attribute-groups) - [grafana.datasource](#grafanadatasource) - [grafana.datasource.request](#grafanadatasourcerequest) +- [k8s](#k8s) - [grafana.plugin](#grafanaplugin) @@ -24,6 +25,7 @@ For more information: ## Attribute Groups ### grafana.datasource + | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| @@ -39,6 +41,13 @@ For more information: | `grafana.datasource.request.query_count` | int | The number of queries in the request. | `3` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +## k8s + + +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| `k8s.dataplaneservice.name` | string | The name of the DataPlaneService. | `v0alpha1.prometheus.grafana.app` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + ### grafana.plugin @@ -48,3 +57,4 @@ For more information: | `grafana.plugin.id` | string | The plugin ID. | `prometheus`; `loki`; `grafana-github-datasource` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | | `grafana.plugin.type` | string | The plugin type. | `datasource` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + diff --git a/pkg/semconv/attributes.go b/pkg/semconv/attributes.go index 15067e161fe..b69a20457ea 100644 --- a/pkg/semconv/attributes.go +++ b/pkg/semconv/attributes.go @@ -61,6 +61,26 @@ func GrafanaDatasourceRequestQueryCount(val int) attribute.KeyValue { return grafanaDatasourceRequestQueryCountKey.Int(val) } +// Describes Kubernetes attributes. +const ( + // K8sDataplaneserviceNameKey is the attribute Key conforming to the + // "k8s.dataplaneservice.name" semantic conventions. It represents the name + // of the DataPlaneService. + // + // Type: string + // RequirementLevel: Optional + // Stability: stable + // Examples: 'v0alpha1.prometheus.grafana.app' + k8sDataplaneserviceNameKey = attribute.Key("k8s.dataplaneservice.name") +) + +// K8sDataplaneserviceName returns an attribute KeyValue conforming to the +// "k8s.dataplaneservice.name" semantic conventions. It represents the name of +// the DataPlaneService. +func K8sDataplaneserviceName(val string) attribute.KeyValue { + return k8sDataplaneserviceNameKey.String(val) +} + // Describes Grafana plugin attributes. const ( // GrafanaPluginIdKey is the attribute Key conforming to the diff --git a/pkg/semconv/model/registry/k8s.yml b/pkg/semconv/model/registry/k8s.yml new file mode 100644 index 00000000000..3867cb686ad --- /dev/null +++ b/pkg/semconv/model/registry/k8s.yml @@ -0,0 +1,12 @@ +groups: + - id: registry.k8s + type: attribute_group + display_name: Kubernetes Attributes + brief: "Describes Kubernetes attributes." + attributes: + - id: k8s.dataplaneservice.name + type: string + brief: The name of the DataPlaneService. + examples: + - "v0alpha1.prometheus.grafana.app" + stability: stable \ No newline at end of file diff --git a/pkg/semconv/model/trace/k8s.yaml b/pkg/semconv/model/trace/k8s.yaml new file mode 100644 index 00000000000..572f4dcfabe --- /dev/null +++ b/pkg/semconv/model/trace/k8s.yaml @@ -0,0 +1,7 @@ +groups: + - id: trace.k8s + type: span + brief: 'Semantic Convention for Grafana Kubernetes resources' + stability: stable + attributes: + - ref: k8s.dataplaneservice.name \ No newline at end of file