From 3ec6459bb620cafb323866e2482f1e2265c28361 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Sun, 21 Apr 2024 09:18:43 +0000
Subject: [PATCH 01/26] Reintroduce OpenTelemetry.SemanticConventions project
---
opentelemetry-dotnet-contrib.proj | 3 +
opentelemetry-dotnet-contrib.sln | 9 +-
.../OpenTelemetry.SemanticConventions.csproj | 9 ++
.../README.md | 31 +++++
.../scripts/.gitignore | 1 +
.../scripts/generate.ps1 | 46 +++++++
.../scripts/generate.sh | 47 +++++++
.../templates/SemanticConventions.cs.j2 | 115 ++++++++++++++++++
...nTelemetry.AotCompatibility.TestApp.csproj | 1 +
9 files changed, 261 insertions(+), 1 deletion(-)
create mode 100644 src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
create mode 100644 src/OpenTelemetry.SemanticConventions/README.md
create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/.gitignore
create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/generate.sh
create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
diff --git a/opentelemetry-dotnet-contrib.proj b/opentelemetry-dotnet-contrib.proj
index 4bf9697cd7..ef8b708e27 100644
--- a/opentelemetry-dotnet-contrib.proj
+++ b/opentelemetry-dotnet-contrib.proj
@@ -4,6 +4,9 @@
+
+
+
diff --git a/opentelemetry-dotnet-contrib.sln b/opentelemetry-dotnet-contrib.sln
index 1e884823d6..b9fbeeb1c6 100644
--- a/opentelemetry-dotnet-contrib.sln
+++ b/opentelemetry-dotnet-contrib.sln
@@ -1,4 +1,4 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
+Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31912.275
MinimumVisualStudioVersion = 15.0.26124.0
@@ -344,6 +344,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.ResourceDetec
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.PersistentStorage.Abstractions.Tests", "test\OpenTelemetry.PersistentStorage.Abstractions.Tests\OpenTelemetry.PersistentStorage.Abstractions.Tests.csproj", "{7AD707F9-DC6D-430A-8834-D5DCD517BF6E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.SemanticConventions", "src\OpenTelemetry.SemanticConventions\OpenTelemetry.SemanticConventions.csproj", "{BC1959E3-164E-42AE-AE1C-DE2E3046E27C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -690,6 +692,10 @@ Global
{7AD707F9-DC6D-430A-8834-D5DCD517BF6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7AD707F9-DC6D-430A-8834-D5DCD517BF6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7AD707F9-DC6D-430A-8834-D5DCD517BF6E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -793,6 +799,7 @@ Global
{033CA8D4-1529-413A-B244-07958D5F9A48} = {22DF5DC0-1290-4E83-A9D8-6BB7DE3B3E63}
{36271347-2055-438E-9659-B71542A17A73} = {2097345F-4DD3-477D-BC54-A922F9B2B402}
{7AD707F9-DC6D-430A-8834-D5DCD517BF6E} = {2097345F-4DD3-477D-BC54-A922F9B2B402}
+ {BC1959E3-164E-42AE-AE1C-DE2E3046E27C} = {22DF5DC0-1290-4E83-A9D8-6BB7DE3B3E63}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B0816796-CDB3-47D7-8C3C-946434DE3B66}
diff --git a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
new file mode 100644
index 0000000000..493987b395
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
@@ -0,0 +1,9 @@
+
+
+
+ $(TargetFrameworksForLibraries)
+ OpenTelemetry Semantic Conventions
+ $(PackageTags);semantic-conventions
+
+
+
diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md
new file mode 100644
index 0000000000..81675384e2
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/README.md
@@ -0,0 +1,31 @@
+# Semantic Conventions for OpenTelemetry .NET
+
+This project contains the generated code for the Semantic Conventions defined by the OpenTelemetry specification.
+
+## Installation
+
+```shell
+dotnet add package OpenTelemetry.SemanticConventions
+```
+
+## Generating the files
+
+This project uses the [Semantic Convention Generator](https://github.com/open-telemetry/build-tools/blob/main/README.md).
+The folder `scripts` at the top level of the project contains the template and the script files used in the process.
+
+To generate the code files, run:
+
+```shell
+./scripts/generate.sh
+```
+
+Or, with PowerShell:
+
+```shell
+./scripts/generate.ps1
+```
+
+## References
+
+* [OpenTelemetry Project](https://opentelemetry.io/)
+* [Build tools](https://github.com/open-telemetry/build-tools)
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/.gitignore b/src/OpenTelemetry.SemanticConventions/scripts/.gitignore
new file mode 100644
index 0000000000..dfd65b8051
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/scripts/.gitignore
@@ -0,0 +1 @@
+semantic-conventions/
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
new file mode 100644
index 0000000000..5bde68ef8e
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -0,0 +1,46 @@
+$SCRIPT_DIR = $PSScriptRoot
+$ROOT_DIR = "${SCRIPT_DIR}/../"
+
+# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
+$SPEC_VERSION = "1.25.0"
+$SCHEMA_URL = "https://opentelemetry.io/schemas/$SPEC_VERSION"
+
+Set-Location $SCRIPT_DIR
+
+Remove-Item -r -fo semantic-conventions
+mkdir semantic-conventions
+Set-Location semantic-conventions
+
+git init
+git remote add origin https://github.com/open-telemetry/semantic-conventions.git
+git fetch origin v$SPEC_VERSION
+git reset --hard FETCH_HEAD
+Set-Location ${SCRIPT_DIR}
+
+docker run --rm `
+ -v ${SCRIPT_DIR}/semantic-conventions/model/trace:/source `
+ -v ${SCRIPT_DIR}/templates:/templates `
+ -v ${ROOT_DIR}/Trace:/output `
+ otel/semconvgen:latest `
+ -f /source code `
+ --template /templates/SemanticConventions.cs.j2 `
+ --output /output/TraceSemanticConventions.cs `
+ --trim-whitespace `
+ -D class=TraceSemanticConventions `
+ -D schemaUrl=$SCHEMA_URL `
+ -D pkg=OpenTelemetry.Trace
+
+docker run --rm `
+ -v ${SCRIPT_DIR}/semantic-conventions/model/resource:/source `
+ -v ${SCRIPT_DIR}/templates:/templates `
+ -v ${ROOT_DIR}/Resource:/output `
+ otel/semconvgen:latest `
+ -f /source code `
+ --template /templates/SemanticConventions.cs.j2 `
+ --output /output/ResourceSemanticConventions.cs `
+ --trim-whitespace `
+ -D class=ResourceSemanticConventions `
+ -D schemaUrl=$SCHEMA_URL `
+ -D pkg=OpenTelemetry.Resources
+
+Set-Location ${ROOT_DIR}
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
new file mode 100644
index 0000000000..6834e155b2
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+set -e
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ROOT_DIR="${SCRIPT_DIR}/../"
+
+# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
+SPEC_VERSION=1.25.0
+SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION
+
+cd ${SCRIPT_DIR}
+
+rm -rf semantic-conventions || true
+mkdir semantic-conventions
+cd semantic-conventions
+
+git init
+git remote add origin https://github.com/open-telemetry/semantic-conventions.git
+git fetch origin "v$SPEC_VERSION"
+git reset --hard FETCH_HEAD
+cd ${SCRIPT_DIR}
+rm semantic-conventions/model/trace/cloudevents.yaml
+docker run --rm \
+ -v ${SCRIPT_DIR}/semantic-conventions/model/trace:/source \
+ -v ${SCRIPT_DIR}/templates:/templates \
+ -v ${ROOT_DIR}/Trace:/output \
+ otel/semconvgen:latest \
+ -f /source code \
+ --template /templates/SemanticConventions.cs.j2 \
+ --output /output/TraceSemanticConventions.cs \
+ --trim-whitespace \
+ -Dclass=TraceSemanticConventions \
+ -DschemaUrl=$SCHEMA_URL \
+ -Dpkg=OpenTelemetry.Trace
+
+docker run --rm \
+ -v ${SCRIPT_DIR}/semantic-conventions/model/resource:/source \
+ -v ${SCRIPT_DIR}/templates:/templates \
+ -v ${ROOT_DIR}/Resource:/output \
+ otel/semconvgen:latest \
+ -f /source code \
+ --template /templates/SemanticConventions.cs.j2 \
+ --output /output/ResourceSemanticConventions.cs \
+ --trim-whitespace \
+ -Dclass=ResourceSemanticConventions \
+ -DschemaUrl=$SCHEMA_URL \
+ -Dpkg=OpenTelemetry.Resources
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
new file mode 100644
index 0000000000..2bbf0139c6
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
@@ -0,0 +1,115 @@
+{%- macro print_value(type, value) -%}
+ {{ "\"" if type == "string"}}{{value}}{{ "\"" if type == "string"}}
+{%- endmacro %}
+
+{%- macro format_remarks(text) -%}
+{%- set notes = '\n /// '.join(text.splitlines()).encode('ascii', 'xmlcharrefreplace').decode() -%}
+{{notes}}
+{%- endmacro -%}
+
+{%- macro format_xml_doc(text) -%}
+{%- set escaped = text.encode('ascii', 'xmlcharrefreplace').decode() -%}
+ {%- if not escaped.endswith('.')-%}
+ {{escaped + '.'}}
+ {%- else -%}
+ {{escaped}}
+ {%- endif -%}
+{%- endmacro -%}
+
+//
+// Copyright The OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// This file has been auto generated from buildscripts/semantic-conventions{{template}}
+
+using System;
+
+namespace {{pkg | trim}}
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ {% if class == "TraceSemanticConventions" %}
+ /// .
+ {% elif class == "ResourceSemanticConventions" %}
+ /// .
+ {% endif %}
+ ///
+ ///
+ /// Schema and specification version: {{schemaUrl}}.
+ ///
+ public static class {{class}}
+ {
+{% if class == "TraceSemanticConventions" %}
+ ///
+ /// Attribute for db.instance.
+ ///
+ public const string AttributeDbInstance = "db.instance";
+
+{% endif %}
+{% for attribute in attributes if attribute.is_local and not attribute.ref %}
+ {% if not loop.first %}{{"\n"}}{% endif %}
+ ///
+ /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
+ ///
+ {% if attribute.note %}
+ ///
+ /// {{format_remarks(attribute.note | to_doc_brief | escape | render_markdown(code="{0}", paragraph="{0}"))}}.
+ ///
+ {% endif %}
+ {% if attribute.deprecated %}
+ [Obsolete("{{attribute.deprecated | to_doc_brief}}")]
+ {% endif %}
+ public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
+{% endfor %}
+{% for semconv in semconvs.values() | unique(attribute="prefix") %}
+ {% if semconv.prefix %}
+
+ ///
+ /// Prefix for '{{semconv.semconv_id}}'.
+ ///
+ public static readonly string Prefix{{semconv.semconv_id | replace("-","_") | to_camelcase(True)}} = "{{semconv.prefix}}";
+ {% endif %}
+{% endfor %}
+{% for semconv in semconvs.values() %}
+ {% if semconv.GROUP_TYPE_NAME == 'event' %}
+
+ ///
+ /// Event name for '{{semconv.semconv_id}}'.
+ ///
+ public static readonly string Event{{semconv.semconv_id | replace("-","_") | to_camelcase(True)}} = "{{semconv.name}}";
+ {% endif %}
+{% endfor %}
+{% for attribute in attributes if attribute.is_local and not attribute.ref %}
+ {% if attribute.is_enum %}
+ {% set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %}
+ {% set type = attribute.attr_type.enum_type %}
+
+ ///
+ /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
+ ///
+ public static class {{class_name}}
+ {
+ {% for member in attribute.attr_type.members %}
+ ///
+ /// {{format_xml_doc(member.brief | render_markdown(code="{0}", paragraph="{0}"))}}
+ ///
+ public const {{ type }} {{ member.member_id | to_camelcase(True) }} = {{ print_value(type, member.value) }};
+ {% if not loop.last %}{{"\n"}}{% endif %}
+ {% endfor %}
+ }
+ {% endif %}
+{% endfor %}
+ }
+}
diff --git a/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj b/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
index 58c82396da..3fded03ce6 100644
--- a/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
+++ b/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
@@ -28,6 +28,7 @@
+
From cc1572b69087b24291e177e7327730e604abb95a Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Sun, 21 Apr 2024 09:28:18 +0000
Subject: [PATCH 02/26] Cleanup generate script
---
src/OpenTelemetry.SemanticConventions/scripts/generate.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index 6834e155b2..572953d35b 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -19,7 +19,7 @@ git remote add origin https://github.com/open-telemetry/semantic-conventions.git
git fetch origin "v$SPEC_VERSION"
git reset --hard FETCH_HEAD
cd ${SCRIPT_DIR}
-rm semantic-conventions/model/trace/cloudevents.yaml
+
docker run --rm \
-v ${SCRIPT_DIR}/semantic-conventions/model/trace:/source \
-v ${SCRIPT_DIR}/templates:/templates \
From 088249180cd386594ab21b675f1f905637333101 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Sun, 21 Apr 2024 09:31:12 +0000
Subject: [PATCH 03/26] Fix max line length warning
---
src/OpenTelemetry.SemanticConventions/README.md | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md
index 81675384e2..6b9dad8745 100644
--- a/src/OpenTelemetry.SemanticConventions/README.md
+++ b/src/OpenTelemetry.SemanticConventions/README.md
@@ -1,6 +1,7 @@
# Semantic Conventions for OpenTelemetry .NET
-This project contains the generated code for the Semantic Conventions defined by the OpenTelemetry specification.
+This project contains the generated code for the Semantic Conventions
+defined by the OpenTelemetry specification.
## Installation
@@ -10,8 +11,10 @@ dotnet add package OpenTelemetry.SemanticConventions
## Generating the files
-This project uses the [Semantic Convention Generator](https://github.com/open-telemetry/build-tools/blob/main/README.md).
-The folder `scripts` at the top level of the project contains the template and the script files used in the process.
+This project uses the
+[Semantic Convention Generator](https://github.com/open-telemetry/build-tools/blob/main/README.md).
+The folder `scripts` at the top level of the project contains the template
+and the script files used in the process.
To generate the code files, run:
From b7db123feffc91c4990c070f5fd37f6c68dad0a0 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Sun, 21 Apr 2024 09:36:16 +0000
Subject: [PATCH 04/26] Fix link in README.md
---
src/OpenTelemetry.SemanticConventions/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md
index 6b9dad8745..d7a02856b5 100644
--- a/src/OpenTelemetry.SemanticConventions/README.md
+++ b/src/OpenTelemetry.SemanticConventions/README.md
@@ -12,7 +12,7 @@ dotnet add package OpenTelemetry.SemanticConventions
## Generating the files
This project uses the
-[Semantic Convention Generator](https://github.com/open-telemetry/build-tools/blob/main/README.md).
+[Semantic Convention Generator](https://github.com/open-telemetry/build-tools/blob/main/semantic-conventions/README.md).
The folder `scripts` at the top level of the project contains the template
and the script files used in the process.
From 053aae4a749e0aa0e509135de955e4a2b48ea4e1 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Sun, 21 Apr 2024 10:23:19 +0000
Subject: [PATCH 05/26] Rollback to open-telemetry/opentelemetry-specification
v1.13.0
---
.../Logs/LogsSemanticConventions.cs | 70 +
.../PublicAPI.Shipped.txt | 0
.../PublicAPI.Unshipped.txt | 534 +++++
.../Resource/ResourceSemanticConventions.cs | 1026 +++++++++
.../Trace/TraceSemanticConventions.cs | 1876 +++++++++++++++++
.../scripts/generate.ps1 | 34 +-
.../scripts/generate.sh | 34 +-
.../templates/SemanticConventions.cs.j2 | 3 +-
8 files changed, 3554 insertions(+), 23 deletions(-)
create mode 100644 src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/PublicAPI.Shipped.txt
create mode 100644 src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
create mode 100644 src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
diff --git a/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
new file mode 100644
index 0000000000..c0686f2c12
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
@@ -0,0 +1,70 @@
+//
+// Copyright The OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
+
+namespace OpenTelemetry.Logs
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ ///
+ /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
+ ///
+ public static class LogsSemanticConventions
+ {
+ ///
+ /// The name identifies the event.
+ ///
+ public const string AttributeEventName = "event.name";
+
+ ///
+ /// The domain identifies the context in which an event happened. An event name is unique only within a domain.
+ ///
+ ///
+ /// An event.name is supposed to be unique only in the context of an
+ /// event.domain, so this allows for two events in different domains to
+ /// have same event.name, yet be unrelated events.
+ ///
+ public const string AttributeEventDomain = "event.domain";
+
+ ///
+ /// Prefix for 'event'.
+ ///
+ public static readonly string PrefixEvent = "event";
+
+ ///
+ /// The domain identifies the context in which an event happened. An event name is unique only within a domain.
+ ///
+ public static class EventDomainValues
+ {
+ ///
+ /// Events from browser apps.
+ ///
+ public const string Browser = "browser";
+
+ ///
+ /// Events from mobile apps.
+ ///
+ public const string Device = "device";
+
+ ///
+ /// Events from Kubernetes.
+ ///
+ public const string K8s = "k8s";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/PublicAPI.Shipped.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000000..5ea9dc66db
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
@@ -0,0 +1,534 @@
+const OpenTelemetry.Logs.LogsSemanticConventions.AttributeEventDomain = "event.domain" -> string
+const OpenTelemetry.Logs.LogsSemanticConventions.AttributeEventName = "event.name" -> string
+const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.Browser = "browser" -> string
+const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.Device = "device" -> string
+const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.K8s = "k8s" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogGroupNames = "aws.log.group.names" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserBrands = "browser.brands" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserPlatform = "browser.platform" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserUserAgent = "browser.user_agent" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudAccountId = "cloud.account.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudPlatform = "cloud.platform" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudProvider = "cloud.provider" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudRegion = "cloud.region" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerId = "container.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerImageName = "container.image.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerImageTag = "container.image.tag" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerName = "container.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerRuntime = "container.runtime" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeploymentEnvironment = "deployment.environment" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceId = "device.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceManufacturer = "device.manufacturer" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceModelIdentifier = "device.model.identifier" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceModelName = "device.model.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasId = "faas.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasInstance = "faas.instance" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasMaxMemory = "faas.max_memory" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasName = "faas.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasVersion = "faas.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostArch = "host.arch" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostId = "host.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageId = "host.image.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageName = "host.image.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageVersion = "host.image.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostName = "host.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostType = "host.type" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sClusterName = "k8s.cluster.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sContainerName = "k8s.container.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sCronjobName = "k8s.cronjob.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDeploymentName = "k8s.deployment.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sJobName = "k8s.job.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sJobUid = "k8s.job.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNamespaceName = "k8s.namespace.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNodeName = "k8s.node.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNodeUid = "k8s.node.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sPodName = "k8s.pod.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sPodUid = "k8s.pod.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsDescription = "os.description" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsName = "os.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsType = "os.type" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsVersion = "os.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommand = "process.command" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommandArgs = "process.command_args" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommandLine = "process.command_line" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessExecutableName = "process.executable.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessExecutablePath = "process.executable.path" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessOwner = "process.owner" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessParentPid = "process.parent_pid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessPid = "process.pid" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeDescription = "process.runtime.description" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeName = "process.runtime.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeVersion = "process.runtime.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceInstanceId = "service.instance.id" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceName = "service.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceNamespace = "service.namespace" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceVersion = "service.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetryAutoVersion = "telemetry.auto.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineDescription = "webengine.description" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineName = "webengine.name" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineVersion = "webengine.version" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEcs = "aws_ecs" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEks = "aws_eks" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsLambda = "aws_lambda" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureAks = "azure_aks" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureAppService = "azure_app_service" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureFunctions = "azure_functions" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureVm = "azure_vm" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Aws = "aws" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Azure = "azure" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Amd64 = "amd64" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Arm32 = "arm32" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Arm64 = "arm64" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ia64 = "ia64" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ppc32 = "ppc32" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ppc64 = "ppc64" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.S390x = "s390x" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.X86 = "x86" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Aix = "aix" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Darwin = "darwin" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Freebsd = "freebsd" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Hpux = "hpux" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Linux = "linux" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Netbsd = "netbsd" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Openbsd = "openbsd" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Solaris = "solaris" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Windows = "windows" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.ZOs = "z_os" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Cpp = "cpp" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Erlang = "erlang" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Go = "go" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Java = "java" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Php = "php" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Python = "python" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Ruby = "ruby" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Swift = "swift" -> string
+const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventId = "cloudevents.event_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventType = "cloudevents.event_type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeFilepath = "code.filepath" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeFunction = "code.function" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeLineno = "code.lineno" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeNamespace = "code.namespace" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraTable = "db.cassandra.table" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbConnectionString = "db.connection_string" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbInstance = "db.instance" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbMongodbCollection = "db.mongodb.collection" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbName = "db.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbOperation = "db.operation" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbSqlTable = "db.sql.table" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbStatement = "db.statement" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbSystem = "db.system" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbUser = "db.user" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserId = "enduser.id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserRole = "enduser.role" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserScope = "enduser.scope" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionEscaped = "exception.escaped" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionMessage = "exception.message" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionStacktrace = "exception.stacktrace" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionType = "exception.type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasColdstart = "faas.coldstart" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasCron = "faas.cron" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentCollection = "faas.document.collection" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentName = "faas.document.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentOperation = "faas.document.operation" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentTime = "faas.document.time" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasExecution = "faas.execution" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedName = "faas.invoked_name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedRegion = "faas.invoked_region" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasTime = "faas.time" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasTrigger = "faas.trigger" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlDocument = "graphql.document" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlOperationName = "graphql.operation.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlOperationType = "graphql.operation.type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpClientIp = "http.client_ip" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpFlavor = "http.flavor" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpMethod = "http.method" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRequestContentLength = "http.request_content_length" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpResponseContentLength = "http.response_content_length" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRetryCount = "http.retry_count" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRoute = "http.route" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpScheme = "http.scheme" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpStatusCode = "http.status_code" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpTarget = "http.target" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpUrl = "http.url" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpUserAgent = "http.user_agent" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageCompressedSize = "message.compressed_size" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageId = "message.id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageType = "message.type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingConsumerId = "messaging.consumer_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingConversationId = "messaging.conversation_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingDestination = "messaging.destination" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingDestinationKind = "messaging.destination_kind" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaClientId = "messaging.kafka.client_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer_group" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaMessageKey = "messaging.kafka.message_key" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaPartition = "messaging.kafka.partition" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaTombstone = "messaging.kafka.tombstone" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessageId = "messaging.message_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessagePayloadCompressedSizeBytes = "messaging.message_payload_compressed_size_bytes" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessagePayloadSizeBytes = "messaging.message_payload_size_bytes" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingOperation = "messaging.operation" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingProtocol = "messaging.protocol" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingProtocolVersion = "messaging.protocol_version" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRabbitmqRoutingKey = "messaging.rabbitmq.routing_key" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqClientId = "messaging.rocketmq.client_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message_keys" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message_tag" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message_type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingSystem = "messaging.system" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingTempDestination = "messaging.temp_destination" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingUrl = "messaging.url" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetAppProtocolName = "net.app.protocol.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetAppProtocolVersion = "net.app.protocol.version" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierIcc = "net.host.carrier.icc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierMcc = "net.host.carrier.mcc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierMnc = "net.host.carrier.mnc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierName = "net.host.carrier.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostConnectionSubtype = "net.host.connection.subtype" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostConnectionType = "net.host.connection.type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostName = "net.host.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostPort = "net.host.port" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetPeerName = "net.peer.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetPeerPort = "net.peer.port" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockFamily = "net.sock.family" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockHostAddr = "net.sock.host.addr" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockHostPort = "net.sock.host.port" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerName = "net.sock.peer.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerPort = "net.sock.peer.port" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetTransport = "net.transport" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeOpentracingRefType = "opentracing.ref_type" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributePeerService = "peer.service" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcMethod = "rpc.method" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcService = "rpc.service" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcSystem = "rpc.system" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeThreadId = "thread.id" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.AttributeThreadName = "thread.name" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.All = "all" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Any = "any" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.One = "one" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Serial = "serial" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Three = "three" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Two = "two" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Adabas = "adabas" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cache = "cache" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cassandra = "cassandra" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cloudscape = "cloudscape" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cockroachdb = "cockroachdb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Coldfusion = "coldfusion" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cosmosdb = "cosmosdb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Couchbase = "couchbase" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Couchdb = "couchdb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Db2 = "db2" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Derby = "derby" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Dynamodb = "dynamodb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Edb = "edb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Elasticsearch = "elasticsearch" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Filemaker = "filemaker" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Firebird = "firebird" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Firstsql = "firstsql" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Geode = "geode" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.H2 = "h2" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hanadb = "hanadb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hbase = "hbase" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hive = "hive" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hsqldb = "hsqldb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Informix = "informix" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Ingres = "ingres" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Instantdb = "instantdb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Interbase = "interbase" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mariadb = "mariadb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Maxdb = "maxdb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Memcached = "memcached" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mongodb = "mongodb" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mssql = "mssql" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mysql = "mysql" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Neo4j = "neo4j" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Netezza = "netezza" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Opensearch = "opensearch" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Oracle = "oracle" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.OtherSql = "other_sql" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Pervasive = "pervasive" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Pointbase = "pointbase" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Postgresql = "postgresql" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Progress = "progress" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Redis = "redis" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Redshift = "redshift" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Sqlite = "sqlite" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Sybase = "sybase" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Teradata = "teradata" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Vertica = "vertica" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Delete = "delete" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Edit = "edit" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Insert = "insert" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Aws = "aws" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Azure = "azure" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Datasource = "datasource" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Http = "http" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Other = "other" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Pubsub = "pubsub" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Timer = "timer" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Mutation = "mutation" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Query = "query" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Subscription = "subscription" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http10 = "1.0" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http11 = "1.1" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http20 = "2.0" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http30 = "3.0" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Quic = "QUIC" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Spdy = "SPDY" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues.Received = "RECEIVED" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues.Sent = "SENT" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues.Queue = "queue" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues.Topic = "topic" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues.Process = "process" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues.Receive = "receive" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Cdma = "cdma" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Edge = "edge" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Ehrpd = "ehrpd" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Evdo0 = "evdo_0" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.EvdoA = "evdo_a" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.EvdoB = "evdo_b" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Gprs = "gprs" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Gsm = "gsm" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hsdpa = "hsdpa" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hspa = "hspa" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hspap = "hspap" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hsupa = "hsupa" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Iden = "iden" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Iwlan = "iwlan" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Lte = "lte" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.LteCa = "lte_ca" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Nr = "nr" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Nrnsa = "nrnsa" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.TdScdma = "td_scdma" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Umts = "umts" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Cell = "cell" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Unavailable = "unavailable" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Unknown = "unknown" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Wifi = "wifi" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Wired = "wired" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Inet = "inet" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Inet6 = "inet6" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Unix = "unix" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Inproc = "inproc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.IpTcp = "ip_tcp" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.IpUdp = "ip_udp" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Other = "other" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Pipe = "pipe" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues.ChildOf = "child_of" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Aborted = 10 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Cancelled = 1 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.DataLoss = 15 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Internal = 13 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.NotFound = 5 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Ok = 0 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unavailable = 14 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unknown = 2 -> int
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.Grpc = "grpc" -> string
+const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.JavaRmi = "java_rmi" -> string
+OpenTelemetry.Logs.LogsSemanticConventions
+OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues
+OpenTelemetry.Resources.ResourceSemanticConventions
+OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues
+OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues
+OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues
+OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues
+OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues
+OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues
+OpenTelemetry.Trace.TraceSemanticConventions
+OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues
+OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues
+OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues
+OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues
+OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues
+OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues
+OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues
+OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues
+OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues
+OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues
+OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues
+OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues
+OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues
+OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues
+static readonly OpenTelemetry.Logs.LogsSemanticConventions.PrefixEvent -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsEcs -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsEks -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsLog -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixBrowser -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixCloud -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixContainer -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixDeployment -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixDevice -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixFaasResource -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixHost -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sCluster -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sContainer -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sCronjob -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sDaemonset -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sDeployment -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sJob -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sNamespace -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sNode -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sPod -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sReplicaset -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sStatefulset -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixOs -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixProcess -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixProcessRuntime -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixService -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixTelemetry -> string
+static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixWebengineResource -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.EventException -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.EventRpcMessage -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixAws -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixAwsLambda -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixCloudevents -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixCode -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDb -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbCassandra -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbMongodb -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbMssql -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbRedis -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbSql -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDynamodbShared -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixException -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixFaasSpan -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixFaasSpanDatasource -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixGraphql -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixHttp -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixIdentity -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessaging -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingKafka -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingRabbitmq -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingRocketmq -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixNetwork -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixOpentracing -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixPeer -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpc -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcGrpc -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcJsonrpc -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcMessage -> string
+static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixThread -> string
\ No newline at end of file
diff --git a/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
new file mode 100644
index 0000000000..2d98f0a23e
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
@@ -0,0 +1,1026 @@
+//
+// Copyright The OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
+
+namespace OpenTelemetry.Resources
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// .
+ ///
+ ///
+ /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
+ ///
+ public static class ResourceSemanticConventions
+ {
+ ///
+ /// Array of brand name and version separated by a space.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
+ ///
+ public const string AttributeBrowserBrands = "browser.brands";
+
+ ///
+ /// The platform on which the browser is running.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
+ /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
+ ///
+ public const string AttributeBrowserPlatform = "browser.platform";
+
+ ///
+ /// Full user-agent string provided by the browser.
+ ///
+ ///
+ /// The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy navigator.userAgent API can be used.
+ ///
+ public const string AttributeBrowserUserAgent = "browser.user_agent";
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public const string AttributeCloudProvider = "cloud.provider";
+
+ ///
+ /// The cloud account ID the resource is assigned to.
+ ///
+ public const string AttributeCloudAccountId = "cloud.account.id";
+
+ ///
+ /// The geographical region the resource is running.
+ ///
+ ///
+ /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
+ ///
+ public const string AttributeCloudRegion = "cloud.region";
+
+ ///
+ /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
+ ///
+ ///
+ /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
+ ///
+ public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
+
+ ///
+ /// The cloud platform in use.
+ ///
+ ///
+ /// The prefix of the service SHOULD match the one specified in cloud.provider.
+ ///
+ public const string AttributeCloudPlatform = "cloud.platform";
+
+ ///
+ /// The Amazon Resource Name (ARN) of an ECS container instance.
+ ///
+ public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
+
+ ///
+ /// The ARN of an ECS cluster.
+ ///
+ public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
+
+ ///
+ /// The ARN of an ECS task definition.
+ ///
+ public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
+
+ ///
+ /// The task definition family this task definition is a member of.
+ ///
+ public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
+
+ ///
+ /// The revision for this task definition.
+ ///
+ public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
+
+ ///
+ /// The ARN of an EKS cluster.
+ ///
+ public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
+
+ ///
+ /// The name(s) of the AWS log group(s) an application is writing to.
+ ///
+ ///
+ /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
+ ///
+ public const string AttributeAwsLogGroupNames = "aws.log.group.names";
+
+ ///
+ /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
+ ///
+ ///
+ /// See the log group ARN format documentation.
+ ///
+ public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
+
+ ///
+ /// The name(s) of the AWS log stream(s) an application is writing to.
+ ///
+ public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
+
+ ///
+ /// The ARN(s) of the AWS log stream(s).
+ ///
+ ///
+ /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
+ ///
+ public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
+
+ ///
+ /// Container name used by container runtime.
+ ///
+ public const string AttributeContainerName = "container.name";
+
+ ///
+ /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
+ ///
+ public const string AttributeContainerId = "container.id";
+
+ ///
+ /// The container runtime managing this container.
+ ///
+ public const string AttributeContainerRuntime = "container.runtime";
+
+ ///
+ /// Name of the image the container was built on.
+ ///
+ public const string AttributeContainerImageName = "container.image.name";
+
+ ///
+ /// Container image tag.
+ ///
+ public const string AttributeContainerImageTag = "container.image.tag";
+
+ ///
+ /// Name of the deployment environment (aka deployment tier).
+ ///
+ public const string AttributeDeploymentEnvironment = "deployment.environment";
+
+ ///
+ /// A unique identifier representing the device.
+ ///
+ ///
+ /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
+ ///
+ public const string AttributeDeviceId = "device.id";
+
+ ///
+ /// The model identifier for the device.
+ ///
+ ///
+ /// It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device.
+ ///
+ public const string AttributeDeviceModelIdentifier = "device.model.identifier";
+
+ ///
+ /// The marketing name for the device model.
+ ///
+ ///
+ /// It's recommended this value represents a human readable version of the device model rather than a machine readable alternative.
+ ///
+ public const string AttributeDeviceModelName = "device.model.name";
+
+ ///
+ /// The name of the device manufacturer.
+ ///
+ ///
+ /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
+ ///
+ public const string AttributeDeviceManufacturer = "device.manufacturer";
+
+ ///
+ /// The name of the single function that this runtime instance executes.
+ ///
+ ///
+ /// This is the name of the function as configured/deployed on the FaaS
+ /// platform and is usually different from the name of the callback
+ /// function (which may be stored in the
+ /// code.namespace/code.function
+ /// span attributes).For some cloud providers, the above definition is ambiguous. The following
+ /// definition of function name MUST be used for this attribute
+ /// (and consequently the span name) for the listed cloud providers/products:
+ /// - Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name
+ /// followed by a forward slash followed by the function name (this form
+ /// can also be seen in the resource JSON for the function).
+ /// This means that a span attribute MUST be used, as an Azure function
+ /// app can host multiple functions that would usually share
+ /// a TracerProvider (see also the faas.id attribute)
+ ///
.
+ ///
+ public const string AttributeFaasName = "faas.name";
+
+ ///
+ /// The unique ID of the single function that this runtime instance executes.
+ ///
+ ///
+ /// On some cloud providers, it may not be possible to determine the full ID at startup,
+ /// so consider setting faas.id as a span attribute instead.The exact value to use for faas.id depends on the cloud provider:
+ /// - AWS Lambda: The function ARN.
+ /// Take care not to use the "invoked ARN" directly but replace any
+ /// alias suffix
+ /// with the resolved function version, as the same runtime instance may be invokable with
+ /// multiple different aliases.
+ /// - GCP: The URI of the resource
+ /// - Azure: The Fully Qualified Resource ID of the invoked function,
+ /// not the function app, having the form
+ /// /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>.
+ /// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
+ /// a TracerProvider
+ ///
.
+ ///
+ public const string AttributeFaasId = "faas.id";
+
+ ///
+ /// The immutable version of the function being executed.
+ ///
+ ///
+ /// Depending on the cloud provider and platform, use:
+ /// - AWS Lambda: The function version
+ /// (an integer represented as a decimal string).
+ /// - Google Cloud Run: The revision
+ /// (i.e., the function name plus the revision suffix).
+ /// - Google Cloud Functions: The value of the
+ /// K_REVISION environment variable.
+ /// - Azure Functions: Not applicable. Do not set this attribute
+ ///
.
+ ///
+ public const string AttributeFaasVersion = "faas.version";
+
+ ///
+ /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
+ ///
+ ///
+ ///
+ /// - AWS Lambda: Use the (full) log stream name
+ ///
.
+ ///
+ public const string AttributeFaasInstance = "faas.instance";
+
+ ///
+ /// The amount of memory available to the serverless function in MiB.
+ ///
+ ///
+ /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information.
+ ///
+ public const string AttributeFaasMaxMemory = "faas.max_memory";
+
+ ///
+ /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider.
+ ///
+ public const string AttributeHostId = "host.id";
+
+ ///
+ /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
+ ///
+ public const string AttributeHostName = "host.name";
+
+ ///
+ /// Type of host. For Cloud, this must be the machine type.
+ ///
+ public const string AttributeHostType = "host.type";
+
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public const string AttributeHostArch = "host.arch";
+
+ ///
+ /// Name of the VM image or OS install the host was instantiated from.
+ ///
+ public const string AttributeHostImageName = "host.image.name";
+
+ ///
+ /// VM image ID. For Cloud, this value is from the provider.
+ ///
+ public const string AttributeHostImageId = "host.image.id";
+
+ ///
+ /// The version string of the VM image as defined in Version Attributes.
+ ///
+ public const string AttributeHostImageVersion = "host.image.version";
+
+ ///
+ /// The name of the cluster.
+ ///
+ public const string AttributeK8sClusterName = "k8s.cluster.name";
+
+ ///
+ /// The name of the Node.
+ ///
+ public const string AttributeK8sNodeName = "k8s.node.name";
+
+ ///
+ /// The UID of the Node.
+ ///
+ public const string AttributeK8sNodeUid = "k8s.node.uid";
+
+ ///
+ /// The name of the namespace that the pod is running in.
+ ///
+ public const string AttributeK8sNamespaceName = "k8s.namespace.name";
+
+ ///
+ /// The UID of the Pod.
+ ///
+ public const string AttributeK8sPodUid = "k8s.pod.uid";
+
+ ///
+ /// The name of the Pod.
+ ///
+ public const string AttributeK8sPodName = "k8s.pod.name";
+
+ ///
+ /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
+ ///
+ public const string AttributeK8sContainerName = "k8s.container.name";
+
+ ///
+ /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
+ ///
+ public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
+
+ ///
+ /// The UID of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
+
+ ///
+ /// The name of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
+
+ ///
+ /// The UID of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
+
+ ///
+ /// The name of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentName = "k8s.deployment.name";
+
+ ///
+ /// The UID of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
+
+ ///
+ /// The name of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
+
+ ///
+ /// The UID of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
+
+ ///
+ /// The name of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
+
+ ///
+ /// The UID of the Job.
+ ///
+ public const string AttributeK8sJobUid = "k8s.job.uid";
+
+ ///
+ /// The name of the Job.
+ ///
+ public const string AttributeK8sJobName = "k8s.job.name";
+
+ ///
+ /// The UID of the CronJob.
+ ///
+ public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
+
+ ///
+ /// The name of the CronJob.
+ ///
+ public const string AttributeK8sCronjobName = "k8s.cronjob.name";
+
+ ///
+ /// The operating system type.
+ ///
+ public const string AttributeOsType = "os.type";
+
+ ///
+ /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+ ///
+ public const string AttributeOsDescription = "os.description";
+
+ ///
+ /// Human readable operating system name.
+ ///
+ public const string AttributeOsName = "os.name";
+
+ ///
+ /// The version string of the operating system as defined in Version Attributes.
+ ///
+ public const string AttributeOsVersion = "os.version";
+
+ ///
+ /// Process identifier (PID).
+ ///
+ public const string AttributeProcessPid = "process.pid";
+
+ ///
+ /// Parent Process identifier (PID).
+ ///
+ public const string AttributeProcessParentPid = "process.parent_pid";
+
+ ///
+ /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutableName = "process.executable.name";
+
+ ///
+ /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutablePath = "process.executable.path";
+
+ ///
+ /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
+ ///
+ public const string AttributeProcessCommand = "process.command";
+
+ ///
+ /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
+ ///
+ public const string AttributeProcessCommandLine = "process.command_line";
+
+ ///
+ /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
+ ///
+ public const string AttributeProcessCommandArgs = "process.command_args";
+
+ ///
+ /// The username of the user that owns the process.
+ ///
+ public const string AttributeProcessOwner = "process.owner";
+
+ ///
+ /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
+ ///
+ public const string AttributeProcessRuntimeName = "process.runtime.name";
+
+ ///
+ /// The version of the runtime of this process, as returned by the runtime without modification.
+ ///
+ public const string AttributeProcessRuntimeVersion = "process.runtime.version";
+
+ ///
+ /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
+ ///
+ public const string AttributeProcessRuntimeDescription = "process.runtime.description";
+
+ ///
+ /// Logical name of the service.
+ ///
+ ///
+ /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
+ ///
+ public const string AttributeServiceName = "service.name";
+
+ ///
+ /// A namespace for service.name.
+ ///
+ ///
+ /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
+ ///
+ public const string AttributeServiceNamespace = "service.namespace";
+
+ ///
+ /// The string ID of the service instance.
+ ///
+ ///
+ /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations).
+ ///
+ public const string AttributeServiceInstanceId = "service.instance.id";
+
+ ///
+ /// The version string of the service API or implementation.
+ ///
+ public const string AttributeServiceVersion = "service.version";
+
+ ///
+ /// The name of the telemetry SDK as defined above.
+ ///
+ public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
+
+ ///
+ /// The version string of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
+
+ ///
+ /// The version string of the auto instrumentation agent, if used.
+ ///
+ public const string AttributeTelemetryAutoVersion = "telemetry.auto.version";
+
+ ///
+ /// The name of the web engine.
+ ///
+ public const string AttributeWebengineName = "webengine.name";
+
+ ///
+ /// The version of the web engine.
+ ///
+ public const string AttributeWebengineVersion = "webengine.version";
+
+ ///
+ /// Additional description of the web engine (e.g. detailed version and edition information).
+ ///
+ public const string AttributeWebengineDescription = "webengine.description";
+
+ ///
+ /// Prefix for 'browser'.
+ ///
+ public static readonly string PrefixBrowser = "browser";
+
+ ///
+ /// Prefix for 'cloud'.
+ ///
+ public static readonly string PrefixCloud = "cloud";
+
+ ///
+ /// Prefix for 'aws.ecs'.
+ ///
+ public static readonly string PrefixAwsEcs = "aws.ecs";
+
+ ///
+ /// Prefix for 'aws.eks'.
+ ///
+ public static readonly string PrefixAwsEks = "aws.eks";
+
+ ///
+ /// Prefix for 'aws.log'.
+ ///
+ public static readonly string PrefixAwsLog = "aws.log";
+
+ ///
+ /// Prefix for 'container'.
+ ///
+ public static readonly string PrefixContainer = "container";
+
+ ///
+ /// Prefix for 'deployment'.
+ ///
+ public static readonly string PrefixDeployment = "deployment";
+
+ ///
+ /// Prefix for 'device'.
+ ///
+ public static readonly string PrefixDevice = "device";
+
+ ///
+ /// Prefix for 'faas_resource'.
+ ///
+ public static readonly string PrefixFaasResource = "faas";
+
+ ///
+ /// Prefix for 'host'.
+ ///
+ public static readonly string PrefixHost = "host";
+
+ ///
+ /// Prefix for 'k8s.cluster'.
+ ///
+ public static readonly string PrefixK8sCluster = "k8s.cluster";
+
+ ///
+ /// Prefix for 'k8s.node'.
+ ///
+ public static readonly string PrefixK8sNode = "k8s.node";
+
+ ///
+ /// Prefix for 'k8s.namespace'.
+ ///
+ public static readonly string PrefixK8sNamespace = "k8s.namespace";
+
+ ///
+ /// Prefix for 'k8s.pod'.
+ ///
+ public static readonly string PrefixK8sPod = "k8s.pod";
+
+ ///
+ /// Prefix for 'k8s.container'.
+ ///
+ public static readonly string PrefixK8sContainer = "k8s.container";
+
+ ///
+ /// Prefix for 'k8s.replicaset'.
+ ///
+ public static readonly string PrefixK8sReplicaset = "k8s.replicaset";
+
+ ///
+ /// Prefix for 'k8s.deployment'.
+ ///
+ public static readonly string PrefixK8sDeployment = "k8s.deployment";
+
+ ///
+ /// Prefix for 'k8s.statefulset'.
+ ///
+ public static readonly string PrefixK8sStatefulset = "k8s.statefulset";
+
+ ///
+ /// Prefix for 'k8s.daemonset'.
+ ///
+ public static readonly string PrefixK8sDaemonset = "k8s.daemonset";
+
+ ///
+ /// Prefix for 'k8s.job'.
+ ///
+ public static readonly string PrefixK8sJob = "k8s.job";
+
+ ///
+ /// Prefix for 'k8s.cronjob'.
+ ///
+ public static readonly string PrefixK8sCronjob = "k8s.cronjob";
+
+ ///
+ /// Prefix for 'os'.
+ ///
+ public static readonly string PrefixOs = "os";
+
+ ///
+ /// Prefix for 'process'.
+ ///
+ public static readonly string PrefixProcess = "process";
+
+ ///
+ /// Prefix for 'process.runtime'.
+ ///
+ public static readonly string PrefixProcessRuntime = "process.runtime";
+
+ ///
+ /// Prefix for 'service'.
+ ///
+ public static readonly string PrefixService = "service";
+
+ ///
+ /// Prefix for 'telemetry'.
+ ///
+ public static readonly string PrefixTelemetry = "telemetry";
+
+ ///
+ /// Prefix for 'webengine_resource'.
+ ///
+ public static readonly string PrefixWebengineResource = "webengine";
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public static class CloudProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// The cloud platform in use.
+ ///
+ public static class CloudPlatformValues
+ {
+ ///
+ /// Alibaba Cloud Elastic Compute Service.
+ ///
+ public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
+
+ ///
+ /// Alibaba Cloud Function Compute.
+ ///
+ public const string AlibabaCloudFc = "alibaba_cloud_fc";
+
+ ///
+ /// AWS Elastic Compute Cloud.
+ ///
+ public const string AwsEc2 = "aws_ec2";
+
+ ///
+ /// AWS Elastic Container Service.
+ ///
+ public const string AwsEcs = "aws_ecs";
+
+ ///
+ /// AWS Elastic Kubernetes Service.
+ ///
+ public const string AwsEks = "aws_eks";
+
+ ///
+ /// AWS Lambda.
+ ///
+ public const string AwsLambda = "aws_lambda";
+
+ ///
+ /// AWS Elastic Beanstalk.
+ ///
+ public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
+
+ ///
+ /// AWS App Runner.
+ ///
+ public const string AwsAppRunner = "aws_app_runner";
+
+ ///
+ /// Azure Virtual Machines.
+ ///
+ public const string AzureVm = "azure_vm";
+
+ ///
+ /// Azure Container Instances.
+ ///
+ public const string AzureContainerInstances = "azure_container_instances";
+
+ ///
+ /// Azure Kubernetes Service.
+ ///
+ public const string AzureAks = "azure_aks";
+
+ ///
+ /// Azure Functions.
+ ///
+ public const string AzureFunctions = "azure_functions";
+
+ ///
+ /// Azure App Service.
+ ///
+ public const string AzureAppService = "azure_app_service";
+
+ ///
+ /// Google Cloud Compute Engine (GCE).
+ ///
+ public const string GcpComputeEngine = "gcp_compute_engine";
+
+ ///
+ /// Google Cloud Run.
+ ///
+ public const string GcpCloudRun = "gcp_cloud_run";
+
+ ///
+ /// Google Cloud Kubernetes Engine (GKE).
+ ///
+ public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
+
+ ///
+ /// Google Cloud Functions (GCF).
+ ///
+ public const string GcpCloudFunctions = "gcp_cloud_functions";
+
+ ///
+ /// Google Cloud App Engine (GAE).
+ ///
+ public const string GcpAppEngine = "gcp_app_engine";
+
+ ///
+ /// Tencent Cloud Cloud Virtual Machine (CVM).
+ ///
+ public const string TencentCloudCvm = "tencent_cloud_cvm";
+
+ ///
+ /// Tencent Cloud Elastic Kubernetes Service (EKS).
+ ///
+ public const string TencentCloudEks = "tencent_cloud_eks";
+
+ ///
+ /// Tencent Cloud Serverless Cloud Function (SCF).
+ ///
+ public const string TencentCloudScf = "tencent_cloud_scf";
+ }
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public static class AwsEcsLaunchtypeValues
+ {
+ ///
+ /// ec2.
+ ///
+ public const string Ec2 = "ec2";
+
+ ///
+ /// fargate.
+ ///
+ public const string Fargate = "fargate";
+ }
+
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public static class HostArchValues
+ {
+ ///
+ /// AMD64.
+ ///
+ public const string Amd64 = "amd64";
+
+ ///
+ /// ARM32.
+ ///
+ public const string Arm32 = "arm32";
+
+ ///
+ /// ARM64.
+ ///
+ public const string Arm64 = "arm64";
+
+ ///
+ /// Itanium.
+ ///
+ public const string Ia64 = "ia64";
+
+ ///
+ /// 32-bit PowerPC.
+ ///
+ public const string Ppc32 = "ppc32";
+
+ ///
+ /// 64-bit PowerPC.
+ ///
+ public const string Ppc64 = "ppc64";
+
+ ///
+ /// IBM z/Architecture.
+ ///
+ public const string S390x = "s390x";
+
+ ///
+ /// 32-bit x86.
+ ///
+ public const string X86 = "x86";
+ }
+
+ ///
+ /// The operating system type.
+ ///
+ public static class OsTypeValues
+ {
+ ///
+ /// Microsoft Windows.
+ ///
+ public const string Windows = "windows";
+
+ ///
+ /// Linux.
+ ///
+ public const string Linux = "linux";
+
+ ///
+ /// Apple Darwin.
+ ///
+ public const string Darwin = "darwin";
+
+ ///
+ /// FreeBSD.
+ ///
+ public const string Freebsd = "freebsd";
+
+ ///
+ /// NetBSD.
+ ///
+ public const string Netbsd = "netbsd";
+
+ ///
+ /// OpenBSD.
+ ///
+ public const string Openbsd = "openbsd";
+
+ ///
+ /// DragonFly BSD.
+ ///
+ public const string Dragonflybsd = "dragonflybsd";
+
+ ///
+ /// HP-UX (Hewlett Packard Unix).
+ ///
+ public const string Hpux = "hpux";
+
+ ///
+ /// AIX (Advanced Interactive eXecutive).
+ ///
+ public const string Aix = "aix";
+
+ ///
+ /// SunOS, Oracle Solaris.
+ ///
+ public const string Solaris = "solaris";
+
+ ///
+ /// IBM z/OS.
+ ///
+ public const string ZOs = "z_os";
+ }
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public static class TelemetrySdkLanguageValues
+ {
+ ///
+ /// cpp.
+ ///
+ public const string Cpp = "cpp";
+
+ ///
+ /// dotnet.
+ ///
+ public const string Dotnet = "dotnet";
+
+ ///
+ /// erlang.
+ ///
+ public const string Erlang = "erlang";
+
+ ///
+ /// go.
+ ///
+ public const string Go = "go";
+
+ ///
+ /// java.
+ ///
+ public const string Java = "java";
+
+ ///
+ /// nodejs.
+ ///
+ public const string Nodejs = "nodejs";
+
+ ///
+ /// php.
+ ///
+ public const string Php = "php";
+
+ ///
+ /// python.
+ ///
+ public const string Python = "python";
+
+ ///
+ /// ruby.
+ ///
+ public const string Ruby = "ruby";
+
+ ///
+ /// webjs.
+ ///
+ public const string Webjs = "webjs";
+
+ ///
+ /// swift.
+ ///
+ public const string Swift = "swift";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
new file mode 100644
index 0000000000..73dce0421a
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
@@ -0,0 +1,1876 @@
+//
+// Copyright The OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
+
+namespace OpenTelemetry.Trace
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// .
+ ///
+ ///
+ /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
+ ///
+ public static class TraceSemanticConventions
+ {
+ ///
+ /// Attribute for db.instance.
+ ///
+ public const string AttributeDbInstance = "db.instance";
+
+ ///
+ /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
+ ///
+ ///
+ /// This may be different from faas.id if an alias is involved.
+ ///
+ public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
+
+ ///
+ /// The event_id uniquely identifies the event.
+ ///
+ public const string AttributeCloudeventsEventId = "cloudevents.event_id";
+
+ ///
+ /// The source identifies the context in which an event happened.
+ ///
+ public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
+
+ ///
+ /// The version of the CloudEvents specification which the event uses.
+ ///
+ public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
+
+ ///
+ /// The event_type contains a value describing the type of event related to the originating occurrence.
+ ///
+ public const string AttributeCloudeventsEventType = "cloudevents.event_type";
+
+ ///
+ /// The subject of the event in the context of the event producer (identified by source).
+ ///
+ public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ ///
+ /// The causal relationship between a child Span and a parent Span.
+ ///
+ public const string AttributeOpentracingRefType = "opentracing.ref_type";
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeDbSystem = "db.system";
+
+ ///
+ /// The connection string used to connect to the database. It is recommended to remove embedded credentials.
+ ///
+ public const string AttributeDbConnectionString = "db.connection_string";
+
+ ///
+ /// Username for accessing the database.
+ ///
+ public const string AttributeDbUser = "db.user";
+
+ ///
+ /// The fully-qualified class name of the Java Database Connectivity (JDBC) driver used to connect.
+ ///
+ public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
+
+ ///
+ /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
+ ///
+ ///
+ /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
+ ///
+ public const string AttributeDbName = "db.name";
+
+ ///
+ /// The database statement being executed.
+ ///
+ ///
+ /// The value may be sanitized to exclude sensitive information.
+ ///
+ public const string AttributeDbStatement = "db.statement";
+
+ ///
+ /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
+ ///
+ ///
+ /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
+ ///
+ public const string AttributeDbOperation = "db.operation";
+
+ ///
+ /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
+ ///
+ ///
+ /// If setting a db.mssql.instance_name, net.peer.port is no longer required (but still recommended if non-standard).
+ ///
+ public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
+
+ ///
+ /// The fetch size used for paging, i.e. how many rows will be returned at once.
+ ///
+ public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
+
+ ///
+ /// The name of the primary table that the operation is acting upon, including the keyspace name (if applicable).
+ ///
+ ///
+ /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbCassandraTable = "db.cassandra.table";
+
+ ///
+ /// Whether or not the query is idempotent.
+ ///
+ public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
+
+ ///
+ /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
+ ///
+ public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
+
+ ///
+ /// The ID of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
+
+ ///
+ /// The data center of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
+
+ ///
+ /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
+ ///
+ public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
+
+ ///
+ /// The collection being accessed within the database stated in db.name.
+ ///
+ public const string AttributeDbMongodbCollection = "db.mongodb.collection";
+
+ ///
+ /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
+ ///
+ ///
+ /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbSqlTable = "db.sql.table";
+
+ ///
+ /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
+ ///
+ public const string AttributeExceptionType = "exception.type";
+
+ ///
+ /// The exception message.
+ ///
+ public const string AttributeExceptionMessage = "exception.message";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeExceptionStacktrace = "exception.stacktrace";
+
+ ///
+ /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
+ ///
+ ///
+ /// An exception is considered to have escaped (or left) the scope of a span,
+ /// if that span is ended while the exception is still logically "in flight".
+ /// This may be actually "in flight" in some languages (e.g. if the exception
+ /// is passed to a Context manager's __exit__ method in Python) but will
+ /// usually be caught at the point of recording the exception in most languages.It is usually not possible to determine at the point where an exception is thrown
+ /// whether it will escape the scope of a span.
+ /// However, it is trivial to know that an exception
+ /// will escape, if one checks for an active exception just before ending the span,
+ /// as done in the example above.It follows that an exception may still escape the scope of the span
+ /// even if the exception.escaped attribute was not set or set to false,
+ /// since the event might have been recorded at a time where it was not
+ /// clear whether the exception will escape.
+ ///
+ public const string AttributeExceptionEscaped = "exception.escaped";
+
+ ///
+ /// Type of the trigger which caused this function execution.
+ ///
+ ///
+ /// For the server/consumer span on the incoming side,
+ /// faas.trigger MUST be set.Clients invoking FaaS instances usually cannot set faas.trigger,
+ /// since they would typically need to look in the payload to determine
+ /// the event type. If clients set it, it should be the same as the
+ /// trigger that corresponding incoming would have (i.e., this has
+ /// nothing to do with the underlying transport used to make the API
+ /// call to invoke the lambda, which is often HTTP).
+ ///
+ public const string AttributeFaasTrigger = "faas.trigger";
+
+ ///
+ /// The execution ID of the current function execution.
+ ///
+ public const string AttributeFaasExecution = "faas.execution";
+
+ ///
+ /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
+ ///
+ public const string AttributeFaasDocumentCollection = "faas.document.collection";
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public const string AttributeFaasDocumentOperation = "faas.document.operation";
+
+ ///
+ /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasDocumentTime = "faas.document.time";
+
+ ///
+ /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
+ ///
+ public const string AttributeFaasDocumentName = "faas.document.name";
+
+ ///
+ /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasTime = "faas.time";
+
+ ///
+ /// A string containing the schedule period as Cron Expression.
+ ///
+ public const string AttributeFaasCron = "faas.cron";
+
+ ///
+ /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
+ ///
+ public const string AttributeFaasColdstart = "faas.coldstart";
+
+ ///
+ /// The name of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the faas.name resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedName = "faas.invoked_name";
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
+
+ ///
+ /// The cloud region of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedRegion = "faas.invoked_region";
+
+ ///
+ /// Transport protocol used. See note below.
+ ///
+ public const string AttributeNetTransport = "net.transport";
+
+ ///
+ /// Application layer protocol used. The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetAppProtocolName = "net.app.protocol.name";
+
+ ///
+ /// Version of the application layer protocol used. See note below.
+ ///
+ ///
+ /// net.app.protocol.version refers to the version of the protocol used and might be different from the protocol client's version. If the HTTP client used has a version of 0.27.2, but sends HTTP version 1.1, this attribute should be set to 1.1.
+ ///
+ public const string AttributeNetAppProtocolVersion = "net.app.protocol.version";
+
+ ///
+ /// Remote socket peer name.
+ ///
+ public const string AttributeNetSockPeerName = "net.sock.peer.name";
+
+ ///
+ /// Remote socket peer address: IPv4 or IPv6 for internet protocols, path for local communication, etc.
+ ///
+ public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
+
+ ///
+ /// Remote socket peer port.
+ ///
+ public const string AttributeNetSockPeerPort = "net.sock.peer.port";
+
+ ///
+ /// Protocol address family which is used for communication.
+ ///
+ public const string AttributeNetSockFamily = "net.sock.family";
+
+ ///
+ /// Logical remote hostname, see note below.
+ ///
+ ///
+ /// net.peer.name SHOULD NOT be set if capturing it would require an extra DNS lookup.
+ ///
+ public const string AttributeNetPeerName = "net.peer.name";
+
+ ///
+ /// Logical remote port number.
+ ///
+ public const string AttributeNetPeerPort = "net.peer.port";
+
+ ///
+ /// Logical local hostname or similar, see note below.
+ ///
+ public const string AttributeNetHostName = "net.host.name";
+
+ ///
+ /// Logical local port number, preferably the one that the peer used to connect.
+ ///
+ public const string AttributeNetHostPort = "net.host.port";
+
+ ///
+ /// Local socket address. Useful in case of a multi-IP host.
+ ///
+ public const string AttributeNetSockHostAddr = "net.sock.host.addr";
+
+ ///
+ /// Local socket port number.
+ ///
+ public const string AttributeNetSockHostPort = "net.sock.host.port";
+
+ ///
+ /// The internet connection type currently being used by the host.
+ ///
+ public const string AttributeNetHostConnectionType = "net.host.connection.type";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public const string AttributeNetHostConnectionSubtype = "net.host.connection.subtype";
+
+ ///
+ /// The name of the mobile carrier.
+ ///
+ public const string AttributeNetHostCarrierName = "net.host.carrier.name";
+
+ ///
+ /// The mobile carrier country code.
+ ///
+ public const string AttributeNetHostCarrierMcc = "net.host.carrier.mcc";
+
+ ///
+ /// The mobile carrier network code.
+ ///
+ public const string AttributeNetHostCarrierMnc = "net.host.carrier.mnc";
+
+ ///
+ /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
+ ///
+ public const string AttributeNetHostCarrierIcc = "net.host.carrier.icc";
+
+ ///
+ /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
+ ///
+ public const string AttributePeerService = "peer.service";
+
+ ///
+ /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
+ ///
+ public const string AttributeEnduserId = "enduser.id";
+
+ ///
+ /// Actual/assumed role the client is making the request under extracted from token or application security context.
+ ///
+ public const string AttributeEnduserRole = "enduser.role";
+
+ ///
+ /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
+ ///
+ public const string AttributeEnduserScope = "enduser.scope";
+
+ ///
+ /// Current "managed" thread ID (as opposed to OS thread ID).
+ ///
+ public const string AttributeThreadId = "thread.id";
+
+ ///
+ /// Current thread name.
+ ///
+ public const string AttributeThreadName = "thread.name";
+
+ ///
+ /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
+ ///
+ public const string AttributeCodeFunction = "code.function";
+
+ ///
+ /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
+ ///
+ public const string AttributeCodeNamespace = "code.namespace";
+
+ ///
+ /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
+ ///
+ public const string AttributeCodeFilepath = "code.filepath";
+
+ ///
+ /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeLineno = "code.lineno";
+
+ ///
+ /// HTTP request method.
+ ///
+ public const string AttributeHttpMethod = "http.method";
+
+ ///
+ /// HTTP response status code.
+ ///
+ public const string AttributeHttpStatusCode = "http.status_code";
+
+ ///
+ /// Kind of HTTP protocol used.
+ ///
+ ///
+ /// If net.transport is not specified, it can be assumed to be IP.TCP except if http.flavor is QUIC, in which case IP.UDP is assumed.
+ ///
+ public const string AttributeHttpFlavor = "http.flavor";
+
+ ///
+ /// Value of the HTTP User-Agent header sent by the client.
+ ///
+ public const string AttributeHttpUserAgent = "http.user_agent";
+
+ ///
+ /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpRequestContentLength = "http.request_content_length";
+
+ ///
+ /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpResponseContentLength = "http.response_content_length";
+
+ ///
+ /// Full HTTP request URL in the form scheme://host[:port]/path?query[#fragment]. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless.
+ ///
+ ///
+ /// http.url MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case the attribute's value should be https://www.example.com/.
+ ///
+ public const string AttributeHttpUrl = "http.url";
+
+ ///
+ /// The ordinal number of request re-sending attempt.
+ ///
+ public const string AttributeHttpRetryCount = "http.retry_count";
+
+ ///
+ /// The URI scheme identifying the used protocol.
+ ///
+ public const string AttributeHttpScheme = "http.scheme";
+
+ ///
+ /// The full request target as passed in a HTTP request line or equivalent.
+ ///
+ public const string AttributeHttpTarget = "http.target";
+
+ ///
+ /// The matched route (path template in the format used by the respective server framework). See note below.
+ ///
+ ///
+ /// 'http.route' MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
+ ///
+ public const string AttributeHttpRoute = "http.route";
+
+ ///
+ /// The IP address of the original client behind all proxies, if known (e.g. from X-Forwarded-For).
+ ///
+ ///
+ /// This is not necessarily the same as net.sock.peer.addr, which would
+ /// identify the network-level peer, which may be a proxy.This attribute should be set when a source of information different
+ /// from the one used for net.sock.peer.addr, is available even if that other
+ /// source just confirms the same value as net.sock.peer.addr.
+ /// Rationale: For net.sock.peer.addr, one typically does not know if it
+ /// comes from a proxy, reverse proxy, or the actual client. Setting
+ /// http.client_ip when it's the same as net.sock.peer.addr means that
+ /// one is at least somewhat confident that the address is not that of
+ /// the closest proxy.
+ ///
+ public const string AttributeHttpClientIp = "http.client_ip";
+
+ ///
+ /// The keys in the RequestItems object field.
+ ///
+ public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
+
+ ///
+ /// The JSON-serialized value of each item in the ConsumedCapacity response field.
+ ///
+ public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
+
+ ///
+ /// The JSON-serialized value of the ItemCollectionMetrics response field.
+ ///
+ public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
+
+ ///
+ /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
+
+ ///
+ /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
+
+ ///
+ /// The value of the ConsistentRead request parameter.
+ ///
+ public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
+
+ ///
+ /// The value of the ProjectionExpression request parameter.
+ ///
+ public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
+
+ ///
+ /// The value of the Limit request parameter.
+ ///
+ public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
+
+ ///
+ /// The value of the AttributesToGet request parameter.
+ ///
+ public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
+
+ ///
+ /// The value of the IndexName request parameter.
+ ///
+ public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
+
+ ///
+ /// The value of the Select request parameter.
+ ///
+ public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
+
+ ///
+ /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
+
+ ///
+ /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
+
+ ///
+ /// The value of the ExclusiveStartTableName request parameter.
+ ///
+ public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
+
+ ///
+ /// The the number of items in the TableNames response parameter.
+ ///
+ public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
+
+ ///
+ /// The value of the ScanIndexForward request parameter.
+ ///
+ public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
+
+ ///
+ /// The value of the Segment request parameter.
+ ///
+ public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
+
+ ///
+ /// The value of the TotalSegments request parameter.
+ ///
+ public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
+
+ ///
+ /// The value of the Count response parameter.
+ ///
+ public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
+
+ ///
+ /// The value of the ScannedCount response parameter.
+ ///
+ public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
+
+ ///
+ /// The JSON-serialized value of each item in the AttributeDefinitions request field.
+ ///
+ public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
+
+ ///
+ /// The JSON-serialized value of each item in the the GlobalSecondaryIndexUpdates request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
+
+ ///
+ /// The name of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationName = "graphql.operation.name";
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationType = "graphql.operation.type";
+
+ ///
+ /// The GraphQL document being executed.
+ ///
+ ///
+ /// The value may be sanitized to exclude sensitive information.
+ ///
+ public const string AttributeGraphqlDocument = "graphql.document";
+
+ ///
+ /// A string identifying the messaging system.
+ ///
+ public const string AttributeMessagingSystem = "messaging.system";
+
+ ///
+ /// The message destination name. This might be equal to the span name but is required nevertheless.
+ ///
+ public const string AttributeMessagingDestination = "messaging.destination";
+
+ ///
+ /// The kind of message destination.
+ ///
+ public const string AttributeMessagingDestinationKind = "messaging.destination_kind";
+
+ ///
+ /// A boolean that is true if the message destination is temporary.
+ ///
+ public const string AttributeMessagingTempDestination = "messaging.temp_destination";
+
+ ///
+ /// The name of the transport protocol.
+ ///
+ public const string AttributeMessagingProtocol = "messaging.protocol";
+
+ ///
+ /// The version of the transport protocol.
+ ///
+ public const string AttributeMessagingProtocolVersion = "messaging.protocol_version";
+
+ ///
+ /// Connection string.
+ ///
+ public const string AttributeMessagingUrl = "messaging.url";
+
+ ///
+ /// A value used by the messaging system as an identifier for the message, represented as a string.
+ ///
+ public const string AttributeMessagingMessageId = "messaging.message_id";
+
+ ///
+ /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
+ ///
+ public const string AttributeMessagingConversationId = "messaging.conversation_id";
+
+ ///
+ /// The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported.
+ ///
+ public const string AttributeMessagingMessagePayloadSizeBytes = "messaging.message_payload_size_bytes";
+
+ ///
+ /// The compressed size of the message payload in bytes.
+ ///
+ public const string AttributeMessagingMessagePayloadCompressedSizeBytes = "messaging.message_payload_compressed_size_bytes";
+
+ ///
+ /// A string identifying the kind of message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.
+ ///
+ public const string AttributeMessagingOperation = "messaging.operation";
+
+ ///
+ /// The identifier for the consumer receiving a message. For Kafka, set it to {messaging.kafka.consumer_group} - {messaging.kafka.client_id}, if both are present, or only messaging.kafka.consumer_group. For brokers, such as RabbitMQ and Artemis, set it to the client_id of the client consuming the message.
+ ///
+ public const string AttributeMessagingConsumerId = "messaging.consumer_id";
+
+ ///
+ /// RabbitMQ message routing key.
+ ///
+ public const string AttributeMessagingRabbitmqRoutingKey = "messaging.rabbitmq.routing_key";
+
+ ///
+ /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message_id in that they're not unique. If the key is null, the attribute MUST NOT be set.
+ ///
+ ///
+ /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
+ ///
+ public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message_key";
+
+ ///
+ /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
+ ///
+ public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer_group";
+
+ ///
+ /// Client Id for the Consumer or Producer that is handling the message.
+ ///
+ public const string AttributeMessagingKafkaClientId = "messaging.kafka.client_id";
+
+ ///
+ /// Partition the message is sent to.
+ ///
+ public const string AttributeMessagingKafkaPartition = "messaging.kafka.partition";
+
+ ///
+ /// A boolean that is true if the message is a tombstone.
+ ///
+ public const string AttributeMessagingKafkaTombstone = "messaging.kafka.tombstone";
+
+ ///
+ /// Namespace of RocketMQ resources, resources in different namespaces are individual.
+ ///
+ public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
+
+ ///
+ /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
+ ///
+ public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
+
+ ///
+ /// The unique identifier for each client.
+ ///
+ public const string AttributeMessagingRocketmqClientId = "messaging.rocketmq.client_id";
+
+ ///
+ /// Type of message.
+ ///
+ public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message_type";
+
+ ///
+ /// The secondary classifier of message besides topic.
+ ///
+ public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message_tag";
+
+ ///
+ /// Key(s) of message, another way to mark message besides message id.
+ ///
+ public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message_keys";
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeRpcSystem = "rpc.system";
+
+ ///
+ /// The full (logical) name of the service being called, including its package name, if applicable.
+ ///
+ ///
+ /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
+ ///
+ public const string AttributeRpcService = "rpc.service";
+
+ ///
+ /// The name of the (logical) method being called, must be equal to the $method part in the span name.
+ ///
+ ///
+ /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
+ ///
+ public const string AttributeRpcMethod = "rpc.method";
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
+
+ ///
+ /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted.
+ ///
+ public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
+
+ ///
+ /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
+ ///
+ public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
+
+ ///
+ /// error.code property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
+
+ ///
+ /// error.message property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public const string AttributeMessageType = "message.type";
+
+ ///
+ /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
+ ///
+ ///
+ /// This way we guarantee that the values will be consistent between different implementations.
+ ///
+ public const string AttributeMessageId = "message.id";
+
+ ///
+ /// Compressed size of the message in bytes.
+ ///
+ public const string AttributeMessageCompressedSize = "message.compressed_size";
+
+ ///
+ /// Uncompressed size of the message in bytes.
+ ///
+ public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
+
+ ///
+ /// Prefix for 'aws.lambda'.
+ ///
+ public static readonly string PrefixAwsLambda = "aws.lambda";
+
+ ///
+ /// Prefix for 'cloudevents'.
+ ///
+ public static readonly string PrefixCloudevents = "cloudevents";
+
+ ///
+ /// Prefix for 'opentracing'.
+ ///
+ public static readonly string PrefixOpentracing = "opentracing";
+
+ ///
+ /// Prefix for 'db'.
+ ///
+ public static readonly string PrefixDb = "db";
+
+ ///
+ /// Prefix for 'db.mssql'.
+ ///
+ public static readonly string PrefixDbMssql = "db.mssql";
+
+ ///
+ /// Prefix for 'db.cassandra'.
+ ///
+ public static readonly string PrefixDbCassandra = "db.cassandra";
+
+ ///
+ /// Prefix for 'db.redis'.
+ ///
+ public static readonly string PrefixDbRedis = "db.redis";
+
+ ///
+ /// Prefix for 'db.mongodb'.
+ ///
+ public static readonly string PrefixDbMongodb = "db.mongodb";
+
+ ///
+ /// Prefix for 'db.sql'.
+ ///
+ public static readonly string PrefixDbSql = "db.sql";
+
+ ///
+ /// Prefix for 'exception'.
+ ///
+ public static readonly string PrefixException = "exception";
+
+ ///
+ /// Prefix for 'faas_span'.
+ ///
+ public static readonly string PrefixFaasSpan = "faas";
+
+ ///
+ /// Prefix for 'faas_span.datasource'.
+ ///
+ public static readonly string PrefixFaasSpanDatasource = "faas.document";
+
+ ///
+ /// Prefix for 'network'.
+ ///
+ public static readonly string PrefixNetwork = "net";
+
+ ///
+ /// Prefix for 'peer'.
+ ///
+ public static readonly string PrefixPeer = "peer";
+
+ ///
+ /// Prefix for 'identity'.
+ ///
+ public static readonly string PrefixIdentity = "enduser";
+
+ ///
+ /// Prefix for 'thread'.
+ ///
+ public static readonly string PrefixThread = "thread";
+
+ ///
+ /// Prefix for 'code'.
+ ///
+ public static readonly string PrefixCode = "code";
+
+ ///
+ /// Prefix for 'http'.
+ ///
+ public static readonly string PrefixHttp = "http";
+
+ ///
+ /// Prefix for 'aws'.
+ ///
+ public static readonly string PrefixAws = "aws";
+
+ ///
+ /// Prefix for 'dynamodb.shared'.
+ ///
+ public static readonly string PrefixDynamodbShared = "aws.dynamodb";
+
+ ///
+ /// Prefix for 'graphql'.
+ ///
+ public static readonly string PrefixGraphql = "graphql";
+
+ ///
+ /// Prefix for 'messaging'.
+ ///
+ public static readonly string PrefixMessaging = "messaging";
+
+ ///
+ /// Prefix for 'messaging.rabbitmq'.
+ ///
+ public static readonly string PrefixMessagingRabbitmq = "messaging.rabbitmq";
+
+ ///
+ /// Prefix for 'messaging.kafka'.
+ ///
+ public static readonly string PrefixMessagingKafka = "messaging.kafka";
+
+ ///
+ /// Prefix for 'messaging.rocketmq'.
+ ///
+ public static readonly string PrefixMessagingRocketmq = "messaging.rocketmq";
+
+ ///
+ /// Prefix for 'rpc'.
+ ///
+ public static readonly string PrefixRpc = "rpc";
+
+ ///
+ /// Prefix for 'rpc.grpc'.
+ ///
+ public static readonly string PrefixRpcGrpc = "rpc.grpc";
+
+ ///
+ /// Prefix for 'rpc.jsonrpc'.
+ ///
+ public static readonly string PrefixRpcJsonrpc = "rpc.jsonrpc";
+
+ ///
+ /// Prefix for 'rpc.message'.
+ ///
+ public static readonly string PrefixRpcMessage = "message";
+
+ ///
+ /// Event name for 'exception'.
+ ///
+ public static readonly string EventException = "exception";
+
+ ///
+ /// Event name for 'rpc.message'.
+ ///
+ public static readonly string EventRpcMessage = "message";
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ public static class OpentracingRefTypeValues
+ {
+ ///
+ /// The parent Span depends on the child Span in some capacity.
+ ///
+ public const string ChildOf = "child_of";
+
+ ///
+ /// The parent Span does not depend in any way on the result of the child Span.
+ ///
+ public const string FollowsFrom = "follows_from";
+ }
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public static class DbSystemValues
+ {
+ ///
+ /// Some other SQL database. Fallback only. See notes.
+ ///
+ public const string OtherSql = "other_sql";
+
+ ///
+ /// Microsoft SQL Server.
+ ///
+ public const string Mssql = "mssql";
+
+ ///
+ /// MySQL.
+ ///
+ public const string Mysql = "mysql";
+
+ ///
+ /// Oracle Database.
+ ///
+ public const string Oracle = "oracle";
+
+ ///
+ /// IBM Db2.
+ ///
+ public const string Db2 = "db2";
+
+ ///
+ /// PostgreSQL.
+ ///
+ public const string Postgresql = "postgresql";
+
+ ///
+ /// Amazon Redshift.
+ ///
+ public const string Redshift = "redshift";
+
+ ///
+ /// Apache Hive.
+ ///
+ public const string Hive = "hive";
+
+ ///
+ /// Cloudscape.
+ ///
+ public const string Cloudscape = "cloudscape";
+
+ ///
+ /// HyperSQL DataBase.
+ ///
+ public const string Hsqldb = "hsqldb";
+
+ ///
+ /// Progress Database.
+ ///
+ public const string Progress = "progress";
+
+ ///
+ /// SAP MaxDB.
+ ///
+ public const string Maxdb = "maxdb";
+
+ ///
+ /// SAP HANA.
+ ///
+ public const string Hanadb = "hanadb";
+
+ ///
+ /// Ingres.
+ ///
+ public const string Ingres = "ingres";
+
+ ///
+ /// FirstSQL.
+ ///
+ public const string Firstsql = "firstsql";
+
+ ///
+ /// EnterpriseDB.
+ ///
+ public const string Edb = "edb";
+
+ ///
+ /// InterSystems Caché.
+ ///
+ public const string Cache = "cache";
+
+ ///
+ /// Adabas (Adaptable Database System).
+ ///
+ public const string Adabas = "adabas";
+
+ ///
+ /// Firebird.
+ ///
+ public const string Firebird = "firebird";
+
+ ///
+ /// Apache Derby.
+ ///
+ public const string Derby = "derby";
+
+ ///
+ /// FileMaker.
+ ///
+ public const string Filemaker = "filemaker";
+
+ ///
+ /// Informix.
+ ///
+ public const string Informix = "informix";
+
+ ///
+ /// InstantDB.
+ ///
+ public const string Instantdb = "instantdb";
+
+ ///
+ /// InterBase.
+ ///
+ public const string Interbase = "interbase";
+
+ ///
+ /// MariaDB.
+ ///
+ public const string Mariadb = "mariadb";
+
+ ///
+ /// Netezza.
+ ///
+ public const string Netezza = "netezza";
+
+ ///
+ /// Pervasive PSQL.
+ ///
+ public const string Pervasive = "pervasive";
+
+ ///
+ /// PointBase.
+ ///
+ public const string Pointbase = "pointbase";
+
+ ///
+ /// SQLite.
+ ///
+ public const string Sqlite = "sqlite";
+
+ ///
+ /// Sybase.
+ ///
+ public const string Sybase = "sybase";
+
+ ///
+ /// Teradata.
+ ///
+ public const string Teradata = "teradata";
+
+ ///
+ /// Vertica.
+ ///
+ public const string Vertica = "vertica";
+
+ ///
+ /// H2.
+ ///
+ public const string H2 = "h2";
+
+ ///
+ /// ColdFusion IMQ.
+ ///
+ public const string Coldfusion = "coldfusion";
+
+ ///
+ /// Apache Cassandra.
+ ///
+ public const string Cassandra = "cassandra";
+
+ ///
+ /// Apache HBase.
+ ///
+ public const string Hbase = "hbase";
+
+ ///
+ /// MongoDB.
+ ///
+ public const string Mongodb = "mongodb";
+
+ ///
+ /// Redis.
+ ///
+ public const string Redis = "redis";
+
+ ///
+ /// Couchbase.
+ ///
+ public const string Couchbase = "couchbase";
+
+ ///
+ /// CouchDB.
+ ///
+ public const string Couchdb = "couchdb";
+
+ ///
+ /// Microsoft Azure Cosmos DB.
+ ///
+ public const string Cosmosdb = "cosmosdb";
+
+ ///
+ /// Amazon DynamoDB.
+ ///
+ public const string Dynamodb = "dynamodb";
+
+ ///
+ /// Neo4j.
+ ///
+ public const string Neo4j = "neo4j";
+
+ ///
+ /// Apache Geode.
+ ///
+ public const string Geode = "geode";
+
+ ///
+ /// Elasticsearch.
+ ///
+ public const string Elasticsearch = "elasticsearch";
+
+ ///
+ /// Memcached.
+ ///
+ public const string Memcached = "memcached";
+
+ ///
+ /// CockroachDB.
+ ///
+ public const string Cockroachdb = "cockroachdb";
+
+ ///
+ /// OpenSearch.
+ ///
+ public const string Opensearch = "opensearch";
+ }
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public static class DbCassandraConsistencyLevelValues
+ {
+ ///
+ /// all.
+ ///
+ public const string All = "all";
+
+ ///
+ /// each_quorum.
+ ///
+ public const string EachQuorum = "each_quorum";
+
+ ///
+ /// quorum.
+ ///
+ public const string Quorum = "quorum";
+
+ ///
+ /// local_quorum.
+ ///
+ public const string LocalQuorum = "local_quorum";
+
+ ///
+ /// one.
+ ///
+ public const string One = "one";
+
+ ///
+ /// two.
+ ///
+ public const string Two = "two";
+
+ ///
+ /// three.
+ ///
+ public const string Three = "three";
+
+ ///
+ /// local_one.
+ ///
+ public const string LocalOne = "local_one";
+
+ ///
+ /// any.
+ ///
+ public const string Any = "any";
+
+ ///
+ /// serial.
+ ///
+ public const string Serial = "serial";
+
+ ///
+ /// local_serial.
+ ///
+ public const string LocalSerial = "local_serial";
+ }
+
+ ///
+ /// Type of the trigger which caused this function execution.
+ ///
+ public static class FaasTriggerValues
+ {
+ ///
+ /// A response to some data source operation such as a database or filesystem read/write.
+ ///
+ public const string Datasource = "datasource";
+
+ ///
+ /// To provide an answer to an inbound HTTP request.
+ ///
+ public const string Http = "http";
+
+ ///
+ /// A function is set to be executed when messages are sent to a messaging system.
+ ///
+ public const string Pubsub = "pubsub";
+
+ ///
+ /// A function is scheduled to be executed regularly.
+ ///
+ public const string Timer = "timer";
+
+ ///
+ /// If none of the others apply.
+ ///
+ public const string Other = "other";
+ }
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public static class FaasDocumentOperationValues
+ {
+ ///
+ /// When a new object is created.
+ ///
+ public const string Insert = "insert";
+
+ ///
+ /// When an object is modified.
+ ///
+ public const string Edit = "edit";
+
+ ///
+ /// When an object is deleted.
+ ///
+ public const string Delete = "delete";
+ }
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ public static class FaasInvokedProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// Transport protocol used. See note below.
+ ///
+ public static class NetTransportValues
+ {
+ ///
+ /// ip_tcp.
+ ///
+ public const string IpTcp = "ip_tcp";
+
+ ///
+ /// ip_udp.
+ ///
+ public const string IpUdp = "ip_udp";
+
+ ///
+ /// Named or anonymous pipe. See note below.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// In-process communication.
+ ///
+ public const string Inproc = "inproc";
+
+ ///
+ /// Something else (non IP-based).
+ ///
+ public const string Other = "other";
+ }
+
+ ///
+ /// Protocol address family which is used for communication.
+ ///
+ public static class NetSockFamilyValues
+ {
+ ///
+ /// IPv4 address.
+ ///
+ public const string Inet = "inet";
+
+ ///
+ /// IPv6 address.
+ ///
+ public const string Inet6 = "inet6";
+
+ ///
+ /// Unix domain socket path.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// The internet connection type currently being used by the host.
+ ///
+ public static class NetHostConnectionTypeValues
+ {
+ ///
+ /// wifi.
+ ///
+ public const string Wifi = "wifi";
+
+ ///
+ /// wired.
+ ///
+ public const string Wired = "wired";
+
+ ///
+ /// cell.
+ ///
+ public const string Cell = "cell";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+ }
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public static class NetHostConnectionSubtypeValues
+ {
+ ///
+ /// GPRS.
+ ///
+ public const string Gprs = "gprs";
+
+ ///
+ /// EDGE.
+ ///
+ public const string Edge = "edge";
+
+ ///
+ /// UMTS.
+ ///
+ public const string Umts = "umts";
+
+ ///
+ /// CDMA.
+ ///
+ public const string Cdma = "cdma";
+
+ ///
+ /// EVDO Rel. 0.
+ ///
+ public const string Evdo0 = "evdo_0";
+
+ ///
+ /// EVDO Rev. A.
+ ///
+ public const string EvdoA = "evdo_a";
+
+ ///
+ /// CDMA2000 1XRTT.
+ ///
+ public const string Cdma20001xrtt = "cdma2000_1xrtt";
+
+ ///
+ /// HSDPA.
+ ///
+ public const string Hsdpa = "hsdpa";
+
+ ///
+ /// HSUPA.
+ ///
+ public const string Hsupa = "hsupa";
+
+ ///
+ /// HSPA.
+ ///
+ public const string Hspa = "hspa";
+
+ ///
+ /// IDEN.
+ ///
+ public const string Iden = "iden";
+
+ ///
+ /// EVDO Rev. B.
+ ///
+ public const string EvdoB = "evdo_b";
+
+ ///
+ /// LTE.
+ ///
+ public const string Lte = "lte";
+
+ ///
+ /// EHRPD.
+ ///
+ public const string Ehrpd = "ehrpd";
+
+ ///
+ /// HSPAP.
+ ///
+ public const string Hspap = "hspap";
+
+ ///
+ /// GSM.
+ ///
+ public const string Gsm = "gsm";
+
+ ///
+ /// TD-SCDMA.
+ ///
+ public const string TdScdma = "td_scdma";
+
+ ///
+ /// IWLAN.
+ ///
+ public const string Iwlan = "iwlan";
+
+ ///
+ /// 5G NR (New Radio).
+ ///
+ public const string Nr = "nr";
+
+ ///
+ /// 5G NRNSA (New Radio Non-Standalone).
+ ///
+ public const string Nrnsa = "nrnsa";
+
+ ///
+ /// LTE CA.
+ ///
+ public const string LteCa = "lte_ca";
+ }
+
+ ///
+ /// Kind of HTTP protocol used.
+ ///
+ public static class HttpFlavorValues
+ {
+ ///
+ /// HTTP/1.0.
+ ///
+ public const string Http10 = "1.0";
+
+ ///
+ /// HTTP/1.1.
+ ///
+ public const string Http11 = "1.1";
+
+ ///
+ /// HTTP/2.
+ ///
+ public const string Http20 = "2.0";
+
+ ///
+ /// HTTP/3.
+ ///
+ public const string Http30 = "3.0";
+
+ ///
+ /// SPDY protocol.
+ ///
+ public const string Spdy = "SPDY";
+
+ ///
+ /// QUIC protocol.
+ ///
+ public const string Quic = "QUIC";
+ }
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public static class GraphqlOperationTypeValues
+ {
+ ///
+ /// GraphQL query.
+ ///
+ public const string Query = "query";
+
+ ///
+ /// GraphQL mutation.
+ ///
+ public const string Mutation = "mutation";
+
+ ///
+ /// GraphQL subscription.
+ ///
+ public const string Subscription = "subscription";
+ }
+
+ ///
+ /// The kind of message destination.
+ ///
+ public static class MessagingDestinationKindValues
+ {
+ ///
+ /// A message sent to a queue.
+ ///
+ public const string Queue = "queue";
+
+ ///
+ /// A message sent to a topic.
+ ///
+ public const string Topic = "topic";
+ }
+
+ ///
+ /// A string identifying the kind of message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.
+ ///
+ public static class MessagingOperationValues
+ {
+ ///
+ /// receive.
+ ///
+ public const string Receive = "receive";
+
+ ///
+ /// process.
+ ///
+ public const string Process = "process";
+ }
+
+ ///
+ /// Type of message.
+ ///
+ public static class MessagingRocketmqMessageTypeValues
+ {
+ ///
+ /// Normal message.
+ ///
+ public const string Normal = "normal";
+
+ ///
+ /// FIFO message.
+ ///
+ public const string Fifo = "fifo";
+
+ ///
+ /// Delay message.
+ ///
+ public const string Delay = "delay";
+
+ ///
+ /// Transaction message.
+ ///
+ public const string Transaction = "transaction";
+ }
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public static class MessagingRocketmqConsumptionModelValues
+ {
+ ///
+ /// Clustering consumption model.
+ ///
+ public const string Clustering = "clustering";
+
+ ///
+ /// Broadcasting consumption model.
+ ///
+ public const string Broadcasting = "broadcasting";
+ }
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public static class RpcSystemValues
+ {
+ ///
+ /// gRPC.
+ ///
+ public const string Grpc = "grpc";
+
+ ///
+ /// Java RMI.
+ ///
+ public const string JavaRmi = "java_rmi";
+
+ ///
+ /// .NET WCF.
+ ///
+ public const string DotnetWcf = "dotnet_wcf";
+
+ ///
+ /// Apache Dubbo.
+ ///
+ public const string ApacheDubbo = "apache_dubbo";
+ }
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public static class RpcGrpcStatusCodeValues
+ {
+ ///
+ /// OK.
+ ///
+ public const int Ok = 0;
+
+ ///
+ /// CANCELLED.
+ ///
+ public const int Cancelled = 1;
+
+ ///
+ /// UNKNOWN.
+ ///
+ public const int Unknown = 2;
+
+ ///
+ /// INVALID_ARGUMENT.
+ ///
+ public const int InvalidArgument = 3;
+
+ ///
+ /// DEADLINE_EXCEEDED.
+ ///
+ public const int DeadlineExceeded = 4;
+
+ ///
+ /// NOT_FOUND.
+ ///
+ public const int NotFound = 5;
+
+ ///
+ /// ALREADY_EXISTS.
+ ///
+ public const int AlreadyExists = 6;
+
+ ///
+ /// PERMISSION_DENIED.
+ ///
+ public const int PermissionDenied = 7;
+
+ ///
+ /// RESOURCE_EXHAUSTED.
+ ///
+ public const int ResourceExhausted = 8;
+
+ ///
+ /// FAILED_PRECONDITION.
+ ///
+ public const int FailedPrecondition = 9;
+
+ ///
+ /// ABORTED.
+ ///
+ public const int Aborted = 10;
+
+ ///
+ /// OUT_OF_RANGE.
+ ///
+ public const int OutOfRange = 11;
+
+ ///
+ /// UNIMPLEMENTED.
+ ///
+ public const int Unimplemented = 12;
+
+ ///
+ /// INTERNAL.
+ ///
+ public const int Internal = 13;
+
+ ///
+ /// UNAVAILABLE.
+ ///
+ public const int Unavailable = 14;
+
+ ///
+ /// DATA_LOSS.
+ ///
+ public const int DataLoss = 15;
+
+ ///
+ /// UNAUTHENTICATED.
+ ///
+ public const int Unauthenticated = 16;
+ }
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public static class MessageTypeValues
+ {
+ ///
+ /// sent.
+ ///
+ public const string Sent = "SENT";
+
+ ///
+ /// received.
+ ///
+ public const string Received = "RECEIVED";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
index 5bde68ef8e..9c3055ff76 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -2,8 +2,9 @@ $SCRIPT_DIR = $PSScriptRoot
$ROOT_DIR = "${SCRIPT_DIR}/../"
# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
-$SPEC_VERSION = "1.25.0"
+$SPEC_VERSION = "1.13.0"
$SCHEMA_URL = "https://opentelemetry.io/schemas/$SPEC_VERSION"
+$GENERATOR_VERSION = "0.16.0"
Set-Location $SCRIPT_DIR
@@ -12,29 +13,29 @@ mkdir semantic-conventions
Set-Location semantic-conventions
git init
-git remote add origin https://github.com/open-telemetry/semantic-conventions.git
+git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git
git fetch origin v$SPEC_VERSION
git reset --hard FETCH_HEAD
Set-Location ${SCRIPT_DIR}
docker run --rm `
- -v ${SCRIPT_DIR}/semantic-conventions/model/trace:/source `
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/logs:/source `
-v ${SCRIPT_DIR}/templates:/templates `
- -v ${ROOT_DIR}/Trace:/output `
- otel/semconvgen:latest `
+ -v ${ROOT_DIR}/Logs:/output `
+ otel/semconvgen:$GENERATOR_VERSION `
-f /source code `
--template /templates/SemanticConventions.cs.j2 `
- --output /output/TraceSemanticConventions.cs `
+ --output /output/LogsSemanticConventions.cs `
--trim-whitespace `
- -D class=TraceSemanticConventions `
+ -D class=LogsSemanticConventions `
-D schemaUrl=$SCHEMA_URL `
- -D pkg=OpenTelemetry.Trace
+ -D pkg=OpenTelemetry.Logs
docker run --rm `
- -v ${SCRIPT_DIR}/semantic-conventions/model/resource:/source `
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/resource:/source `
-v ${SCRIPT_DIR}/templates:/templates `
-v ${ROOT_DIR}/Resource:/output `
- otel/semconvgen:latest `
+ otel/semconvgen:$GENERATOR_VERSION `
-f /source code `
--template /templates/SemanticConventions.cs.j2 `
--output /output/ResourceSemanticConventions.cs `
@@ -43,4 +44,15 @@ docker run --rm `
-D schemaUrl=$SCHEMA_URL `
-D pkg=OpenTelemetry.Resources
-Set-Location ${ROOT_DIR}
+docker run --rm `
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/trace:/source `
+ -v ${SCRIPT_DIR}/templates:/templates `
+ -v ${ROOT_DIR}/Trace:/output `
+ otel/semconvgen:$GENERATOR_VERSION `
+ -f /source code `
+ --template /templates/SemanticConventions.cs.j2 `
+ --output /output/TraceSemanticConventions.cs `
+ --trim-whitespace `
+ -D class=TraceSemanticConventions `
+ -D schemaUrl=$SCHEMA_URL `
+ -D pkg=OpenTelemetry.Trace
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index 572953d35b..da10bcff61 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -5,8 +5,9 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="${SCRIPT_DIR}/../"
# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
-SPEC_VERSION=1.25.0
+SPEC_VERSION=1.13.0
SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION
+GENERATOR_VERSION=0.16.0
cd ${SCRIPT_DIR}
@@ -15,29 +16,29 @@ mkdir semantic-conventions
cd semantic-conventions
git init
-git remote add origin https://github.com/open-telemetry/semantic-conventions.git
+git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git
git fetch origin "v$SPEC_VERSION"
git reset --hard FETCH_HEAD
cd ${SCRIPT_DIR}
docker run --rm \
- -v ${SCRIPT_DIR}/semantic-conventions/model/trace:/source \
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/logs:/source \
-v ${SCRIPT_DIR}/templates:/templates \
- -v ${ROOT_DIR}/Trace:/output \
- otel/semconvgen:latest \
+ -v ${ROOT_DIR}/Logs:/output \
+ otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/SemanticConventions.cs.j2 \
- --output /output/TraceSemanticConventions.cs \
+ --output /output/LogsSemanticConventions.cs \
--trim-whitespace \
- -Dclass=TraceSemanticConventions \
+ -Dclass=LogsSemanticConventions \
-DschemaUrl=$SCHEMA_URL \
- -Dpkg=OpenTelemetry.Trace
+ -Dpkg=OpenTelemetry.Logs
docker run --rm \
- -v ${SCRIPT_DIR}/semantic-conventions/model/resource:/source \
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/resource:/source \
-v ${SCRIPT_DIR}/templates:/templates \
-v ${ROOT_DIR}/Resource:/output \
- otel/semconvgen:latest \
+ otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/SemanticConventions.cs.j2 \
--output /output/ResourceSemanticConventions.cs \
@@ -45,3 +46,16 @@ docker run --rm \
-Dclass=ResourceSemanticConventions \
-DschemaUrl=$SCHEMA_URL \
-Dpkg=OpenTelemetry.Resources
+
+docker run --rm \
+ -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/trace:/source \
+ -v ${SCRIPT_DIR}/templates:/templates \
+ -v ${ROOT_DIR}/Trace:/output \
+ otel/semconvgen:$GENERATOR_VERSION \
+ -f /source code \
+ --template /templates/SemanticConventions.cs.j2 \
+ --output /output/TraceSemanticConventions.cs \
+ --trim-whitespace \
+ -Dclass=TraceSemanticConventions \
+ -DschemaUrl=$SCHEMA_URL \
+ -Dpkg=OpenTelemetry.Trace
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
index 2bbf0139c6..adce8921ea 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
@@ -34,8 +34,6 @@
// This file has been auto generated from buildscripts/semantic-conventions{{template}}
-using System;
-
namespace {{pkg | trim}}
{
///
@@ -113,3 +111,4 @@ namespace {{pkg | trim}}
{% endfor %}
}
}
+
From ffa9c4773a39d35fd941307cf6740544c5e67cb6 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 16:28:46 +0000
Subject: [PATCH 06/26] Move to latest spec version
---
.../Logs/LogsSemanticConventions.cs | 70 -
.../PublicAPI.Unshipped.txt | 1514 +++--
.../Resource/ResourceSemanticConventions.cs | 1026 ----
.../SemanticConventionsAttributes.cs | 5448 +++++++++++++++++
.../Trace/TraceSemanticConventions.cs | 1876 ------
.../scripts/generate.ps1 | 42 +-
.../scripts/generate.sh | 44 +-
...j2 => SemanticConventionsAttributes.cs.j2} | 37 +-
8 files changed, 6450 insertions(+), 3607 deletions(-)
delete mode 100644 src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
delete mode 100644 src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
delete mode 100644 src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
rename src/OpenTelemetry.SemanticConventions/scripts/templates/{SemanticConventions.cs.j2 => SemanticConventionsAttributes.cs.j2} (67%)
diff --git a/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
deleted file mode 100644
index c0686f2c12..0000000000
--- a/src/OpenTelemetry.SemanticConventions/Logs/LogsSemanticConventions.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// Copyright The OpenTelemetry Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
-
-namespace OpenTelemetry.Logs
-{
- ///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
- ///
- ///
- /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
- ///
- public static class LogsSemanticConventions
- {
- ///
- /// The name identifies the event.
- ///
- public const string AttributeEventName = "event.name";
-
- ///
- /// The domain identifies the context in which an event happened. An event name is unique only within a domain.
- ///
- ///
- /// An event.name is supposed to be unique only in the context of an
- /// event.domain, so this allows for two events in different domains to
- /// have same event.name, yet be unrelated events.
- ///
- public const string AttributeEventDomain = "event.domain";
-
- ///
- /// Prefix for 'event'.
- ///
- public static readonly string PrefixEvent = "event";
-
- ///
- /// The domain identifies the context in which an event happened. An event name is unique only within a domain.
- ///
- public static class EventDomainValues
- {
- ///
- /// Events from browser apps.
- ///
- public const string Browser = "browser";
-
- ///
- /// Events from mobile apps.
- ///
- public const string Device = "device";
-
- ///
- /// Events from Kubernetes.
- ///
- public const string K8s = "k8s";
- }
- }
-}
diff --git a/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
index 5ea9dc66db..596f34fcbe 100644
--- a/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
@@ -1,534 +1,980 @@
-const OpenTelemetry.Logs.LogsSemanticConventions.AttributeEventDomain = "event.domain" -> string
-const OpenTelemetry.Logs.LogsSemanticConventions.AttributeEventName = "event.name" -> string
-const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.Browser = "browser" -> string
-const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.Device = "device" -> string
-const OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues.K8s = "k8s" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogGroupNames = "aws.log.group.names" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserBrands = "browser.brands" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserPlatform = "browser.platform" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeBrowserUserAgent = "browser.user_agent" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudAccountId = "cloud.account.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudPlatform = "cloud.platform" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudProvider = "cloud.provider" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeCloudRegion = "cloud.region" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerId = "container.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerImageName = "container.image.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerImageTag = "container.image.tag" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerName = "container.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeContainerRuntime = "container.runtime" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeploymentEnvironment = "deployment.environment" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceId = "device.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceManufacturer = "device.manufacturer" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceModelIdentifier = "device.model.identifier" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeDeviceModelName = "device.model.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasId = "faas.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasInstance = "faas.instance" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasMaxMemory = "faas.max_memory" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasName = "faas.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeFaasVersion = "faas.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostArch = "host.arch" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostId = "host.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageId = "host.image.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageName = "host.image.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostImageVersion = "host.image.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostName = "host.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeHostType = "host.type" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sClusterName = "k8s.cluster.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sContainerName = "k8s.container.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sCronjobName = "k8s.cronjob.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDeploymentName = "k8s.deployment.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sJobName = "k8s.job.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sJobUid = "k8s.job.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNamespaceName = "k8s.namespace.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNodeName = "k8s.node.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sNodeUid = "k8s.node.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sPodName = "k8s.pod.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sPodUid = "k8s.pod.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsDescription = "os.description" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsName = "os.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsType = "os.type" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeOsVersion = "os.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommand = "process.command" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommandArgs = "process.command_args" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessCommandLine = "process.command_line" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessExecutableName = "process.executable.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessExecutablePath = "process.executable.path" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessOwner = "process.owner" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessParentPid = "process.parent_pid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessPid = "process.pid" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeDescription = "process.runtime.description" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeName = "process.runtime.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeProcessRuntimeVersion = "process.runtime.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceInstanceId = "service.instance.id" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceName = "service.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceNamespace = "service.namespace" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeServiceVersion = "service.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetryAutoVersion = "telemetry.auto.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineDescription = "webengine.description" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineName = "webengine.name" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AttributeWebengineVersion = "webengine.version" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEcs = "aws_ecs" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsEks = "aws_eks" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AwsLambda = "aws_lambda" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureAks = "azure_aks" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureAppService = "azure_app_service" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureFunctions = "azure_functions" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.AzureVm = "azure_vm" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Aws = "aws" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Azure = "azure" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.Gcp = "gcp" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues.TencentCloud = "tencent_cloud" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Amd64 = "amd64" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Arm32 = "arm32" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Arm64 = "arm64" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ia64 = "ia64" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ppc32 = "ppc32" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.Ppc64 = "ppc64" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.S390x = "s390x" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues.X86 = "x86" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Aix = "aix" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Darwin = "darwin" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Freebsd = "freebsd" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Hpux = "hpux" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Linux = "linux" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Netbsd = "netbsd" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Openbsd = "openbsd" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Solaris = "solaris" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.Windows = "windows" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues.ZOs = "z_os" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Cpp = "cpp" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Erlang = "erlang" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Go = "go" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Java = "java" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Php = "php" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Python = "python" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Ruby = "ruby" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Swift = "swift" -> string
-const OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventId = "cloudevents.event_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCloudeventsEventType = "cloudevents.event_type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeFilepath = "code.filepath" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeFunction = "code.function" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeLineno = "code.lineno" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeCodeNamespace = "code.namespace" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbCassandraTable = "db.cassandra.table" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbConnectionString = "db.connection_string" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbInstance = "db.instance" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbMongodbCollection = "db.mongodb.collection" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbName = "db.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbOperation = "db.operation" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbSqlTable = "db.sql.table" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbStatement = "db.statement" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbSystem = "db.system" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeDbUser = "db.user" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserId = "enduser.id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserRole = "enduser.role" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeEnduserScope = "enduser.scope" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionEscaped = "exception.escaped" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionMessage = "exception.message" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionStacktrace = "exception.stacktrace" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeExceptionType = "exception.type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasColdstart = "faas.coldstart" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasCron = "faas.cron" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentCollection = "faas.document.collection" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentName = "faas.document.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentOperation = "faas.document.operation" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasDocumentTime = "faas.document.time" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasExecution = "faas.execution" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedName = "faas.invoked_name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasInvokedRegion = "faas.invoked_region" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasTime = "faas.time" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeFaasTrigger = "faas.trigger" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlDocument = "graphql.document" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlOperationName = "graphql.operation.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeGraphqlOperationType = "graphql.operation.type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpClientIp = "http.client_ip" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpFlavor = "http.flavor" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpMethod = "http.method" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRequestContentLength = "http.request_content_length" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpResponseContentLength = "http.response_content_length" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRetryCount = "http.retry_count" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpRoute = "http.route" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpScheme = "http.scheme" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpStatusCode = "http.status_code" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpTarget = "http.target" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpUrl = "http.url" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeHttpUserAgent = "http.user_agent" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageCompressedSize = "message.compressed_size" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageId = "message.id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageType = "message.type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingConsumerId = "messaging.consumer_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingConversationId = "messaging.conversation_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingDestination = "messaging.destination" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingDestinationKind = "messaging.destination_kind" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaClientId = "messaging.kafka.client_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer_group" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaMessageKey = "messaging.kafka.message_key" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaPartition = "messaging.kafka.partition" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingKafkaTombstone = "messaging.kafka.tombstone" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessageId = "messaging.message_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessagePayloadCompressedSizeBytes = "messaging.message_payload_compressed_size_bytes" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingMessagePayloadSizeBytes = "messaging.message_payload_size_bytes" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingOperation = "messaging.operation" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingProtocol = "messaging.protocol" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingProtocolVersion = "messaging.protocol_version" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRabbitmqRoutingKey = "messaging.rabbitmq.routing_key" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqClientId = "messaging.rocketmq.client_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message_keys" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message_tag" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message_type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingSystem = "messaging.system" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingTempDestination = "messaging.temp_destination" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeMessagingUrl = "messaging.url" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetAppProtocolName = "net.app.protocol.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetAppProtocolVersion = "net.app.protocol.version" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierIcc = "net.host.carrier.icc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierMcc = "net.host.carrier.mcc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierMnc = "net.host.carrier.mnc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostCarrierName = "net.host.carrier.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostConnectionSubtype = "net.host.connection.subtype" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostConnectionType = "net.host.connection.type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostName = "net.host.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetHostPort = "net.host.port" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetPeerName = "net.peer.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetPeerPort = "net.peer.port" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockFamily = "net.sock.family" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockHostAddr = "net.sock.host.addr" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockHostPort = "net.sock.host.port" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerName = "net.sock.peer.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetSockPeerPort = "net.sock.peer.port" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeNetTransport = "net.transport" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeOpentracingRefType = "opentracing.ref_type" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributePeerService = "peer.service" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcMethod = "rpc.method" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcService = "rpc.service" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeRpcSystem = "rpc.system" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeThreadId = "thread.id" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.AttributeThreadName = "thread.name" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.All = "all" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Any = "any" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.One = "one" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Serial = "serial" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Three = "three" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues.Two = "two" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Adabas = "adabas" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cache = "cache" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cassandra = "cassandra" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cloudscape = "cloudscape" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cockroachdb = "cockroachdb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Coldfusion = "coldfusion" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Cosmosdb = "cosmosdb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Couchbase = "couchbase" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Couchdb = "couchdb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Db2 = "db2" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Derby = "derby" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Dynamodb = "dynamodb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Edb = "edb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Elasticsearch = "elasticsearch" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Filemaker = "filemaker" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Firebird = "firebird" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Firstsql = "firstsql" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Geode = "geode" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.H2 = "h2" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hanadb = "hanadb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hbase = "hbase" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hive = "hive" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Hsqldb = "hsqldb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Informix = "informix" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Ingres = "ingres" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Instantdb = "instantdb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Interbase = "interbase" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mariadb = "mariadb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Maxdb = "maxdb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Memcached = "memcached" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mongodb = "mongodb" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mssql = "mssql" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Mysql = "mysql" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Neo4j = "neo4j" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Netezza = "netezza" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Opensearch = "opensearch" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Oracle = "oracle" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.OtherSql = "other_sql" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Pervasive = "pervasive" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Pointbase = "pointbase" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Postgresql = "postgresql" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Progress = "progress" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Redis = "redis" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Redshift = "redshift" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Sqlite = "sqlite" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Sybase = "sybase" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Teradata = "teradata" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues.Vertica = "vertica" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Delete = "delete" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Edit = "edit" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues.Insert = "insert" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Aws = "aws" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Azure = "azure" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.Gcp = "gcp" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Datasource = "datasource" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Http = "http" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Other = "other" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Pubsub = "pubsub" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues.Timer = "timer" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Mutation = "mutation" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Query = "query" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues.Subscription = "subscription" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http10 = "1.0" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http11 = "1.1" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http20 = "2.0" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Http30 = "3.0" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Quic = "QUIC" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues.Spdy = "SPDY" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues.Received = "RECEIVED" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues.Sent = "SENT" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues.Queue = "queue" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues.Topic = "topic" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues.Process = "process" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues.Receive = "receive" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Cdma = "cdma" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Edge = "edge" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Ehrpd = "ehrpd" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Evdo0 = "evdo_0" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.EvdoA = "evdo_a" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.EvdoB = "evdo_b" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Gprs = "gprs" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Gsm = "gsm" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hsdpa = "hsdpa" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hspa = "hspa" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hspap = "hspap" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Hsupa = "hsupa" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Iden = "iden" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Iwlan = "iwlan" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Lte = "lte" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.LteCa = "lte_ca" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Nr = "nr" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Nrnsa = "nrnsa" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.TdScdma = "td_scdma" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues.Umts = "umts" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Cell = "cell" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Unavailable = "unavailable" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Unknown = "unknown" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Wifi = "wifi" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues.Wired = "wired" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Inet = "inet" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Inet6 = "inet6" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues.Unix = "unix" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Inproc = "inproc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.IpTcp = "ip_tcp" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.IpUdp = "ip_udp" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Other = "other" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues.Pipe = "pipe" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues.ChildOf = "child_of" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Aborted = 10 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Cancelled = 1 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.DataLoss = 15 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Internal = 13 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.NotFound = 5 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Ok = 0 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unavailable = 14 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues.Unknown = 2 -> int
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.Grpc = "grpc" -> string
-const OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues.JavaRmi = "java_rmi" -> string
-OpenTelemetry.Logs.LogsSemanticConventions
-OpenTelemetry.Logs.LogsSemanticConventions.EventDomainValues
-OpenTelemetry.Resources.ResourceSemanticConventions
-OpenTelemetry.Resources.ResourceSemanticConventions.AwsEcsLaunchtypeValues
-OpenTelemetry.Resources.ResourceSemanticConventions.CloudPlatformValues
-OpenTelemetry.Resources.ResourceSemanticConventions.CloudProviderValues
-OpenTelemetry.Resources.ResourceSemanticConventions.HostArchValues
-OpenTelemetry.Resources.ResourceSemanticConventions.OsTypeValues
-OpenTelemetry.Resources.ResourceSemanticConventions.TelemetrySdkLanguageValues
-OpenTelemetry.Trace.TraceSemanticConventions
-OpenTelemetry.Trace.TraceSemanticConventions.DbCassandraConsistencyLevelValues
-OpenTelemetry.Trace.TraceSemanticConventions.DbSystemValues
-OpenTelemetry.Trace.TraceSemanticConventions.FaasDocumentOperationValues
-OpenTelemetry.Trace.TraceSemanticConventions.FaasInvokedProviderValues
-OpenTelemetry.Trace.TraceSemanticConventions.FaasTriggerValues
-OpenTelemetry.Trace.TraceSemanticConventions.GraphqlOperationTypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.HttpFlavorValues
-OpenTelemetry.Trace.TraceSemanticConventions.MessageTypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.MessagingDestinationKindValues
-OpenTelemetry.Trace.TraceSemanticConventions.MessagingOperationValues
-OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqConsumptionModelValues
-OpenTelemetry.Trace.TraceSemanticConventions.MessagingRocketmqMessageTypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionSubtypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.NetHostConnectionTypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.NetSockFamilyValues
-OpenTelemetry.Trace.TraceSemanticConventions.NetTransportValues
-OpenTelemetry.Trace.TraceSemanticConventions.OpentracingRefTypeValues
-OpenTelemetry.Trace.TraceSemanticConventions.RpcGrpcStatusCodeValues
-OpenTelemetry.Trace.TraceSemanticConventions.RpcSystemValues
-static readonly OpenTelemetry.Logs.LogsSemanticConventions.PrefixEvent -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsEcs -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsEks -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixAwsLog -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixBrowser -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixCloud -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixContainer -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixDeployment -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixDevice -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixFaasResource -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixHost -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sCluster -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sContainer -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sCronjob -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sDaemonset -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sDeployment -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sJob -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sNamespace -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sNode -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sPod -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sReplicaset -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixK8sStatefulset -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixOs -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixProcess -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixProcessRuntime -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixService -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixTelemetry -> string
-static readonly OpenTelemetry.Resources.ResourceSemanticConventions.PrefixWebengineResource -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.EventException -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.EventRpcMessage -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixAws -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixAwsLambda -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixCloudevents -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixCode -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDb -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbCassandra -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbMongodb -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbMssql -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbRedis -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDbSql -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixDynamodbShared -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixException -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixFaasSpan -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixFaasSpanDatasource -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixGraphql -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixHttp -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixIdentity -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessaging -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingKafka -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingRabbitmq -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixMessagingRocketmq -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixNetwork -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixOpentracing -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixPeer -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpc -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcGrpc -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcJsonrpc -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixRpcMessage -> string
-static readonly OpenTelemetry.Trace.TraceSemanticConventions.PrefixThread -> string
\ No newline at end of file
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Background = "background" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Created = "created" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Foreground = "foreground" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Aborted = "aborted" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Handled = "handled" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Skipped = "skipped" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Unhandled = "unhandled" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.Acquired = "acquired" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.EndpointLimiter = "endpoint_limiter" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.GlobalLimiter = "global_limiter" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.RequestCanceled = "request_canceled" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues.Failure = "failure" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues.Success = "success" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAndroidOsApiLevel = "android.os.api_level" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAndroidState = "android.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskId = "aws.ecs.task.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogGroupNames = "aws.log.group.names" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsRequestId = "aws.request_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Bucket = "aws.s3.bucket" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3CopySource = "aws.s3.copy_source" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Delete = "aws.s3.delete" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Key = "aws.s3.key" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3PartNumber = "aws.s3.part_number" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3UploadId = "aws.s3.upload_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserBrands = "browser.brands" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserLanguage = "browser.language" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserMobile = "browser.mobile" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserPlatform = "browser.platform" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeClientAddress = "client.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeClientPort = "client.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudAccountId = "cloud.account.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventId = "cloudevents.event_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventType = "cloudevents.event_type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudPlatform = "cloud.platform" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudProvider = "cloud.provider" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudRegion = "cloud.region" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudResourceId = "cloud.resource_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeColumn = "code.column" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeFilepath = "code.filepath" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeFunction = "code.function" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeLineno = "code.lineno" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeNamespace = "code.namespace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeStacktrace = "code.stacktrace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommand = "container.command" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommandArgs = "container.command_args" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommandLine = "container.command_line" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCpuState = "container.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerId = "container.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageId = "container.image.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageName = "container.image.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageRepoDigests = "container.image.repo_digests" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageTags = "container.image.tags" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerName = "container.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerRuntime = "container.runtime" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraTable = "db.cassandra.table" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbConnectionString = "db.connection_string" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbClientId = "db.cosmosdb.client_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbContainer = "db.cosmosdb.container" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbInstanceId = "db.instance.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbMongodbCollection = "db.mongodb.collection" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbName = "db.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbOperation = "db.operation" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbSqlTable = "db.sql.table" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbStatement = "db.statement" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbSystem = "db.system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbUser = "db.user" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeploymentEnvironment = "deployment.environment" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDestinationAddress = "destination.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDestinationPort = "destination.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceId = "device.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceManufacturer = "device.manufacturer" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceModelIdentifier = "device.model.identifier" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceModelName = "device.model.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDiskIoDirection = "disk.io.direction" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDnsQuestionName = "dns.question.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserId = "enduser.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserRole = "enduser.role" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserScope = "enduser.scope" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeErrorType = "error.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEventName = "event.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionEscaped = "exception.escaped" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionMessage = "exception.message" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionStacktrace = "exception.stacktrace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionType = "exception.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasColdstart = "faas.coldstart" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasCron = "faas.cron" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentCollection = "faas.document.collection" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentName = "faas.document.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentOperation = "faas.document.operation" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentTime = "faas.document.time" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInstance = "faas.instance" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvocationId = "faas.invocation_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedName = "faas.invoked_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedRegion = "faas.invoked_region" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasMaxMemory = "faas.max_memory" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasName = "faas.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasTime = "faas.time" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasTrigger = "faas.trigger" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasVersion = "faas.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagKey = "feature_flag.key" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagProviderName = "feature_flag.provider_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagVariant = "feature_flag.variant" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileDirectory = "file.directory" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileExtension = "file.extension" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileName = "file.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFilePath = "file.path" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileSize = "file.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpGceInstanceName = "gcp.gce.instance.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlDocument = "graphql.document" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlOperationName = "graphql.operation.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlOperationType = "graphql.operation.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuAppId = "heroku.app.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuReleaseCommit = "heroku.release.commit" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostArch = "host.arch" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuFamily = "host.cpu.family" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuModelId = "host.cpu.model.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuModelName = "host.cpu.model.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuStepping = "host.cpu.stepping" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuVendorId = "host.cpu.vendor.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostId = "host.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageId = "host.image.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageName = "host.image.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageVersion = "host.image.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostIp = "host.ip" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostMac = "host.mac" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostName = "host.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostType = "host.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpConnectionState = "http.connection.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpFlavor = "http.flavor" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpMethod = "http.method" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestBodySize = "http.request.body.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestContentLength = "http.request_content_length" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestMethod = "http.request.method" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestMethodOriginal = "http.request.method_original" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestResendCount = "http.request.resend_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestSize = "http.request.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseBodySize = "http.response.body.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseContentLength = "http.response_content_length" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseSize = "http.response.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseStatusCode = "http.response.status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRoute = "http.route" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpScheme = "http.scheme" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpStatusCode = "http.status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpTarget = "http.target" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpUrl = "http.url" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpUserAgent = "http.user_agent" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeIosState = "ios.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmBufferPoolName = "jvm.buffer.pool.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmGcAction = "jvm.gc.action" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmGcName = "jvm.gc.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmMemoryPoolName = "jvm.memory.pool.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmMemoryType = "jvm.memory.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmThreadDaemon = "jvm.thread.daemon" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmThreadState = "jvm.thread.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sClusterName = "k8s.cluster.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sClusterUid = "k8s.cluster.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sContainerName = "k8s.container.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sCronjobName = "k8s.cronjob.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDeploymentName = "k8s.deployment.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sJobName = "k8s.job.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sJobUid = "k8s.job.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNamespaceName = "k8s.namespace.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNodeName = "k8s.node.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNodeUid = "k8s.node.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sPodName = "k8s.pod.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sPodUid = "k8s.pod.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFileName = "log.file.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFileNameResolved = "log.file.name_resolved" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFilePath = "log.file.path" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFilePathResolved = "log.file.path_resolved" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogIostream = "log.iostream" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogRecordUid = "log.record.uid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageCompressedSize = "message.compressed_size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageId = "message.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageType = "message.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingBatchMessageCount = "messaging.batch.message_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingClientId = "messaging.client_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationName = "messaging.destination.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPublishName = "messaging.destination_publish.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationTemplate = "messaging.destination.template" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationTemporary = "messaging.destination.temporary" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageBodySize = "messaging.message.body.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageConversationId = "messaging.message.conversation_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageId = "messaging.message.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingOperation = "messaging.operation" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingSystem = "messaging.system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetHostName = "net.host.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetHostPort = "net.host.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetPeerName = "net.peer.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetPeerPort = "net.peer.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetProtocolName = "net.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetProtocolVersion = "net.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockFamily = "net.sock.family" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockHostAddr = "net.sock.host.addr" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockHostPort = "net.sock.host.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerName = "net.sock.peer.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerPort = "net.sock.peer.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetTransport = "net.transport" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierIcc = "network.carrier.icc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierMcc = "network.carrier.mcc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierMnc = "network.carrier.mnc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierName = "network.carrier.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkConnectionSubtype = "network.connection.subtype" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkConnectionType = "network.connection.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkIoDirection = "network.io.direction" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkLocalAddress = "network.local.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkLocalPort = "network.local.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkPeerAddress = "network.peer.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkPeerPort = "network.peer.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkProtocolName = "network.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkProtocolVersion = "network.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkTransport = "network.transport" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkType = "network.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOciManifestDigest = "oci.manifest.digest" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOpentracingRefType = "opentracing.ref_type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsBuildId = "os.build_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsDescription = "os.description" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsName = "os.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsType = "os.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsVersion = "os.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelLibraryName = "otel.library.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelLibraryVersion = "otel.library.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelScopeName = "otel.scope.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelScopeVersion = "otel.scope.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelStatusCode = "otel.status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelStatusDescription = "otel.status_description" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributePeerService = "peer.service" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributePoolName = "pool.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommand = "process.command" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommandArgs = "process.command_args" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommandLine = "process.command_line" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessContextSwitchType = "process.context_switch_type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCpuState = "process.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessExecutableName = "process.executable.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessExecutablePath = "process.executable.path" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessOwner = "process.owner" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessPagingFaultType = "process.paging.fault_type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessParentPid = "process.parent_pid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessPid = "process.pid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeDescription = "process.runtime.description" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeName = "process.runtime.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeVersion = "process.runtime.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcMethod = "rpc.method" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcService = "rpc.service" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcSystem = "rpc.system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServerAddress = "server.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServerPort = "server.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceInstanceId = "service.instance.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceName = "service.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceNamespace = "service.namespace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceVersion = "service.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSessionId = "session.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSessionPreviousId = "session.previous_id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSignalrConnectionStatus = "signalr.connection.status" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSignalrTransport = "signalr.transport" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSourceAddress = "source.address" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSourcePort = "source.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeState = "state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemCpuLogicalNumber = "system.cpu.logical_number" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemCpuState = "system.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemDevice = "system.device" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemMode = "system.filesystem.mode" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemState = "system.filesystem.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemType = "system.filesystem.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemMemoryState = "system.memory.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemNetworkState = "system.network.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingDirection = "system.paging.direction" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingState = "system.paging.state" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingType = "system.paging.type" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemProcessesStatus = "system.processes.status" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemProcessStatus = "system.process.status" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetryDistroName = "telemetry.distro.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetryDistroVersion = "telemetry.distro.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeThreadId = "thread.id" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeThreadName = "thread.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsCipher = "tls.cipher" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientCertificate = "tls.client.certificate" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientCertificateChain = "tls.client.certificate_chain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashMd5 = "tls.client.hash.md5" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashSha1 = "tls.client.hash.sha1" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashSha256 = "tls.client.hash.sha256" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientIssuer = "tls.client.issuer" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientJa3 = "tls.client.ja3" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientNotAfter = "tls.client.not_after" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientNotBefore = "tls.client.not_before" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientServerName = "tls.client.server_name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientSubject = "tls.client.subject" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsCurve = "tls.curve" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsEstablished = "tls.established" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsNextProtocol = "tls.next_protocol" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsProtocolName = "tls.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsProtocolVersion = "tls.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsResumed = "tls.resumed" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerCertificate = "tls.server.certificate" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerCertificateChain = "tls.server.certificate_chain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashMd5 = "tls.server.hash.md5" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashSha1 = "tls.server.hash.sha1" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashSha256 = "tls.server.hash.sha256" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerIssuer = "tls.server.issuer" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerJa3s = "tls.server.ja3s" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerNotAfter = "tls.server.not_after" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerNotBefore = "tls.server.not_before" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerSubject = "tls.server.subject" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlDomain = "url.domain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlExtension = "url.extension" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlFragment = "url.fragment" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlFull = "url.full" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlOriginal = "url.original" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlPath = "url.path" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlPort = "url.port" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlQuery = "url.query" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlRegisteredDomain = "url.registered_domain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlScheme = "url.scheme" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlSubdomain = "url.subdomain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlTopLevelDomain = "url.top_level_domain" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentName = "user_agent.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentOriginal = "user_agent.original" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentVersion = "user_agent.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineDescription = "webengine.description" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineName = "webengine.name" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineVersion = "webengine.version" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudOpenshift = "alibaba_cloud_openshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEcs = "aws_ecs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEks = "aws_eks" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsLambda = "aws_lambda" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsOpenshift = "aws_openshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureAks = "azure_aks" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureAppService = "azure_app_service" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureContainerApps = "azure_container_apps" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureFunctions = "azure_functions" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureOpenshift = "azure_openshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureVm = "azure_vm" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpBareMetalSolution = "gcp_bare_metal_solution" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpOpenshift = "gcp_openshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.IbmCloudOpenshift = "ibm_cloud_openshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Aws = "aws" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Azure = "azure" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Heroku = "heroku" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.IbmCloud = "ibm_cloud" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.Kernel = "kernel" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.All = "all" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Any = "any" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.One = "one" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Serial = "serial" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Three = "three" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Two = "two" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues.Direct = "direct" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues.Gateway = "gateway" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Batch = "Batch" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Create = "Create" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Delete = "Delete" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Execute = "Execute" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.ExecuteJavascript = "ExecuteJavaScript" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Head = "Head" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.HeadFeed = "HeadFeed" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Invalid = "Invalid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Patch = "Patch" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Query = "Query" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.QueryPlan = "QueryPlan" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Read = "Read" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.ReadFeed = "ReadFeed" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Replace = "Replace" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Upsert = "Upsert" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Adabas = "adabas" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cache = "cache" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cassandra = "cassandra" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Clickhouse = "clickhouse" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cloudscape = "cloudscape" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cockroachdb = "cockroachdb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Coldfusion = "coldfusion" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cosmosdb = "cosmosdb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Couchbase = "couchbase" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Couchdb = "couchdb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Db2 = "db2" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Derby = "derby" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Dynamodb = "dynamodb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Edb = "edb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Elasticsearch = "elasticsearch" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Filemaker = "filemaker" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Firebird = "firebird" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Firstsql = "firstsql" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Geode = "geode" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.H2 = "h2" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hanadb = "hanadb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hbase = "hbase" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hive = "hive" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hsqldb = "hsqldb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Informix = "informix" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Ingres = "ingres" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Instantdb = "instantdb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Interbase = "interbase" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mariadb = "mariadb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Maxdb = "maxdb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Memcached = "memcached" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mongodb = "mongodb" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mssql = "mssql" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mssqlcompact = "mssqlcompact" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mysql = "mysql" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Neo4j = "neo4j" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Netezza = "netezza" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Opensearch = "opensearch" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Oracle = "oracle" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.OtherSql = "other_sql" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Pervasive = "pervasive" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Pointbase = "pointbase" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Postgresql = "postgresql" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Progress = "progress" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Redis = "redis" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Redshift = "redshift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Spanner = "spanner" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Sqlite = "sqlite" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Sybase = "sybase" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Teradata = "teradata" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Trino = "trino" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Vertica = "vertica" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues.Read = "read" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues.Write = "write" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ErrorTypeValues.Other = "_OTHER" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Delete = "delete" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Edit = "edit" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Insert = "insert" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Aws = "aws" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Azure = "azure" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Datasource = "datasource" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Http = "http" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Other = "other" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Pubsub = "pubsub" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Timer = "timer" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Mutation = "mutation" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Query = "query" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Subscription = "subscription" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Amd64 = "amd64" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Arm32 = "arm32" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Arm64 = "arm64" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ia64 = "ia64" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ppc32 = "ppc32" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ppc64 = "ppc64" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.S390x = "s390x" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.X86 = "x86" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues.Active = "active" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http10 = "1.0" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http11 = "1.1" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http20 = "2.0" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http30 = "3.0" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Quic = "QUIC" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Spdy = "SPDY" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Connect = "CONNECT" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Delete = "DELETE" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Get = "GET" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Head = "HEAD" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Options = "OPTIONS" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Other = "_OTHER" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Patch = "PATCH" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Post = "POST" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Put = "PUT" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Trace = "TRACE" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Active = "active" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Background = "background" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Foreground = "foreground" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Inactive = "inactive" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Terminate = "terminate" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues.Heap = "heap" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues.NonHeap = "non_heap" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Blocked = "blocked" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.New = "new" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Runnable = "runnable" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Terminated = "terminated" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.TimedWaiting = "timed_waiting" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Waiting = "waiting" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues.Stderr = "stderr" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues.Stdout = "stdout" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues.Received = "RECEIVED" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues.Sent = "SENT" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Create = "create" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Deliver = "process" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Publish = "publish" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Receive = "receive" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Settle = "settle" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Abandon = "abandon" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Complete = "complete" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.DeadLetter = "dead_letter" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Defer = "defer" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Activemq = "activemq" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.AwsSqs = "aws_sqs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Eventgrid = "eventgrid" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Eventhubs = "eventhubs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.GcpPubsub = "gcp_pubsub" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Jms = "jms" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Kafka = "kafka" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Rabbitmq = "rabbitmq" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Rocketmq = "rocketmq" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Servicebus = "servicebus" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Inet = "inet" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Inet6 = "inet6" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Unix = "unix" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Inproc = "inproc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.IpTcp = "ip_tcp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.IpUdp = "ip_udp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Other = "other" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Pipe = "pipe" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Cdma = "cdma" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Edge = "edge" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Ehrpd = "ehrpd" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Evdo0 = "evdo_0" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.EvdoA = "evdo_a" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.EvdoB = "evdo_b" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Gprs = "gprs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Gsm = "gsm" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hsdpa = "hsdpa" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hspa = "hspa" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hspap = "hspap" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hsupa = "hsupa" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Iden = "iden" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Iwlan = "iwlan" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Lte = "lte" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.LteCa = "lte_ca" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Nr = "nr" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Nrnsa = "nrnsa" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.TdScdma = "td_scdma" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Umts = "umts" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Cell = "cell" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Unavailable = "unavailable" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Unknown = "unknown" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Wifi = "wifi" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Wired = "wired" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues.Receive = "receive" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues.Transmit = "transmit" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Pipe = "pipe" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Tcp = "tcp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Udp = "udp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Unix = "unix" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues.Ipv4 = "ipv4" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues.Ipv6 = "ipv6" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues.ChildOf = "child_of" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Aix = "aix" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Darwin = "darwin" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Freebsd = "freebsd" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Hpux = "hpux" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Linux = "linux" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Netbsd = "netbsd" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Openbsd = "openbsd" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Solaris = "solaris" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Windows = "windows" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.ZOs = "z_os" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues.Error = "ERROR" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues.Ok = "OK" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues.Involuntary = "involuntary" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues.Voluntary = "voluntary" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.Wait = "wait" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues.Major = "major" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues.Minor = "minor" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Aborted = "aborted" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.AlreadyExists = "already_exists" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Cancelled = "cancelled" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.DataLoss = "data_loss" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.DeadlineExceeded = "deadline_exceeded" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.FailedPrecondition = "failed_precondition" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Internal = "internal" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.InvalidArgument = "invalid_argument" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.NotFound = "not_found" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.OutOfRange = "out_of_range" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.PermissionDenied = "permission_denied" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.ResourceExhausted = "resource_exhausted" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unauthenticated = "unauthenticated" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unavailable = "unavailable" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unimplemented = "unimplemented" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unknown = "unknown" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Aborted = 10 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Cancelled = 1 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.DataLoss = 15 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Internal = 13 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.NotFound = 5 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Ok = 0 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unavailable = 14 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unknown = 2 -> int
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.ConnectRpc = "connect_rpc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.Grpc = "grpc" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.JavaRmi = "java_rmi" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.AppShutdown = "app_shutdown" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.NormalClosure = "normal_closure" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.Timeout = "timeout" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.LongPolling = "long_polling" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.ServerSentEvents = "server_sent_events" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.WebSockets = "web_sockets" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Interrupt = "interrupt" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Iowait = "iowait" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Nice = "nice" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Steal = "steal" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Reserved = "reserved" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Exfat = "exfat" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Ext4 = "ext4" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Fat32 = "fat32" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Hfsplus = "hfsplus" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Ntfs = "ntfs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Refs = "refs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Buffers = "buffers" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Cached = "cached" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Shared = "shared" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Close = "close" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.CloseWait = "close_wait" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Closing = "closing" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Delete = "delete" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Established = "established" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.FinWait1 = "fin_wait_1" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.FinWait2 = "fin_wait_2" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.LastAck = "last_ack" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Listen = "listen" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.SynRecv = "syn_recv" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.SynSent = "syn_sent" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.TimeWait = "time_wait" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues.In = "in" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues.Out = "out" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues.Major = "major" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues.Minor = "minor" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Defunct = "defunct" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Running = "running" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Sleeping = "sleeping" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Stopped = "stopped" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Defunct = "defunct" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Running = "running" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Sleeping = "sleeping" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Stopped = "stopped" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Cpp = "cpp" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Erlang = "erlang" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Go = "go" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Java = "java" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Php = "php" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Python = "python" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Ruby = "ruby" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Rust = "rust" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Swift = "swift" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Ssl = "ssl" -> string
+const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Tls = "tls" -> string
+OpenTelemetry.SemanticConventions.MyService
+OpenTelemetry.SemanticConventions.MyService.MyService() -> void
+OpenTelemetry.SemanticConventions.MyService.Process() -> void
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ErrorTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues
+OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventAndroidLifecycleEvents -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventFeatureFlag -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventIosLifecycleEvents -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventLogFeatureFlag -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventRpcMessage -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventTraceException -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAndroidLifecycleEvents -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAspnetcore -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesFaasCommon -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesHttpDeprecated -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesJvmBuffer -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesLog -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesLogFile -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesNetworkDeprecated -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesProcessCpu -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystem -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemCpu -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemFilesystem -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemMemory -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemNetwork -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemPaging -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemProcess -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAws -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsEcs -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsEks -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsLambda -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsLog -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsS3 -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixDbCosmosdb -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixEvent -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixFaasSpanDatasource -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixGraphql -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixHeroku -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixHostCpu -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixIosLifecycleEvents -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sCluster -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sContainer -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sCronjob -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sDaemonset -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sDeployment -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sJob -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sNamespace -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sNode -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sPod -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sReplicaset -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sStatefulset -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixLogException -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixLogRecord -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMessagingAttributesCommon -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMessagingDestinationPublish -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricJvmGcDuration -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricJvmMemoryInit -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricProcessDiskIo -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixNetworkCore -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOpentracing -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelLibrary -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelScope -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelSpan -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixPeer -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixProcessRuntime -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryAwsDynamodb -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryBrowser -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryClient -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCloud -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCloudevents -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCode -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryContainer -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDb -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDeployment -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDestination -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDevice -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDisk -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDns -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryEnduser -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryError -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryFeatureFlag -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryFile -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryGcpCloudRun -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryGcpGce -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryHost -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryK8s -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryOciManifest -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryOs -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryProcess -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryRpc -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryServer -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryService -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistrySession -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistrySource -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryTelemetry -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryThread -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryTls -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryUrl -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryUserAgent -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRpcJsonrpc -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRpcMessage -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixSignalrCommonAttributes -> string
+static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixWebengineResource -> string
\ No newline at end of file
diff --git a/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
deleted file mode 100644
index 2d98f0a23e..0000000000
--- a/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs
+++ /dev/null
@@ -1,1026 +0,0 @@
-//
-// Copyright The OpenTelemetry Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
-
-namespace OpenTelemetry.Resources
-{
- ///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
- /// .
- ///
- ///
- /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
- ///
- public static class ResourceSemanticConventions
- {
- ///
- /// Array of brand name and version separated by a space.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
- ///
- public const string AttributeBrowserBrands = "browser.brands";
-
- ///
- /// The platform on which the browser is running.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
- /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
- ///
- public const string AttributeBrowserPlatform = "browser.platform";
-
- ///
- /// Full user-agent string provided by the browser.
- ///
- ///
- /// The user-agent value SHOULD be provided only from browsers that do not have a mechanism to retrieve brands and platform individually from the User-Agent Client Hints API. To retrieve the value, the legacy navigator.userAgent API can be used.
- ///
- public const string AttributeBrowserUserAgent = "browser.user_agent";
-
- ///
- /// Name of the cloud provider.
- ///
- public const string AttributeCloudProvider = "cloud.provider";
-
- ///
- /// The cloud account ID the resource is assigned to.
- ///
- public const string AttributeCloudAccountId = "cloud.account.id";
-
- ///
- /// The geographical region the resource is running.
- ///
- ///
- /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
- ///
- public const string AttributeCloudRegion = "cloud.region";
-
- ///
- /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
- ///
- ///
- /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
- ///
- public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
-
- ///
- /// The cloud platform in use.
- ///
- ///
- /// The prefix of the service SHOULD match the one specified in cloud.provider.
- ///
- public const string AttributeCloudPlatform = "cloud.platform";
-
- ///
- /// The Amazon Resource Name (ARN) of an ECS container instance.
- ///
- public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
-
- ///
- /// The ARN of an ECS cluster.
- ///
- public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
-
- ///
- /// The launch type for an ECS task.
- ///
- public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
-
- ///
- /// The ARN of an ECS task definition.
- ///
- public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
-
- ///
- /// The task definition family this task definition is a member of.
- ///
- public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
-
- ///
- /// The revision for this task definition.
- ///
- public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
-
- ///
- /// The ARN of an EKS cluster.
- ///
- public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
-
- ///
- /// The name(s) of the AWS log group(s) an application is writing to.
- ///
- ///
- /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
- ///
- public const string AttributeAwsLogGroupNames = "aws.log.group.names";
-
- ///
- /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
- ///
- ///
- /// See the log group ARN format documentation.
- ///
- public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
-
- ///
- /// The name(s) of the AWS log stream(s) an application is writing to.
- ///
- public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
-
- ///
- /// The ARN(s) of the AWS log stream(s).
- ///
- ///
- /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
- ///
- public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
-
- ///
- /// Container name used by container runtime.
- ///
- public const string AttributeContainerName = "container.name";
-
- ///
- /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
- ///
- public const string AttributeContainerId = "container.id";
-
- ///
- /// The container runtime managing this container.
- ///
- public const string AttributeContainerRuntime = "container.runtime";
-
- ///
- /// Name of the image the container was built on.
- ///
- public const string AttributeContainerImageName = "container.image.name";
-
- ///
- /// Container image tag.
- ///
- public const string AttributeContainerImageTag = "container.image.tag";
-
- ///
- /// Name of the deployment environment (aka deployment tier).
- ///
- public const string AttributeDeploymentEnvironment = "deployment.environment";
-
- ///
- /// A unique identifier representing the device.
- ///
- ///
- /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
- ///
- public const string AttributeDeviceId = "device.id";
-
- ///
- /// The model identifier for the device.
- ///
- ///
- /// It's recommended this value represents a machine readable version of the model identifier rather than the market or consumer-friendly name of the device.
- ///
- public const string AttributeDeviceModelIdentifier = "device.model.identifier";
-
- ///
- /// The marketing name for the device model.
- ///
- ///
- /// It's recommended this value represents a human readable version of the device model rather than a machine readable alternative.
- ///
- public const string AttributeDeviceModelName = "device.model.name";
-
- ///
- /// The name of the device manufacturer.
- ///
- ///
- /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
- ///
- public const string AttributeDeviceManufacturer = "device.manufacturer";
-
- ///
- /// The name of the single function that this runtime instance executes.
- ///
- ///
- /// This is the name of the function as configured/deployed on the FaaS
- /// platform and is usually different from the name of the callback
- /// function (which may be stored in the
- /// code.namespace/code.function
- /// span attributes).For some cloud providers, the above definition is ambiguous. The following
- /// definition of function name MUST be used for this attribute
- /// (and consequently the span name) for the listed cloud providers/products:
- /// - Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name
- /// followed by a forward slash followed by the function name (this form
- /// can also be seen in the resource JSON for the function).
- /// This means that a span attribute MUST be used, as an Azure function
- /// app can host multiple functions that would usually share
- /// a TracerProvider (see also the faas.id attribute)
- ///
.
- ///
- public const string AttributeFaasName = "faas.name";
-
- ///
- /// The unique ID of the single function that this runtime instance executes.
- ///
- ///
- /// On some cloud providers, it may not be possible to determine the full ID at startup,
- /// so consider setting faas.id as a span attribute instead.The exact value to use for faas.id depends on the cloud provider:
- /// - AWS Lambda: The function ARN.
- /// Take care not to use the "invoked ARN" directly but replace any
- /// alias suffix
- /// with the resolved function version, as the same runtime instance may be invokable with
- /// multiple different aliases.
- /// - GCP: The URI of the resource
- /// - Azure: The Fully Qualified Resource ID of the invoked function,
- /// not the function app, having the form
- /// /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>.
- /// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
- /// a TracerProvider
- ///
.
- ///
- public const string AttributeFaasId = "faas.id";
-
- ///
- /// The immutable version of the function being executed.
- ///
- ///
- /// Depending on the cloud provider and platform, use:
- /// - AWS Lambda: The function version
- /// (an integer represented as a decimal string).
- /// - Google Cloud Run: The revision
- /// (i.e., the function name plus the revision suffix).
- /// - Google Cloud Functions: The value of the
- /// K_REVISION environment variable.
- /// - Azure Functions: Not applicable. Do not set this attribute
- ///
.
- ///
- public const string AttributeFaasVersion = "faas.version";
-
- ///
- /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
- ///
- ///
- ///
- /// - AWS Lambda: Use the (full) log stream name
- ///
.
- ///
- public const string AttributeFaasInstance = "faas.instance";
-
- ///
- /// The amount of memory available to the serverless function in MiB.
- ///
- ///
- /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information.
- ///
- public const string AttributeFaasMaxMemory = "faas.max_memory";
-
- ///
- /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider.
- ///
- public const string AttributeHostId = "host.id";
-
- ///
- /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
- ///
- public const string AttributeHostName = "host.name";
-
- ///
- /// Type of host. For Cloud, this must be the machine type.
- ///
- public const string AttributeHostType = "host.type";
-
- ///
- /// The CPU architecture the host system is running on.
- ///
- public const string AttributeHostArch = "host.arch";
-
- ///
- /// Name of the VM image or OS install the host was instantiated from.
- ///
- public const string AttributeHostImageName = "host.image.name";
-
- ///
- /// VM image ID. For Cloud, this value is from the provider.
- ///
- public const string AttributeHostImageId = "host.image.id";
-
- ///
- /// The version string of the VM image as defined in Version Attributes.
- ///
- public const string AttributeHostImageVersion = "host.image.version";
-
- ///
- /// The name of the cluster.
- ///
- public const string AttributeK8sClusterName = "k8s.cluster.name";
-
- ///
- /// The name of the Node.
- ///
- public const string AttributeK8sNodeName = "k8s.node.name";
-
- ///
- /// The UID of the Node.
- ///
- public const string AttributeK8sNodeUid = "k8s.node.uid";
-
- ///
- /// The name of the namespace that the pod is running in.
- ///
- public const string AttributeK8sNamespaceName = "k8s.namespace.name";
-
- ///
- /// The UID of the Pod.
- ///
- public const string AttributeK8sPodUid = "k8s.pod.uid";
-
- ///
- /// The name of the Pod.
- ///
- public const string AttributeK8sPodName = "k8s.pod.name";
-
- ///
- /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
- ///
- public const string AttributeK8sContainerName = "k8s.container.name";
-
- ///
- /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
- ///
- public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
-
- ///
- /// The UID of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
-
- ///
- /// The name of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
-
- ///
- /// The UID of the Deployment.
- ///
- public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
-
- ///
- /// The name of the Deployment.
- ///
- public const string AttributeK8sDeploymentName = "k8s.deployment.name";
-
- ///
- /// The UID of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
-
- ///
- /// The name of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
-
- ///
- /// The UID of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
-
- ///
- /// The name of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
-
- ///
- /// The UID of the Job.
- ///
- public const string AttributeK8sJobUid = "k8s.job.uid";
-
- ///
- /// The name of the Job.
- ///
- public const string AttributeK8sJobName = "k8s.job.name";
-
- ///
- /// The UID of the CronJob.
- ///
- public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
-
- ///
- /// The name of the CronJob.
- ///
- public const string AttributeK8sCronjobName = "k8s.cronjob.name";
-
- ///
- /// The operating system type.
- ///
- public const string AttributeOsType = "os.type";
-
- ///
- /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
- ///
- public const string AttributeOsDescription = "os.description";
-
- ///
- /// Human readable operating system name.
- ///
- public const string AttributeOsName = "os.name";
-
- ///
- /// The version string of the operating system as defined in Version Attributes.
- ///
- public const string AttributeOsVersion = "os.version";
-
- ///
- /// Process identifier (PID).
- ///
- public const string AttributeProcessPid = "process.pid";
-
- ///
- /// Parent Process identifier (PID).
- ///
- public const string AttributeProcessParentPid = "process.parent_pid";
-
- ///
- /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutableName = "process.executable.name";
-
- ///
- /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutablePath = "process.executable.path";
-
- ///
- /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
- ///
- public const string AttributeProcessCommand = "process.command";
-
- ///
- /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
- ///
- public const string AttributeProcessCommandLine = "process.command_line";
-
- ///
- /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
- ///
- public const string AttributeProcessCommandArgs = "process.command_args";
-
- ///
- /// The username of the user that owns the process.
- ///
- public const string AttributeProcessOwner = "process.owner";
-
- ///
- /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
- ///
- public const string AttributeProcessRuntimeName = "process.runtime.name";
-
- ///
- /// The version of the runtime of this process, as returned by the runtime without modification.
- ///
- public const string AttributeProcessRuntimeVersion = "process.runtime.version";
-
- ///
- /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
- ///
- public const string AttributeProcessRuntimeDescription = "process.runtime.description";
-
- ///
- /// Logical name of the service.
- ///
- ///
- /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
- ///
- public const string AttributeServiceName = "service.name";
-
- ///
- /// A namespace for service.name.
- ///
- ///
- /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
- ///
- public const string AttributeServiceNamespace = "service.namespace";
-
- ///
- /// The string ID of the service instance.
- ///
- ///
- /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent and stay the same for the lifetime of the service instance, however it is acceptable that the ID is ephemeral and changes during important lifetime events for the service (e.g. service restarts). If the service has no inherent unique ID that can be used as the value of this attribute it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use Version 5, see RFC 4122 for more recommendations).
- ///
- public const string AttributeServiceInstanceId = "service.instance.id";
-
- ///
- /// The version string of the service API or implementation.
- ///
- public const string AttributeServiceVersion = "service.version";
-
- ///
- /// The name of the telemetry SDK as defined above.
- ///
- public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
-
- ///
- /// The language of the telemetry SDK.
- ///
- public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
-
- ///
- /// The version string of the telemetry SDK.
- ///
- public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
-
- ///
- /// The version string of the auto instrumentation agent, if used.
- ///
- public const string AttributeTelemetryAutoVersion = "telemetry.auto.version";
-
- ///
- /// The name of the web engine.
- ///
- public const string AttributeWebengineName = "webengine.name";
-
- ///
- /// The version of the web engine.
- ///
- public const string AttributeWebengineVersion = "webengine.version";
-
- ///
- /// Additional description of the web engine (e.g. detailed version and edition information).
- ///
- public const string AttributeWebengineDescription = "webengine.description";
-
- ///
- /// Prefix for 'browser'.
- ///
- public static readonly string PrefixBrowser = "browser";
-
- ///
- /// Prefix for 'cloud'.
- ///
- public static readonly string PrefixCloud = "cloud";
-
- ///
- /// Prefix for 'aws.ecs'.
- ///
- public static readonly string PrefixAwsEcs = "aws.ecs";
-
- ///
- /// Prefix for 'aws.eks'.
- ///
- public static readonly string PrefixAwsEks = "aws.eks";
-
- ///
- /// Prefix for 'aws.log'.
- ///
- public static readonly string PrefixAwsLog = "aws.log";
-
- ///
- /// Prefix for 'container'.
- ///
- public static readonly string PrefixContainer = "container";
-
- ///
- /// Prefix for 'deployment'.
- ///
- public static readonly string PrefixDeployment = "deployment";
-
- ///
- /// Prefix for 'device'.
- ///
- public static readonly string PrefixDevice = "device";
-
- ///
- /// Prefix for 'faas_resource'.
- ///
- public static readonly string PrefixFaasResource = "faas";
-
- ///
- /// Prefix for 'host'.
- ///
- public static readonly string PrefixHost = "host";
-
- ///
- /// Prefix for 'k8s.cluster'.
- ///
- public static readonly string PrefixK8sCluster = "k8s.cluster";
-
- ///
- /// Prefix for 'k8s.node'.
- ///
- public static readonly string PrefixK8sNode = "k8s.node";
-
- ///
- /// Prefix for 'k8s.namespace'.
- ///
- public static readonly string PrefixK8sNamespace = "k8s.namespace";
-
- ///
- /// Prefix for 'k8s.pod'.
- ///
- public static readonly string PrefixK8sPod = "k8s.pod";
-
- ///
- /// Prefix for 'k8s.container'.
- ///
- public static readonly string PrefixK8sContainer = "k8s.container";
-
- ///
- /// Prefix for 'k8s.replicaset'.
- ///
- public static readonly string PrefixK8sReplicaset = "k8s.replicaset";
-
- ///
- /// Prefix for 'k8s.deployment'.
- ///
- public static readonly string PrefixK8sDeployment = "k8s.deployment";
-
- ///
- /// Prefix for 'k8s.statefulset'.
- ///
- public static readonly string PrefixK8sStatefulset = "k8s.statefulset";
-
- ///
- /// Prefix for 'k8s.daemonset'.
- ///
- public static readonly string PrefixK8sDaemonset = "k8s.daemonset";
-
- ///
- /// Prefix for 'k8s.job'.
- ///
- public static readonly string PrefixK8sJob = "k8s.job";
-
- ///
- /// Prefix for 'k8s.cronjob'.
- ///
- public static readonly string PrefixK8sCronjob = "k8s.cronjob";
-
- ///
- /// Prefix for 'os'.
- ///
- public static readonly string PrefixOs = "os";
-
- ///
- /// Prefix for 'process'.
- ///
- public static readonly string PrefixProcess = "process";
-
- ///
- /// Prefix for 'process.runtime'.
- ///
- public static readonly string PrefixProcessRuntime = "process.runtime";
-
- ///
- /// Prefix for 'service'.
- ///
- public static readonly string PrefixService = "service";
-
- ///
- /// Prefix for 'telemetry'.
- ///
- public static readonly string PrefixTelemetry = "telemetry";
-
- ///
- /// Prefix for 'webengine_resource'.
- ///
- public static readonly string PrefixWebengineResource = "webengine";
-
- ///
- /// Name of the cloud provider.
- ///
- public static class CloudProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
-
- ///
- /// The cloud platform in use.
- ///
- public static class CloudPlatformValues
- {
- ///
- /// Alibaba Cloud Elastic Compute Service.
- ///
- public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
-
- ///
- /// Alibaba Cloud Function Compute.
- ///
- public const string AlibabaCloudFc = "alibaba_cloud_fc";
-
- ///
- /// AWS Elastic Compute Cloud.
- ///
- public const string AwsEc2 = "aws_ec2";
-
- ///
- /// AWS Elastic Container Service.
- ///
- public const string AwsEcs = "aws_ecs";
-
- ///
- /// AWS Elastic Kubernetes Service.
- ///
- public const string AwsEks = "aws_eks";
-
- ///
- /// AWS Lambda.
- ///
- public const string AwsLambda = "aws_lambda";
-
- ///
- /// AWS Elastic Beanstalk.
- ///
- public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
-
- ///
- /// AWS App Runner.
- ///
- public const string AwsAppRunner = "aws_app_runner";
-
- ///
- /// Azure Virtual Machines.
- ///
- public const string AzureVm = "azure_vm";
-
- ///
- /// Azure Container Instances.
- ///
- public const string AzureContainerInstances = "azure_container_instances";
-
- ///
- /// Azure Kubernetes Service.
- ///
- public const string AzureAks = "azure_aks";
-
- ///
- /// Azure Functions.
- ///
- public const string AzureFunctions = "azure_functions";
-
- ///
- /// Azure App Service.
- ///
- public const string AzureAppService = "azure_app_service";
-
- ///
- /// Google Cloud Compute Engine (GCE).
- ///
- public const string GcpComputeEngine = "gcp_compute_engine";
-
- ///
- /// Google Cloud Run.
- ///
- public const string GcpCloudRun = "gcp_cloud_run";
-
- ///
- /// Google Cloud Kubernetes Engine (GKE).
- ///
- public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
-
- ///
- /// Google Cloud Functions (GCF).
- ///
- public const string GcpCloudFunctions = "gcp_cloud_functions";
-
- ///
- /// Google Cloud App Engine (GAE).
- ///
- public const string GcpAppEngine = "gcp_app_engine";
-
- ///
- /// Tencent Cloud Cloud Virtual Machine (CVM).
- ///
- public const string TencentCloudCvm = "tencent_cloud_cvm";
-
- ///
- /// Tencent Cloud Elastic Kubernetes Service (EKS).
- ///
- public const string TencentCloudEks = "tencent_cloud_eks";
-
- ///
- /// Tencent Cloud Serverless Cloud Function (SCF).
- ///
- public const string TencentCloudScf = "tencent_cloud_scf";
- }
-
- ///
- /// The launch type for an ECS task.
- ///
- public static class AwsEcsLaunchtypeValues
- {
- ///
- /// ec2.
- ///
- public const string Ec2 = "ec2";
-
- ///
- /// fargate.
- ///
- public const string Fargate = "fargate";
- }
-
- ///
- /// The CPU architecture the host system is running on.
- ///
- public static class HostArchValues
- {
- ///
- /// AMD64.
- ///
- public const string Amd64 = "amd64";
-
- ///
- /// ARM32.
- ///
- public const string Arm32 = "arm32";
-
- ///
- /// ARM64.
- ///
- public const string Arm64 = "arm64";
-
- ///
- /// Itanium.
- ///
- public const string Ia64 = "ia64";
-
- ///
- /// 32-bit PowerPC.
- ///
- public const string Ppc32 = "ppc32";
-
- ///
- /// 64-bit PowerPC.
- ///
- public const string Ppc64 = "ppc64";
-
- ///
- /// IBM z/Architecture.
- ///
- public const string S390x = "s390x";
-
- ///
- /// 32-bit x86.
- ///
- public const string X86 = "x86";
- }
-
- ///
- /// The operating system type.
- ///
- public static class OsTypeValues
- {
- ///
- /// Microsoft Windows.
- ///
- public const string Windows = "windows";
-
- ///
- /// Linux.
- ///
- public const string Linux = "linux";
-
- ///
- /// Apple Darwin.
- ///
- public const string Darwin = "darwin";
-
- ///
- /// FreeBSD.
- ///
- public const string Freebsd = "freebsd";
-
- ///
- /// NetBSD.
- ///
- public const string Netbsd = "netbsd";
-
- ///
- /// OpenBSD.
- ///
- public const string Openbsd = "openbsd";
-
- ///
- /// DragonFly BSD.
- ///
- public const string Dragonflybsd = "dragonflybsd";
-
- ///
- /// HP-UX (Hewlett Packard Unix).
- ///
- public const string Hpux = "hpux";
-
- ///
- /// AIX (Advanced Interactive eXecutive).
- ///
- public const string Aix = "aix";
-
- ///
- /// SunOS, Oracle Solaris.
- ///
- public const string Solaris = "solaris";
-
- ///
- /// IBM z/OS.
- ///
- public const string ZOs = "z_os";
- }
-
- ///
- /// The language of the telemetry SDK.
- ///
- public static class TelemetrySdkLanguageValues
- {
- ///
- /// cpp.
- ///
- public const string Cpp = "cpp";
-
- ///
- /// dotnet.
- ///
- public const string Dotnet = "dotnet";
-
- ///
- /// erlang.
- ///
- public const string Erlang = "erlang";
-
- ///
- /// go.
- ///
- public const string Go = "go";
-
- ///
- /// java.
- ///
- public const string Java = "java";
-
- ///
- /// nodejs.
- ///
- public const string Nodejs = "nodejs";
-
- ///
- /// php.
- ///
- public const string Php = "php";
-
- ///
- /// python.
- ///
- public const string Python = "python";
-
- ///
- /// ruby.
- ///
- public const string Ruby = "ruby";
-
- ///
- /// webjs.
- ///
- public const string Webjs = "webjs";
-
- ///
- /// swift.
- ///
- public const string Swift = "swift";
- }
- }
-}
diff --git a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
new file mode 100644
index 0000000000..fa13624d71
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
@@ -0,0 +1,5448 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ ///
+ /// Schema and specification version: https://opentelemetry.io/schemas/1.25.0.
+ ///
+ public static class SemanticConventionsAttributes
+ {
+ ///
+ /// Identifies the class / type of event.
+ ///
+ ///
+ /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes.
+ ///
+ public const string AttributeEventName = "event.name";
+
+ ///
+ /// A unique identifier for the Log Record.
+ ///
+ ///
+ /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
+ /// The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed.
+ ///
+ public const string AttributeLogRecordUid = "log.record.uid";
+
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public const string AttributeLogIostream = "log.iostream";
+
+ ///
+ /// The basename of the file.
+ ///
+ public const string AttributeLogFileName = "log.file.name";
+
+ ///
+ /// The basename of the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFileNameResolved = "log.file.name_resolved";
+
+ ///
+ /// The full path to the file.
+ ///
+ public const string AttributeLogFilePath = "log.file.path";
+
+ ///
+ /// The full path to the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFilePathResolved = "log.file.path_resolved";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived.
+ ///
+ public const string AttributeIosState = "ios.state";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived.
+ ///
+ public const string AttributeAndroidState = "android.state";
+
+ ///
+ /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port.
+ ///
+ public const string AttributePoolName = "pool.name";
+
+ ///
+ /// The state of a connection in the pool.
+ ///
+ public const string AttributeState = "state";
+
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
+
+ ///
+ /// Full type name of the IExceptionHandler implementation that handled the exception.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
+
+ ///
+ /// Rate limiting policy name.
+ ///
+ public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
+
+ ///
+ /// Flag indicating if request was handled by the application pipeline.
+ ///
+ public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
+
+ ///
+ /// A value that indicates whether the matched route is a fallback route.
+ ///
+ public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
+
+ ///
+ /// Match result - success or failure.
+ ///
+ public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
+
+ ///
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
+
+ ///
+ /// SignalR HTTP connection closure status.
+ ///
+ public const string AttributeSignalrConnectionStatus = "signalr.connection.status";
+
+ ///
+ /// SignalR transport type.
+ ///
+ public const string AttributeSignalrTransport = "signalr.transport";
+
+ ///
+ /// Name of the buffer pool.
+ ///
+ ///
+ /// Pool names are generally obtained via BufferPoolMXBean#getName().
+ ///
+ public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name";
+
+ ///
+ /// Name of the memory pool.
+ ///
+ ///
+ /// Pool names are generally obtained via MemoryPoolMXBean#getName().
+ ///
+ public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name";
+
+ ///
+ /// The type of memory.
+ ///
+ public const string AttributeJvmMemoryType = "jvm.memory.type";
+
+ ///
+ /// Name of the garbage collector action.
+ ///
+ ///
+ /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction().
+ ///
+ public const string AttributeJvmGcAction = "jvm.gc.action";
+
+ ///
+ /// Name of the garbage collector.
+ ///
+ ///
+ /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName().
+ ///
+ public const string AttributeJvmGcName = "jvm.gc.name";
+
+ ///
+ /// Whether the thread is daemon or not.
+ ///
+ public const string AttributeJvmThreadDaemon = "jvm.thread.daemon";
+
+ ///
+ /// State of the thread.
+ ///
+ public const string AttributeJvmThreadState = "jvm.thread.state";
+
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeProcessCpuState = "process.cpu.state";
+
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public const string AttributeProcessContextSwitchType = "process.context_switch_type";
+
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public const string AttributeProcessPagingFaultType = "process.paging.fault_type";
+
+ ///
+ /// The device identifier.
+ ///
+ public const string AttributeSystemDevice = "system.device";
+
+ ///
+ /// The logical CPU number [0..n-1].
+ ///
+ public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number";
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeSystemCpuState = "system.cpu.state";
+
+ ///
+ /// The memory state.
+ ///
+ public const string AttributeSystemMemoryState = "system.memory.state";
+
+ ///
+ /// The paging access direction.
+ ///
+ public const string AttributeSystemPagingDirection = "system.paging.direction";
+
+ ///
+ /// The memory paging state.
+ ///
+ public const string AttributeSystemPagingState = "system.paging.state";
+
+ ///
+ /// The memory paging type.
+ ///
+ public const string AttributeSystemPagingType = "system.paging.type";
+
+ ///
+ /// The filesystem mode.
+ ///
+ public const string AttributeSystemFilesystemMode = "system.filesystem.mode";
+
+ ///
+ /// The filesystem mount path.
+ ///
+ public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint";
+
+ ///
+ /// The filesystem state.
+ ///
+ public const string AttributeSystemFilesystemState = "system.filesystem.state";
+
+ ///
+ /// The filesystem type.
+ ///
+ public const string AttributeSystemFilesystemType = "system.filesystem.type";
+
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public const string AttributeSystemNetworkState = "system.network.state";
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public const string AttributeSystemProcessStatus = "system.process.status";
+
+ ///
+ /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here.
+ ///
+ public const string AttributeAndroidOsApiLevel = "android.os.api_level";
+
+ ///
+ /// The JSON-serialized value of each item in the AttributeDefinitions request field.
+ ///
+ public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
+
+ ///
+ /// The value of the AttributesToGet request parameter.
+ ///
+ public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
+
+ ///
+ /// The value of the ConsistentRead request parameter.
+ ///
+ public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
+
+ ///
+ /// The JSON-serialized value of each item in the ConsumedCapacity response field.
+ ///
+ public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
+
+ ///
+ /// The value of the Count response parameter.
+ ///
+ public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
+
+ ///
+ /// The value of the ExclusiveStartTableName request parameter.
+ ///
+ public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
+
+ ///
+ /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
+
+ ///
+ /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
+
+ ///
+ /// The value of the IndexName request parameter.
+ ///
+ public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
+
+ ///
+ /// The JSON-serialized value of the ItemCollectionMetrics response field.
+ ///
+ public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
+
+ ///
+ /// The value of the Limit request parameter.
+ ///
+ public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
+
+ ///
+ /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
+
+ ///
+ /// The value of the ProjectionExpression request parameter.
+ ///
+ public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
+
+ ///
+ /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
+
+ ///
+ /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
+
+ ///
+ /// The value of the ScanIndexForward request parameter.
+ ///
+ public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
+
+ ///
+ /// The value of the ScannedCount response parameter.
+ ///
+ public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
+
+ ///
+ /// The value of the Segment request parameter.
+ ///
+ public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
+
+ ///
+ /// The value of the Select request parameter.
+ ///
+ public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
+
+ ///
+ /// The number of items in the TableNames response parameter.
+ ///
+ public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
+
+ ///
+ /// The keys in the RequestItems object field.
+ ///
+ public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
+
+ ///
+ /// The value of the TotalSegments request parameter.
+ ///
+ public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
+
+ ///
+ /// Array of brand name and version separated by a space.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
+ ///
+ public const string AttributeBrowserBrands = "browser.brands";
+
+ ///
+ /// Preferred language of the user using the browser.
+ ///
+ ///
+ /// This value is intended to be taken from the Navigator API navigator.language.
+ ///
+ public const string AttributeBrowserLanguage = "browser.language";
+
+ ///
+ /// A boolean that is true if the browser is running on a mobile device.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset.
+ ///
+ public const string AttributeBrowserMobile = "browser.mobile";
+
+ ///
+ /// The platform on which the browser is running.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
+ /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
+ ///
+ public const string AttributeBrowserPlatform = "browser.platform";
+
+ ///
+ /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientAddress = "client.address";
+
+ ///
+ /// Client port number.
+ ///
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientPort = "client.port";
+
+ ///
+ /// The cloud account ID the resource is assigned to.
+ ///
+ public const string AttributeCloudAccountId = "cloud.account.id";
+
+ ///
+ /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
+ ///
+ ///
+ /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
+ ///
+ public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
+
+ ///
+ /// The cloud platform in use.
+ ///
+ ///
+ /// The prefix of the service SHOULD match the one specified in cloud.provider.
+ ///
+ public const string AttributeCloudPlatform = "cloud.platform";
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public const string AttributeCloudProvider = "cloud.provider";
+
+ ///
+ /// The geographical region the resource is running.
+ ///
+ ///
+ /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
+ ///
+ public const string AttributeCloudRegion = "cloud.region";
+
+ ///
+ /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
+ ///
+ ///
+ /// On some cloud providers, it may not be possible to determine the full ID at startup,
+ /// so it may be necessary to set cloud.resource_id as a span attribute instead.The exact value to use for cloud.resource_id depends on the cloud provider.
+ /// The following well-known definitions MUST be used if you set this attribute and they apply:
+ /// - AWS Lambda: The function ARN.
+ /// Take care not to use the "invoked ARN" directly but replace any
+ /// alias suffix
+ /// with the resolved function version, as the same runtime instance may be invokable with
+ /// multiple different aliases.
+ /// - GCP: The URI of the resource
+ /// - Azure: The Fully Qualified Resource ID of the invoked function,
+ /// not the function app, having the form
+ /// /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>.
+ /// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
+ /// a TracerProvider
+ ///
.
+ ///
+ public const string AttributeCloudResourceId = "cloud.resource_id";
+
+ ///
+ /// The event_id uniquely identifies the event.
+ ///
+ public const string AttributeCloudeventsEventId = "cloudevents.event_id";
+
+ ///
+ /// The source identifies the context in which an event happened.
+ ///
+ public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
+
+ ///
+ /// The version of the CloudEvents specification which the event uses.
+ ///
+ public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
+
+ ///
+ /// The subject of the event in the context of the event producer (identified by source).
+ ///
+ public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
+
+ ///
+ /// The event_type contains a value describing the type of event related to the originating occurrence.
+ ///
+ public const string AttributeCloudeventsEventType = "cloudevents.event_type";
+
+ ///
+ /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeColumn = "code.column";
+
+ ///
+ /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
+ ///
+ public const string AttributeCodeFilepath = "code.filepath";
+
+ ///
+ /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
+ ///
+ public const string AttributeCodeFunction = "code.function";
+
+ ///
+ /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeLineno = "code.lineno";
+
+ ///
+ /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
+ ///
+ public const string AttributeCodeNamespace = "code.namespace";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeCodeStacktrace = "code.stacktrace";
+
+ ///
+ /// The command used to run the container (i.e. the command name).
+ ///
+ ///
+ /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
+ ///
+ public const string AttributeContainerCommand = "container.command";
+
+ ///
+ /// All the command arguments (including the command/executable itself) run by the container. [2].
+ ///
+ public const string AttributeContainerCommandArgs = "container.command_args";
+
+ ///
+ /// The full command run by the container as a single string representing the full command. [2].
+ ///
+ public const string AttributeContainerCommandLine = "container.command_line";
+
+ ///
+ /// The CPU state for this data point.
+ ///
+ public const string AttributeContainerCpuState = "container.cpu.state";
+
+ ///
+ /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
+ ///
+ public const string AttributeContainerId = "container.id";
+
+ ///
+ /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
+ ///
+ ///
+ /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint.
+ /// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625".
+ /// The ID is assinged by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes.
+ ///
+ public const string AttributeContainerImageId = "container.image.id";
+
+ ///
+ /// Name of the image the container was built on.
+ ///
+ public const string AttributeContainerImageName = "container.image.name";
+
+ ///
+ /// Repo digests of the container image as provided by the container runtime.
+ ///
+ ///
+ /// Docker and CRI report those under the RepoDigests field.
+ ///
+ public const string AttributeContainerImageRepoDigests = "container.image.repo_digests";
+
+ ///
+ /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:.
+ ///
+ public const string AttributeContainerImageTags = "container.image.tags";
+
+ ///
+ /// Container name used by container runtime.
+ ///
+ public const string AttributeContainerName = "container.name";
+
+ ///
+ /// The container runtime managing this container.
+ ///
+ public const string AttributeContainerRuntime = "container.runtime";
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
+
+ ///
+ /// The data center of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
+
+ ///
+ /// The ID of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
+
+ ///
+ /// Whether or not the query is idempotent.
+ ///
+ public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
+
+ ///
+ /// The fetch size used for paging, i.e. how many rows will be returned at once.
+ ///
+ public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
+
+ ///
+ /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
+ ///
+ public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
+
+ ///
+ /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable).
+ ///
+ ///
+ /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbCassandraTable = "db.cassandra.table";
+
+ ///
+ /// Unique Cosmos client instance id.
+ ///
+ public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id";
+
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
+
+ ///
+ /// Cosmos DB container name.
+ ///
+ public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container";
+
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type";
+
+ ///
+ /// RU consumed for that operation.
+ ///
+ public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
+
+ ///
+ /// Request payload size in bytes.
+ ///
+ public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
+
+ ///
+ /// Cosmos DB status code.
+ ///
+ public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code";
+
+ ///
+ /// Cosmos DB sub status code.
+ ///
+ public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
+
+ ///
+ /// Represents the identifier of an Elasticsearch cluster.
+ ///
+ public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name";
+
+ ///
+ /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname.
+ ///
+ public const string AttributeDbInstanceId = "db.instance.id";
+
+ ///
+ /// The MongoDB collection being accessed within the database stated in db.name.
+ ///
+ public const string AttributeDbMongodbCollection = "db.mongodb.collection";
+
+ ///
+ /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
+ ///
+ ///
+ /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard).
+ ///
+ public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
+
+ ///
+ /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
+ ///
+ ///
+ /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
+ ///
+ public const string AttributeDbName = "db.name";
+
+ ///
+ /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
+ ///
+ ///
+ /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
+ ///
+ public const string AttributeDbOperation = "db.operation";
+
+ ///
+ /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
+ ///
+ public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
+
+ ///
+ /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
+ ///
+ ///
+ /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbSqlTable = "db.sql.table";
+
+ ///
+ /// The database statement being executed.
+ ///
+ public const string AttributeDbStatement = "db.statement";
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeDbSystem = "db.system";
+
+ ///
+ /// Username for accessing the database.
+ ///
+ public const string AttributeDbUser = "db.user";
+
+ ///
+ /// Name of the deployment environment (aka deployment tier).
+ ///
+ ///
+ /// deployment.environment does not affect the uniqueness constraints defined through
+ /// the service.namespace, service.name and service.instance.id resource attributes.
+ /// This implies that resources carrying the following attribute combinations MUST be
+ /// considered to be identifying the same service:
+ /// - service.name=frontend, deployment.environment=production
+ /// - service.name=frontend, deployment.environment=staging
+ ///
.
+ ///
+ public const string AttributeDeploymentEnvironment = "deployment.environment";
+
+ ///
+ /// Deprecated, use server.address, server.port attributes instead.
+ ///
+ [Obsolete("Replaced by `server.address` and `server.port`.")]
+ public const string AttributeDbConnectionString = "db.connection_string";
+
+ ///
+ /// Deprecated, use db.instance.id instead.
+ ///
+ [Obsolete("Replaced by `db.instance.id`")]
+ public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name";
+
+ ///
+ /// Removed, no replacement at this time.
+ ///
+ [Obsolete("Removed as not used")]
+ public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
+
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeHttpFlavor = "http.flavor";
+
+ ///
+ /// Deprecated, use http.request.method instead.
+ ///
+ [Obsolete("Replaced by `http.request.method`")]
+ public const string AttributeHttpMethod = "http.method";
+
+ ///
+ /// Deprecated, use http.request.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.request.header.content-length`")]
+ public const string AttributeHttpRequestContentLength = "http.request_content_length";
+
+ ///
+ /// Deprecated, use http.response.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.response.header.content-length`")]
+ public const string AttributeHttpResponseContentLength = "http.response_content_length";
+
+ ///
+ /// Deprecated, use url.scheme instead.
+ ///
+ [Obsolete("Replaced by `url.scheme` instead")]
+ public const string AttributeHttpScheme = "http.scheme";
+
+ ///
+ /// Deprecated, use http.response.status_code instead.
+ ///
+ [Obsolete("Replaced by `http.response.status_code`")]
+ public const string AttributeHttpStatusCode = "http.status_code";
+
+ ///
+ /// Deprecated, use url.path and url.query instead.
+ ///
+ [Obsolete("Split to `url.path` and `url.query")]
+ public const string AttributeHttpTarget = "http.target";
+
+ ///
+ /// Deprecated, use url.full instead.
+ ///
+ [Obsolete("Replaced by `url.full`")]
+ public const string AttributeHttpUrl = "http.url";
+
+ ///
+ /// Deprecated, use user_agent.original instead.
+ ///
+ [Obsolete("Replaced by `user_agent.original`")]
+ public const string AttributeHttpUserAgent = "http.user_agent";
+
+ ///
+ /// "Deprecated, use messaging.destination.partition.id instead.".
+ ///
+ [Obsolete("Replaced by `messaging.destination.partition.id`")]
+ public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition";
+
+ ///
+ /// Deprecated, use server.address.
+ ///
+ [Obsolete("Replaced by `server.address`")]
+ public const string AttributeNetHostName = "net.host.name";
+
+ ///
+ /// Deprecated, use server.port.
+ ///
+ [Obsolete("Replaced by `server.port`")]
+ public const string AttributeNetHostPort = "net.host.port";
+
+ ///
+ /// Deprecated, use server.address on client spans and client.address on server spans.
+ ///
+ [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")]
+ public const string AttributeNetPeerName = "net.peer.name";
+
+ ///
+ /// Deprecated, use server.port on client spans and client.port on server spans.
+ ///
+ [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")]
+ public const string AttributeNetPeerPort = "net.peer.port";
+
+ ///
+ /// Deprecated, use network.protocol.name.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeNetProtocolName = "net.protocol.name";
+
+ ///
+ /// Deprecated, use network.protocol.version.
+ ///
+ [Obsolete("Replaced by `network.protocol.version`")]
+ public const string AttributeNetProtocolVersion = "net.protocol.version";
+
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ [Obsolete("Split to `network.transport` and `network.type`")]
+ public const string AttributeNetSockFamily = "net.sock.family";
+
+ ///
+ /// Deprecated, use network.local.address.
+ ///
+ [Obsolete("Replaced by `network.local.address`")]
+ public const string AttributeNetSockHostAddr = "net.sock.host.addr";
+
+ ///
+ /// Deprecated, use network.local.port.
+ ///
+ [Obsolete("Replaced by `network.local.port`")]
+ public const string AttributeNetSockHostPort = "net.sock.host.port";
+
+ ///
+ /// Deprecated, use network.peer.address.
+ ///
+ [Obsolete("Replaced by `network.peer.address`")]
+ public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
+
+ ///
+ /// Deprecated, no replacement at this time.
+ ///
+ [Obsolete("Removed")]
+ public const string AttributeNetSockPeerName = "net.sock.peer.name";
+
+ ///
+ /// Deprecated, use network.peer.port.
+ ///
+ [Obsolete("Replaced by `network.peer.port`")]
+ public const string AttributeNetSockPeerPort = "net.sock.peer.port";
+
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ [Obsolete("Replaced by `network.transport`")]
+ public const string AttributeNetTransport = "net.transport";
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ [Obsolete("Replaced by `system.process.status`")]
+ public const string AttributeSystemProcessesStatus = "system.processes.status";
+
+ ///
+ /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeDestinationAddress = "destination.address";
+
+ ///
+ /// Destination port number.
+ ///
+ public const string AttributeDestinationPort = "destination.port";
+
+ ///
+ /// A unique identifier representing the device.
+ ///
+ ///
+ /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
+ ///
+ public const string AttributeDeviceId = "device.id";
+
+ ///
+ /// The name of the device manufacturer.
+ ///
+ ///
+ /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
+ ///
+ public const string AttributeDeviceManufacturer = "device.manufacturer";
+
+ ///
+ /// The model identifier for the device.
+ ///
+ ///
+ /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device.
+ ///
+ public const string AttributeDeviceModelIdentifier = "device.model.identifier";
+
+ ///
+ /// The marketing name for the device model.
+ ///
+ ///
+ /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative.
+ ///
+ public const string AttributeDeviceModelName = "device.model.name";
+
+ ///
+ /// The disk IO operation direction.
+ ///
+ public const string AttributeDiskIoDirection = "disk.io.direction";
+
+ ///
+ /// The name being queried.
+ ///
+ ///
+ /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.
+ ///
+ public const string AttributeDnsQuestionName = "dns.question.name";
+
+ ///
+ /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
+ ///
+ public const string AttributeEnduserId = "enduser.id";
+
+ ///
+ /// Actual/assumed role the client is making the request under extracted from token or application security context.
+ ///
+ public const string AttributeEnduserRole = "enduser.role";
+
+ ///
+ /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
+ ///
+ public const string AttributeEnduserScope = "enduser.scope";
+
+ ///
+ /// Describes a class of error the operation ended with.
+ ///
+ ///
+ /// The error.type SHOULD be predictable and SHOULD have low cardinality.
+ /// Instrumentations SHOULD document the list of errors they report.The cardinality of error.type within one instrumentation library SHOULD be low.
+ /// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications
+ /// should be prepared for error.type to have high cardinality at query time when no
+ /// additional filters are applied.If the operation has completed successfully, instrumentations SHOULD NOT set error.type.If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes),
+ /// it's RECOMMENDED to:
+ /// - Use a domain-specific attribute
+ /// - Set error.type to capture all errors, regardless of whether they are defined within the domain-specific set or not
+ ///
.
+ ///
+ public const string AttributeErrorType = "error.type";
+
+ ///
+ /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
+ ///
+ ///
+ /// An exception is considered to have escaped (or left) the scope of a span,
+ /// if that span is ended while the exception is still logically "in flight".
+ /// This may be actually "in flight" in some languages (e.g. if the exception
+ /// is passed to a Context manager's __exit__ method in Python) but will
+ /// usually be caught at the point of recording the exception in most languages.It is usually not possible to determine at the point where an exception is thrown
+ /// whether it will escape the scope of a span.
+ /// However, it is trivial to know that an exception
+ /// will escape, if one checks for an active exception just before ending the span,
+ /// as done in the example for recording span exceptions.It follows that an exception may still escape the scope of the span
+ /// even if the exception.escaped attribute was not set or set to false,
+ /// since the event might have been recorded at a time where it was not
+ /// clear whether the exception will escape.
+ ///
+ public const string AttributeExceptionEscaped = "exception.escaped";
+
+ ///
+ /// The exception message.
+ ///
+ public const string AttributeExceptionMessage = "exception.message";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeExceptionStacktrace = "exception.stacktrace";
+
+ ///
+ /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
+ ///
+ public const string AttributeExceptionType = "exception.type";
+
+ ///
+ /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
+ ///
+ public const string AttributeFaasColdstart = "faas.coldstart";
+
+ ///
+ /// A string containing the schedule period as Cron Expression.
+ ///
+ public const string AttributeFaasCron = "faas.cron";
+
+ ///
+ /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
+ ///
+ public const string AttributeFaasDocumentCollection = "faas.document.collection";
+
+ ///
+ /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
+ ///
+ public const string AttributeFaasDocumentName = "faas.document.name";
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public const string AttributeFaasDocumentOperation = "faas.document.operation";
+
+ ///
+ /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasDocumentTime = "faas.document.time";
+
+ ///
+ /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
+ ///
+ ///
+ ///
+ /// - AWS Lambda: Use the (full) log stream name
+ ///
.
+ ///
+ public const string AttributeFaasInstance = "faas.instance";
+
+ ///
+ /// The invocation ID of the current function invocation.
+ ///
+ public const string AttributeFaasInvocationId = "faas.invocation_id";
+
+ ///
+ /// The name of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the faas.name resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedName = "faas.invoked_name";
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
+
+ ///
+ /// The cloud region of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedRegion = "faas.invoked_region";
+
+ ///
+ /// The amount of memory available to the serverless function converted to Bytes.
+ ///
+ ///
+ /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576).
+ ///
+ public const string AttributeFaasMaxMemory = "faas.max_memory";
+
+ ///
+ /// The name of the single function that this runtime instance executes.
+ ///
+ ///
+ /// This is the name of the function as configured/deployed on the FaaS
+ /// platform and is usually different from the name of the callback
+ /// function (which may be stored in the
+ /// code.namespace/code.function
+ /// span attributes).For some cloud providers, the above definition is ambiguous. The following
+ /// definition of function name MUST be used for this attribute
+ /// (and consequently the span name) for the listed cloud providers/products:
+ /// - Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name
+ /// followed by a forward slash followed by the function name (this form
+ /// can also be seen in the resource JSON for the function).
+ /// This means that a span attribute MUST be used, as an Azure function
+ /// app can host multiple functions that would usually share
+ /// a TracerProvider (see also the cloud.resource_id attribute)
+ ///
.
+ ///
+ public const string AttributeFaasName = "faas.name";
+
+ ///
+ /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasTime = "faas.time";
+
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public const string AttributeFaasTrigger = "faas.trigger";
+
+ ///
+ /// The immutable version of the function being executed.
+ ///
+ ///
+ /// Depending on the cloud provider and platform, use:
+ /// - AWS Lambda: The function version
+ /// (an integer represented as a decimal string).
+ /// - Google Cloud Run (Services): The revision
+ /// (i.e., the function name plus the revision suffix).
+ /// - Google Cloud Functions: The value of the
+ /// K_REVISION environment variable.
+ /// - Azure Functions: Not applicable. Do not set this attribute
+ ///
.
+ ///
+ public const string AttributeFaasVersion = "faas.version";
+
+ ///
+ /// The unique identifier of the feature flag.
+ ///
+ public const string AttributeFeatureFlagKey = "feature_flag.key";
+
+ ///
+ /// The name of the service provider that performs the flag evaluation.
+ ///
+ public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name";
+
+ ///
+ /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
+ ///
+ ///
+ /// A semantic identifier, commonly referred to as a variant, provides a means
+ /// for referring to a value without including the value itself. This can
+ /// provide additional context for understanding the meaning behind a value.
+ /// For example, the variant red maybe be used for the value #c05543.A stringified version of the value can be used in situations where a
+ /// semantic identifier is unavailable. String representation of the value
+ /// should be determined by the implementer.
+ ///
+ public const string AttributeFeatureFlagVariant = "feature_flag.variant";
+
+ ///
+ /// Directory where the file is located. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFileDirectory = "file.directory";
+
+ ///
+ /// File extension, excluding the leading dot.
+ ///
+ ///
+ /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
+ ///
+ public const string AttributeFileExtension = "file.extension";
+
+ ///
+ /// Name of the file including the extension, without the directory.
+ ///
+ public const string AttributeFileName = "file.name";
+
+ ///
+ /// Full path to the file, including the file name. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFilePath = "file.path";
+
+ ///
+ /// File size in bytes.
+ ///
+ public const string AttributeFileSize = "file.size";
+
+ ///
+ /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
+
+ ///
+ /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
+
+ ///
+ /// The hostname of a GCE instance. This is the full value of the default or custom hostname.
+ ///
+ public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname";
+
+ ///
+ /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name.
+ ///
+ public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name";
+
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public const string AttributeHostArch = "host.arch";
+
+ ///
+ /// The amount of level 2 memory cache available to the processor (in Bytes).
+ ///
+ public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size";
+
+ ///
+ /// Family or generation of the CPU.
+ ///
+ public const string AttributeHostCpuFamily = "host.cpu.family";
+
+ ///
+ /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family.
+ ///
+ public const string AttributeHostCpuModelId = "host.cpu.model.id";
+
+ ///
+ /// Model designation of the processor.
+ ///
+ public const string AttributeHostCpuModelName = "host.cpu.model.name";
+
+ ///
+ /// Stepping or core revisions.
+ ///
+ public const string AttributeHostCpuStepping = "host.cpu.stepping";
+
+ ///
+ /// Processor manufacturer identifier. A maximum 12-character string.
+ ///
+ ///
+ /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
+ ///
+ public const string AttributeHostCpuVendorId = "host.cpu.vendor.id";
+
+ ///
+ /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system.
+ ///
+ public const string AttributeHostId = "host.id";
+
+ ///
+ /// VM image ID or host OS image ID. For Cloud, this value is from the provider.
+ ///
+ public const string AttributeHostImageId = "host.image.id";
+
+ ///
+ /// Name of the VM image or OS install the host was instantiated from.
+ ///
+ public const string AttributeHostImageName = "host.image.name";
+
+ ///
+ /// The version string of the VM image or host OS as defined in Version Attributes.
+ ///
+ public const string AttributeHostImageVersion = "host.image.version";
+
+ ///
+ /// Available IP addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format.
+ ///
+ public const string AttributeHostIp = "host.ip";
+
+ ///
+ /// Available MAC addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.
+ ///
+ public const string AttributeHostMac = "host.mac";
+
+ ///
+ /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
+ ///
+ public const string AttributeHostName = "host.name";
+
+ ///
+ /// Type of host. For Cloud, this must be the machine type.
+ ///
+ public const string AttributeHostType = "host.type";
+
+ ///
+ /// State of the HTTP connection in the HTTP connection pool.
+ ///
+ public const string AttributeHttpConnectionState = "http.connection.state";
+
+ ///
+ /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpRequestBodySize = "http.request.body.size";
+
+ ///
+ /// HTTP request method.
+ ///
+ ///
+ /// HTTP request method value SHOULD be "known" to the instrumentation.
+ /// By default, this convention defines "known" methods as the ones listed in RFC9110
+ /// and the PATCH method defined in RFC5789.If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER.If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override
+ /// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named
+ /// OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods
+ /// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults).HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly.
+ /// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent.
+ /// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value.
+ ///
+ public const string AttributeHttpRequestMethod = "http.request.method";
+
+ ///
+ /// Original HTTP method sent by the client in the request line.
+ ///
+ public const string AttributeHttpRequestMethodOriginal = "http.request.method_original";
+
+ ///
+ /// The ordinal number of request resending attempt (for any reason, including redirects).
+ ///
+ ///
+ /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).
+ ///
+ public const string AttributeHttpRequestResendCount = "http.request.resend_count";
+
+ ///
+ /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any.
+ ///
+ public const string AttributeHttpRequestSize = "http.request.size";
+
+ ///
+ /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpResponseBodySize = "http.response.body.size";
+
+ ///
+ /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
+ ///
+ public const string AttributeHttpResponseSize = "http.response.size";
+
+ ///
+ /// HTTP response status code.
+ ///
+ public const string AttributeHttpResponseStatusCode = "http.response.status_code";
+
+ ///
+ /// The matched route, that is, the path template in the format used by the respective server framework.
+ ///
+ ///
+ /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
+ /// SHOULD include the application root if there is one.
+ ///
+ public const string AttributeHttpRoute = "http.route";
+
+ ///
+ /// The name of the cluster.
+ ///
+ public const string AttributeK8sClusterName = "k8s.cluster.name";
+
+ ///
+ /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace.
+ ///
+ ///
+ /// K8s doesn't have support for obtaining a cluster ID. If this is ever
+ /// added, we will recommend collecting the k8s.cluster.uid through the
+ /// official APIs. In the meantime, we are able to use the uid of the
+ /// kube-system namespace as a proxy for cluster ID. Read on for the
+ /// rationale.Every object created in a K8s cluster is assigned a distinct UID. The
+ /// kube-system namespace is used by Kubernetes itself and will exist
+ /// for the lifetime of the cluster. Using the uid of the kube-system
+ /// namespace is a reasonable proxy for the K8s ClusterID as it will only
+ /// change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are
+ /// UUIDs as standardized by
+ /// ISO/IEC 9834-8 and ITU-T X.667.
+ /// Which states:> If generated according to one of the mechanisms defined in Rec.
+ /// ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be
+ /// different from all other UUIDs generated before 3603 A.D., or is
+ /// extremely likely to be different (depending on the mechanism chosen).Therefore, UIDs between clusters should be extremely unlikely to
+ /// conflict.
+ ///
+ public const string AttributeK8sClusterUid = "k8s.cluster.uid";
+
+ ///
+ /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
+ ///
+ public const string AttributeK8sContainerName = "k8s.container.name";
+
+ ///
+ /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
+ ///
+ public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
+
+ ///
+ /// The name of the CronJob.
+ ///
+ public const string AttributeK8sCronjobName = "k8s.cronjob.name";
+
+ ///
+ /// The UID of the CronJob.
+ ///
+ public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
+
+ ///
+ /// The name of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
+
+ ///
+ /// The UID of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
+
+ ///
+ /// The name of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentName = "k8s.deployment.name";
+
+ ///
+ /// The UID of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
+
+ ///
+ /// The name of the Job.
+ ///
+ public const string AttributeK8sJobName = "k8s.job.name";
+
+ ///
+ /// The UID of the Job.
+ ///
+ public const string AttributeK8sJobUid = "k8s.job.uid";
+
+ ///
+ /// The name of the namespace that the pod is running in.
+ ///
+ public const string AttributeK8sNamespaceName = "k8s.namespace.name";
+
+ ///
+ /// The name of the Node.
+ ///
+ public const string AttributeK8sNodeName = "k8s.node.name";
+
+ ///
+ /// The UID of the Node.
+ ///
+ public const string AttributeK8sNodeUid = "k8s.node.uid";
+
+ ///
+ /// The name of the Pod.
+ ///
+ public const string AttributeK8sPodName = "k8s.pod.name";
+
+ ///
+ /// The UID of the Pod.
+ ///
+ public const string AttributeK8sPodUid = "k8s.pod.uid";
+
+ ///
+ /// The name of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
+
+ ///
+ /// The UID of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
+
+ ///
+ /// The name of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
+
+ ///
+ /// The UID of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
+
+ ///
+ /// The number of messages sent, received, or processed in the scope of the batching operation.
+ ///
+ ///
+ /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs.
+ ///
+ public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count";
+
+ ///
+ /// A unique identifier for the client that consumes or produces a message.
+ ///
+ public const string AttributeMessagingClientId = "messaging.client_id";
+
+ ///
+ /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous";
+
+ ///
+ /// The message destination name.
+ ///
+ ///
+ /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
+ /// the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
+ ///
+ public const string AttributeMessagingDestinationName = "messaging.destination.name";
+
+ ///
+ /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.
+ ///
+ public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id";
+
+ ///
+ /// Low cardinality representation of the messaging destination name.
+ ///
+ ///
+ /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
+ ///
+ public const string AttributeMessagingDestinationTemplate = "messaging.destination.template";
+
+ ///
+ /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
+ ///
+ public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary";
+
+ ///
+ /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous";
+
+ ///
+ /// The name of the original destination the message was published to.
+ ///
+ ///
+ /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If
+ /// the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker.
+ ///
+ public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name";
+
+ ///
+ /// The name of the consumer group the event consumer is associated with.
+ ///
+ public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
+
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
+
+ ///
+ /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
+ ///
+ public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
+
+ ///
+ /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
+ ///
+ public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group";
+
+ ///
+ /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.
+ ///
+ ///
+ /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
+ ///
+ public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key";
+
+ ///
+ /// The offset of a record in the corresponding Kafka partition.
+ ///
+ public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset";
+
+ ///
+ /// A boolean that is true if the message is a tombstone.
+ ///
+ public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
+
+ ///
+ /// The size of the message body in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
+ /// body size should be used.
+ ///
+ public const string AttributeMessagingMessageBodySize = "messaging.message.body.size";
+
+ ///
+ /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
+ ///
+ public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id";
+
+ ///
+ /// The size of the message body and metadata in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
+ /// size should be used.
+ ///
+ public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
+
+ ///
+ /// A value used by the messaging system as an identifier for the message, represented as a string.
+ ///
+ public const string AttributeMessagingMessageId = "messaging.message.id";
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ ///
+ /// If a custom value is used, it MUST be of low cardinality.
+ ///
+ public const string AttributeMessagingOperation = "messaging.operation";
+
+ ///
+ /// RabbitMQ message routing key.
+ ///
+ public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
+
+ ///
+ /// RabbitMQ message delivery tag.
+ ///
+ public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
+
+ ///
+ /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
+ ///
+ public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
+
+ ///
+ /// The delay time level for delay message, which determines the message delay time.
+ ///
+ public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
+
+ ///
+ /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
+ ///
+ public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
+
+ ///
+ /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
+ ///
+ public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
+
+ ///
+ /// Key(s) of message, another way to mark message besides message id.
+ ///
+ public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
+
+ ///
+ /// The secondary classifier of message besides topic.
+ ///
+ public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
+
+ ///
+ /// Type of message.
+ ///
+ public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
+
+ ///
+ /// Namespace of RocketMQ resources, resources in different namespaces are individual.
+ ///
+ public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
+
+ ///
+ /// The name of the subscription in the topic messages are received from.
+ ///
+ public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
+
+ ///
+ /// Describes the settlement type.
+ ///
+ public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status";
+
+ ///
+ /// Number of deliveries that have been attempted for this message.
+ ///
+ public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
+
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
+
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeMessagingSystem = "messaging.system";
+
+ ///
+ /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
+ ///
+ public const string AttributeNetworkCarrierIcc = "network.carrier.icc";
+
+ ///
+ /// The mobile carrier country code.
+ ///
+ public const string AttributeNetworkCarrierMcc = "network.carrier.mcc";
+
+ ///
+ /// The mobile carrier network code.
+ ///
+ public const string AttributeNetworkCarrierMnc = "network.carrier.mnc";
+
+ ///
+ /// The name of the mobile carrier.
+ ///
+ public const string AttributeNetworkCarrierName = "network.carrier.name";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public const string AttributeNetworkConnectionSubtype = "network.connection.subtype";
+
+ ///
+ /// The internet connection type.
+ ///
+ public const string AttributeNetworkConnectionType = "network.connection.type";
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public const string AttributeNetworkIoDirection = "network.io.direction";
+
+ ///
+ /// Local address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkLocalAddress = "network.local.address";
+
+ ///
+ /// Local port number of the network connection.
+ ///
+ public const string AttributeNetworkLocalPort = "network.local.port";
+
+ ///
+ /// Peer address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkPeerAddress = "network.peer.address";
+
+ ///
+ /// Peer port number of the network connection.
+ ///
+ public const string AttributeNetworkPeerPort = "network.peer.port";
+
+ ///
+ /// OSI application layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkProtocolName = "network.protocol.name";
+
+ ///
+ /// The actual version of the protocol used for network communication.
+ ///
+ ///
+ /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set.
+ ///
+ public const string AttributeNetworkProtocolVersion = "network.protocol.version";
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since
+ /// a port number is ambiguous without knowing the transport. For example
+ /// different processes could be listening on TCP port 12345 and UDP port 12345.
+ ///
+ public const string AttributeNetworkTransport = "network.transport";
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkType = "network.type";
+
+ ///
+ /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
+ ///
+ ///
+ /// Follows OCI Image Manifest Specification, and specifically the Digest property.
+ /// An example can be found in Example Image Manifest.
+ ///
+ public const string AttributeOciManifestDigest = "oci.manifest.digest";
+
+ ///
+ /// Unique identifier for a particular build or compilation of the operating system.
+ ///
+ public const string AttributeOsBuildId = "os.build_id";
+
+ ///
+ /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+ ///
+ public const string AttributeOsDescription = "os.description";
+
+ ///
+ /// Human readable operating system name.
+ ///
+ public const string AttributeOsName = "os.name";
+
+ ///
+ /// The operating system type.
+ ///
+ public const string AttributeOsType = "os.type";
+
+ ///
+ /// The version string of the operating system as defined in Version Attributes.
+ ///
+ public const string AttributeOsVersion = "os.version";
+
+ ///
+ /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
+ ///
+ public const string AttributePeerService = "peer.service";
+
+ ///
+ /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
+ ///
+ public const string AttributeProcessCommand = "process.command";
+
+ ///
+ /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
+ ///
+ public const string AttributeProcessCommandArgs = "process.command_args";
+
+ ///
+ /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
+ ///
+ public const string AttributeProcessCommandLine = "process.command_line";
+
+ ///
+ /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutableName = "process.executable.name";
+
+ ///
+ /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutablePath = "process.executable.path";
+
+ ///
+ /// The username of the user that owns the process.
+ ///
+ public const string AttributeProcessOwner = "process.owner";
+
+ ///
+ /// Parent Process identifier (PPID).
+ ///
+ public const string AttributeProcessParentPid = "process.parent_pid";
+
+ ///
+ /// Process identifier (PID).
+ ///
+ public const string AttributeProcessPid = "process.pid";
+
+ ///
+ /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
+ ///
+ public const string AttributeProcessRuntimeDescription = "process.runtime.description";
+
+ ///
+ /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
+ ///
+ public const string AttributeProcessRuntimeName = "process.runtime.name";
+
+ ///
+ /// The version of the runtime of this process, as returned by the runtime without modification.
+ ///
+ public const string AttributeProcessRuntimeVersion = "process.runtime.version";
+
+ ///
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
+
+ ///
+ /// error.code property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
+
+ ///
+ /// error.message property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
+
+ ///
+ /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
+ ///
+ public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
+
+ ///
+ /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted.
+ ///
+ public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
+
+ ///
+ /// The name of the (logical) method being called, must be equal to the $method part in the span name.
+ ///
+ ///
+ /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
+ ///
+ public const string AttributeRpcMethod = "rpc.method";
+
+ ///
+ /// The full (logical) name of the service being called, including its package name, if applicable.
+ ///
+ ///
+ /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
+ ///
+ public const string AttributeRpcService = "rpc.service";
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeRpcSystem = "rpc.system";
+
+ ///
+ /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerAddress = "server.address";
+
+ ///
+ /// Server port number.
+ ///
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerPort = "server.port";
+
+ ///
+ /// The string ID of the service instance.
+ ///
+ ///
+ /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words
+ /// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to
+ /// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled
+ /// service).Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC
+ /// 4122 UUID, but are free to use an inherent unique ID as the source of
+ /// this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and
+ /// SHOULD use the following UUID as the namespace: 4d63009a-8d0f-11ee-aad7-4c796ed8e320.UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is
+ /// needed. Similar to what can be seen in the man page for the
+ /// /etc/machine-id file, the underlying
+ /// data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it
+ /// or not via another resource attribute.For applications running behind an application server (like unicorn), we do not recommend using one identifier
+ /// for all processes participating in the application. Instead, it's recommended each division (e.g. a worker
+ /// thread in unicorn) to have its own instance.id.It's not recommended for a Collector to set service.instance.id if it can't unambiguously determine the
+ /// service instance that is generating that telemetry. For instance, creating an UUID based on pod.name will
+ /// likely be wrong, as the Collector might not know from which container within that pod the telemetry originated.
+ /// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance
+ /// for that telemetry. This is typically the case for scraping receivers, as they know the target address and
+ /// port.
+ ///
+ public const string AttributeServiceInstanceId = "service.instance.id";
+
+ ///
+ /// Logical name of the service.
+ ///
+ ///
+ /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
+ ///
+ public const string AttributeServiceName = "service.name";
+
+ ///
+ /// A namespace for service.name.
+ ///
+ ///
+ /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
+ ///
+ public const string AttributeServiceNamespace = "service.namespace";
+
+ ///
+ /// The version string of the service API or implementation. The format is not defined by these conventions.
+ ///
+ public const string AttributeServiceVersion = "service.version";
+
+ ///
+ /// A unique id to identify a session.
+ ///
+ public const string AttributeSessionId = "session.id";
+
+ ///
+ /// The previous session.id for this user, when known.
+ ///
+ public const string AttributeSessionPreviousId = "session.previous_id";
+
+ ///
+ /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeSourceAddress = "source.address";
+
+ ///
+ /// Source port number.
+ ///
+ public const string AttributeSourcePort = "source.port";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
+
+ ///
+ /// The name of the telemetry SDK as defined above.
+ ///
+ ///
+ /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry.
+ /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the
+ /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point
+ /// or another suitable identifier depending on the language.
+ /// The identifier opentelemetry is reserved and MUST NOT be used in this case.
+ /// All custom identifiers SHOULD be stable across different versions of an implementation.
+ ///
+ public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
+
+ ///
+ /// The version string of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
+
+ ///
+ /// The name of the auto instrumentation agent or distribution, if used.
+ ///
+ ///
+ /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to
+ /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.
+ ///
+ public const string AttributeTelemetryDistroName = "telemetry.distro.name";
+
+ ///
+ /// The version string of the auto instrumentation agent or distribution, if used.
+ ///
+ public const string AttributeTelemetryDistroVersion = "telemetry.distro.version";
+
+ ///
+ /// Current "managed" thread ID (as opposed to OS thread ID).
+ ///
+ public const string AttributeThreadId = "thread.id";
+
+ ///
+ /// Current thread name.
+ ///
+ public const string AttributeThreadName = "thread.name";
+
+ ///
+ /// String indicating the cipher used during the current connection.
+ ///
+ ///
+ /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits.
+ ///
+ public const string AttributeTlsCipher = "tls.cipher";
+
+ ///
+ /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsClientCertificate = "tls.client.certificate";
+
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain";
+
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5";
+
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1";
+
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256";
+
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientIssuer = "tls.client.issuer";
+
+ ///
+ /// A hash that identifies clients based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsClientJa3 = "tls.client.ja3";
+
+ ///
+ /// Date/Time indicating when client certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsClientNotAfter = "tls.client.not_after";
+
+ ///
+ /// Date/Time indicating when client certificate is first considered valid.
+ ///
+ public const string AttributeTlsClientNotBefore = "tls.client.not_before";
+
+ ///
+ /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.
+ ///
+ public const string AttributeTlsClientServerName = "tls.client.server_name";
+
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientSubject = "tls.client.subject";
+
+ ///
+ /// Array of ciphers offered by the client during the client hello.
+ ///
+ public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers";
+
+ ///
+ /// String indicating the curve used for the given cipher, when applicable.
+ ///
+ public const string AttributeTlsCurve = "tls.curve";
+
+ ///
+ /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.
+ ///
+ public const string AttributeTlsEstablished = "tls.established";
+
+ ///
+ /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case.
+ ///
+ public const string AttributeTlsNextProtocol = "tls.next_protocol";
+
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolName = "tls.protocol.name";
+
+ ///
+ /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolVersion = "tls.protocol.version";
+
+ ///
+ /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
+ ///
+ public const string AttributeTlsResumed = "tls.resumed";
+
+ ///
+ /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsServerCertificate = "tls.server.certificate";
+
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain";
+
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5";
+
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1";
+
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256";
+
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsServerIssuer = "tls.server.issuer";
+
+ ///
+ /// A hash that identifies servers based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsServerJa3s = "tls.server.ja3s";
+
+ ///
+ /// Date/Time indicating when server certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsServerNotAfter = "tls.server.not_after";
+
+ ///
+ /// Date/Time indicating when server certificate is first considered valid.
+ ///
+ public const string AttributeTlsServerNotBefore = "tls.server.not_before";
+
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the server.
+ ///
+ public const string AttributeTlsServerSubject = "tls.server.subject";
+
+ ///
+ /// Domain extracted from the url.full, such as "opentelemetry.io".
+ ///
+ ///
+ /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field.
+ ///
+ public const string AttributeUrlDomain = "url.domain";
+
+ ///
+ /// The file extension extracted from the url.full, excluding the leading dot.
+ ///
+ ///
+ /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz.
+ ///
+ public const string AttributeUrlExtension = "url.extension";
+
+ ///
+ /// The URI fragment component.
+ ///
+ public const string AttributeUrlFragment = "url.fragment";
+
+ ///
+ /// Absolute URL describing a network resource according to RFC3986.
+ ///
+ ///
+ /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.
+ /// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute's value SHOULD be https://REDACTED:REDACTED@www.example.com/.
+ /// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlFull = "url.full";
+
+ ///
+ /// Unmodified original URL as seen in the event source.
+ ///
+ ///
+ /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
+ /// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same.
+ ///
+ public const string AttributeUrlOriginal = "url.original";
+
+ ///
+ /// The URI path component.
+ ///
+ ///
+ /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlPath = "url.path";
+
+ ///
+ /// Port extracted from the url.full.
+ ///
+ public const string AttributeUrlPort = "url.port";
+
+ ///
+ /// The URI query component.
+ ///
+ ///
+ /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlQuery = "url.query";
+
+ ///
+ /// The highest registered url domain, stripped of the subdomain.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk.
+ ///
+ public const string AttributeUrlRegisteredDomain = "url.registered_domain";
+
+ ///
+ /// The URI scheme component identifying the used protocol.
+ ///
+ public const string AttributeUrlScheme = "url.scheme";
+
+ ///
+ /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.
+ ///
+ ///
+ /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period.
+ ///
+ public const string AttributeUrlSubdomain = "url.subdomain";
+
+ ///
+ /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list.
+ ///
+ public const string AttributeUrlTopLevelDomain = "url.top_level_domain";
+
+ ///
+ /// Name of the user-agent extracted from original. Usually refers to the browser's name.
+ ///
+ ///
+ /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version.
+ ///
+ public const string AttributeUserAgentName = "user_agent.name";
+
+ ///
+ /// Value of the HTTP User-Agent header sent by the client.
+ ///
+ public const string AttributeUserAgentOriginal = "user_agent.original";
+
+ ///
+ /// Version of the user-agent extracted from original. Usually refers to the browser's version.
+ ///
+ ///
+ /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name.
+ ///
+ public const string AttributeUserAgentVersion = "user_agent.version";
+
+ ///
+ /// The ID of a running ECS task. The ID MUST be extracted from task.arn.
+ ///
+ public const string AttributeAwsEcsTaskId = "aws.ecs.task.id";
+
+ ///
+ /// The ARN of an ECS cluster.
+ ///
+ public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
+
+ ///
+ /// The Amazon Resource Name (ARN) of an ECS container instance.
+ ///
+ public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
+
+ ///
+ /// The ARN of a running ECS task.
+ ///
+ public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
+
+ ///
+ /// The family name of the ECS task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
+
+ ///
+ /// The revision for the task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
+
+ ///
+ /// The ARN of an EKS cluster.
+ ///
+ public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
+
+ ///
+ /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
+ ///
+ ///
+ /// See the log group ARN format documentation.
+ ///
+ public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
+
+ ///
+ /// The name(s) of the AWS log group(s) an application is writing to.
+ ///
+ ///
+ /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
+ ///
+ public const string AttributeAwsLogGroupNames = "aws.log.group.names";
+
+ ///
+ /// The ARN(s) of the AWS log stream(s).
+ ///
+ ///
+ /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
+ ///
+ public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
+
+ ///
+ /// The name(s) of the AWS log stream(s) an application is writing to.
+ ///
+ public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
+
+ ///
+ /// Unique identifier for the application.
+ ///
+ public const string AttributeHerokuAppId = "heroku.app.id";
+
+ ///
+ /// Commit hash for the current release.
+ ///
+ public const string AttributeHerokuReleaseCommit = "heroku.release.commit";
+
+ ///
+ /// Time and date the release was created.
+ ///
+ public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
+
+ ///
+ /// The name of the web engine.
+ ///
+ public const string AttributeWebengineName = "webengine.name";
+
+ ///
+ /// Additional description of the web engine (e.g. detailed version and edition information).
+ ///
+ public const string AttributeWebengineDescription = "webengine.description";
+
+ ///
+ /// The version of the web engine.
+ ///
+ public const string AttributeWebengineVersion = "webengine.version";
+
+ ///
+ /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
+ ///
+ public const string AttributeOtelScopeName = "otel.scope.name";
+
+ ///
+ /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
+ ///
+ public const string AttributeOtelScopeVersion = "otel.scope.version";
+
+ ///
+ /// None.
+ ///
+ [Obsolete("use the `otel.scope.name` attribute")]
+ public const string AttributeOtelLibraryName = "otel.library.name";
+
+ ///
+ /// None.
+ ///
+ [Obsolete("use the `otel.scope.version` attribute")]
+ public const string AttributeOtelLibraryVersion = "otel.library.version";
+
+ ///
+ /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
+ ///
+ ///
+ /// This may be different from cloud.resource_id if an alias is involved.
+ ///
+ public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ ///
+ /// The causal relationship between a child Span and a parent Span.
+ ///
+ public const string AttributeOpentracingRefType = "opentracing.ref_type";
+
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public const string AttributeOtelStatusCode = "otel.status_code";
+
+ ///
+ /// Description of the Status if it has a value, otherwise not set.
+ ///
+ public const string AttributeOtelStatusDescription = "otel.status_description";
+
+ ///
+ /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.
+ ///
+ public const string AttributeAwsRequestId = "aws.request_id";
+
+ ///
+ /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations.
+ ///
+ ///
+ /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
+ /// This applies to almost all S3 operations except list-buckets.
+ ///
+ public const string AttributeAwsS3Bucket = "aws.s3.bucket";
+
+ ///
+ /// The source object (in the form bucket/key) for the copy operation.
+ ///
+ ///
+ /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter
+ /// of the copy-object operation within the S3 API.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3CopySource = "aws.s3.copy_source";
+
+ ///
+ /// The delete request container that specifies the objects to be deleted.
+ ///
+ ///
+ /// The delete attribute is only applicable to the delete-object operation.
+ /// The delete attribute corresponds to the --delete parameter of the
+ /// delete-objects operation within the S3 API.
+ ///
+ public const string AttributeAwsS3Delete = "aws.s3.delete";
+
+ ///
+ /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.
+ ///
+ ///
+ /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3Key = "aws.s3.key";
+
+ ///
+ /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
+ ///
+ ///
+ /// The part_number attribute is only applicable to the upload-part
+ /// and upload-part-copy operations.
+ /// The part_number attribute corresponds to the --part-number parameter of the
+ /// upload-part operation within the S3 API.
+ ///
+ public const string AttributeAwsS3PartNumber = "aws.s3.part_number";
+
+ ///
+ /// Upload ID that identifies the multipart upload.
+ ///
+ ///
+ /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter
+ /// of the S3 API multipart operations.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3UploadId = "aws.s3.upload_id";
+
+ ///
+ /// The GraphQL document being executed.
+ ///
+ ///
+ /// The value may be sanitized to exclude sensitive information.
+ ///
+ public const string AttributeGraphqlDocument = "graphql.document";
+
+ ///
+ /// The name of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationName = "graphql.operation.name";
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationType = "graphql.operation.type";
+
+ ///
+ /// Compressed size of the message in bytes.
+ ///
+ public const string AttributeMessageCompressedSize = "message.compressed_size";
+
+ ///
+ /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
+ ///
+ ///
+ /// This way we guarantee that the values will be consistent between different implementations.
+ ///
+ public const string AttributeMessageId = "message.id";
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public const string AttributeMessageType = "message.type";
+
+ ///
+ /// Uncompressed size of the message in bytes.
+ ///
+ public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
+
+ ///
+ /// Prefix for 'attributes.faas.common'.
+ ///
+ public static readonly string PrefixAttributesFaasCommon = "faas";
+
+ ///
+ /// Prefix for 'peer'.
+ ///
+ public static readonly string PrefixPeer = "peer";
+
+ ///
+ /// Prefix for 'event'.
+ ///
+ public static readonly string PrefixEvent = "event";
+
+ ///
+ /// Prefix for 'log.record'.
+ ///
+ public static readonly string PrefixLogRecord = "log.record";
+
+ ///
+ /// Prefix for 'log-exception'.
+ ///
+ public static readonly string PrefixLogException = "exception";
+
+ ///
+ /// Prefix for 'attributes.log'.
+ ///
+ public static readonly string PrefixAttributesLog = "log";
+
+ ///
+ /// Prefix for 'attributes.log.file'.
+ ///
+ public static readonly string PrefixAttributesLogFile = "log.file";
+
+ ///
+ /// Prefix for 'ios.lifecycle.events'.
+ ///
+ public static readonly string PrefixIosLifecycleEvents = "ios";
+
+ ///
+ /// Prefix for 'android.lifecycle.events'.
+ ///
+ public static readonly string PrefixAndroidLifecycleEvents = "android";
+
+ ///
+ /// Prefix for 'messaging.attributes.common'.
+ ///
+ public static readonly string PrefixMessagingAttributesCommon = "messaging";
+
+ ///
+ /// Prefix for 'aspnetcore'.
+ ///
+ public static readonly string PrefixAspnetcore = "aspnetcore";
+
+ ///
+ /// Prefix for 'signalr.common_attributes'.
+ ///
+ public static readonly string PrefixSignalrCommonAttributes = "signalr";
+
+ ///
+ /// Prefix for 'metric.jvm.memory.init'.
+ ///
+ public static readonly string PrefixMetricJvmMemoryInit = "jvm.memory";
+
+ ///
+ /// Prefix for 'attributes.jvm.buffer'.
+ ///
+ public static readonly string PrefixAttributesJvmBuffer = "jvm.buffer";
+
+ ///
+ /// Prefix for 'metric.jvm.gc.duration'.
+ ///
+ public static readonly string PrefixMetricJvmGcDuration = "jvm.gc";
+
+ ///
+ /// Prefix for 'attributes.process.cpu'.
+ ///
+ public static readonly string PrefixAttributesProcessCpu = "process.cpu";
+
+ ///
+ /// Prefix for 'metric.process.disk.io'.
+ ///
+ public static readonly string PrefixMetricProcessDiskIo = "process.disk";
+
+ ///
+ /// Prefix for 'attributes.system'.
+ ///
+ public static readonly string PrefixAttributesSystem = "system";
+
+ ///
+ /// Prefix for 'attributes.system.cpu'.
+ ///
+ public static readonly string PrefixAttributesSystemCpu = "system.cpu";
+
+ ///
+ /// Prefix for 'attributes.system.memory'.
+ ///
+ public static readonly string PrefixAttributesSystemMemory = "system.memory";
+
+ ///
+ /// Prefix for 'attributes.system.paging'.
+ ///
+ public static readonly string PrefixAttributesSystemPaging = "system.paging";
+
+ ///
+ /// Prefix for 'attributes.system.filesystem'.
+ ///
+ public static readonly string PrefixAttributesSystemFilesystem = "system.filesystem";
+
+ ///
+ /// Prefix for 'attributes.system.network'.
+ ///
+ public static readonly string PrefixAttributesSystemNetwork = "system.network";
+
+ ///
+ /// Prefix for 'attributes.system.process'.
+ ///
+ public static readonly string PrefixAttributesSystemProcess = "system.process";
+
+ ///
+ /// Prefix for 'network-core'.
+ ///
+ public static readonly string PrefixNetworkCore = "network";
+
+ ///
+ /// Prefix for 'registry.aws.dynamodb'.
+ ///
+ public static readonly string PrefixRegistryAwsDynamodb = "aws.dynamodb";
+
+ ///
+ /// Prefix for 'registry.browser'.
+ ///
+ public static readonly string PrefixRegistryBrowser = "browser";
+
+ ///
+ /// Prefix for 'registry.client'.
+ ///
+ public static readonly string PrefixRegistryClient = "client";
+
+ ///
+ /// Prefix for 'registry.cloud'.
+ ///
+ public static readonly string PrefixRegistryCloud = "cloud";
+
+ ///
+ /// Prefix for 'registry.cloudevents'.
+ ///
+ public static readonly string PrefixRegistryCloudevents = "cloudevents";
+
+ ///
+ /// Prefix for 'registry.code'.
+ ///
+ public static readonly string PrefixRegistryCode = "code";
+
+ ///
+ /// Prefix for 'registry.container'.
+ ///
+ public static readonly string PrefixRegistryContainer = "container";
+
+ ///
+ /// Prefix for 'registry.db'.
+ ///
+ public static readonly string PrefixRegistryDb = "db";
+
+ ///
+ /// Prefix for 'registry.deployment'.
+ ///
+ public static readonly string PrefixRegistryDeployment = "deployment";
+
+ ///
+ /// Prefix for 'attributes.http.deprecated'.
+ ///
+ public static readonly string PrefixAttributesHttpDeprecated = "http";
+
+ ///
+ /// Prefix for 'attributes.network.deprecated'.
+ ///
+ public static readonly string PrefixAttributesNetworkDeprecated = "net";
+
+ ///
+ /// Prefix for 'registry.destination'.
+ ///
+ public static readonly string PrefixRegistryDestination = "destination";
+
+ ///
+ /// Prefix for 'registry.device'.
+ ///
+ public static readonly string PrefixRegistryDevice = "device";
+
+ ///
+ /// Prefix for 'registry.disk'.
+ ///
+ public static readonly string PrefixRegistryDisk = "disk";
+
+ ///
+ /// Prefix for 'registry.dns'.
+ ///
+ public static readonly string PrefixRegistryDns = "dns";
+
+ ///
+ /// Prefix for 'registry.enduser'.
+ ///
+ public static readonly string PrefixRegistryEnduser = "enduser";
+
+ ///
+ /// Prefix for 'registry.error'.
+ ///
+ public static readonly string PrefixRegistryError = "error";
+
+ ///
+ /// Prefix for 'registry.feature_flag'.
+ ///
+ public static readonly string PrefixRegistryFeatureFlag = "feature_flag";
+
+ ///
+ /// Prefix for 'registry.file'.
+ ///
+ public static readonly string PrefixRegistryFile = "file";
+
+ ///
+ /// Prefix for 'registry.gcp.cloud_run'.
+ ///
+ public static readonly string PrefixRegistryGcpCloudRun = "gcp.cloud_run";
+
+ ///
+ /// Prefix for 'registry.gcp.gce'.
+ ///
+ public static readonly string PrefixRegistryGcpGce = "gcp.gce";
+
+ ///
+ /// Prefix for 'registry.host'.
+ ///
+ public static readonly string PrefixRegistryHost = "host";
+
+ ///
+ /// Prefix for 'registry.k8s'.
+ ///
+ public static readonly string PrefixRegistryK8s = "k8s";
+
+ ///
+ /// Prefix for 'registry.oci.manifest'.
+ ///
+ public static readonly string PrefixRegistryOciManifest = "oci.manifest";
+
+ ///
+ /// Prefix for 'registry.os'.
+ ///
+ public static readonly string PrefixRegistryOs = "os";
+
+ ///
+ /// Prefix for 'registry.process'.
+ ///
+ public static readonly string PrefixRegistryProcess = "process";
+
+ ///
+ /// Prefix for 'registry.rpc'.
+ ///
+ public static readonly string PrefixRegistryRpc = "rpc";
+
+ ///
+ /// Prefix for 'registry.server'.
+ ///
+ public static readonly string PrefixRegistryServer = "server";
+
+ ///
+ /// Prefix for 'registry.service'.
+ ///
+ public static readonly string PrefixRegistryService = "service";
+
+ ///
+ /// Prefix for 'registry.session'.
+ ///
+ public static readonly string PrefixRegistrySession = "session";
+
+ ///
+ /// Prefix for 'registry.source'.
+ ///
+ public static readonly string PrefixRegistrySource = "source";
+
+ ///
+ /// Prefix for 'registry.telemetry'.
+ ///
+ public static readonly string PrefixRegistryTelemetry = "telemetry";
+
+ ///
+ /// Prefix for 'registry.thread'.
+ ///
+ public static readonly string PrefixRegistryThread = "thread";
+
+ ///
+ /// Prefix for 'registry.tls'.
+ ///
+ public static readonly string PrefixRegistryTls = "tls";
+
+ ///
+ /// Prefix for 'registry.url'.
+ ///
+ public static readonly string PrefixRegistryUrl = "url";
+
+ ///
+ /// Prefix for 'registry.user_agent'.
+ ///
+ public static readonly string PrefixRegistryUserAgent = "user_agent";
+
+ ///
+ /// Prefix for 'aws.ecs'.
+ ///
+ public static readonly string PrefixAwsEcs = "aws.ecs";
+
+ ///
+ /// Prefix for 'aws.eks'.
+ ///
+ public static readonly string PrefixAwsEks = "aws.eks";
+
+ ///
+ /// Prefix for 'aws.log'.
+ ///
+ public static readonly string PrefixAwsLog = "aws.log";
+
+ ///
+ /// Prefix for 'heroku'.
+ ///
+ public static readonly string PrefixHeroku = "heroku";
+
+ ///
+ /// Prefix for 'host.cpu'.
+ ///
+ public static readonly string PrefixHostCpu = "host.cpu";
+
+ ///
+ /// Prefix for 'k8s.cluster'.
+ ///
+ public static readonly string PrefixK8sCluster = "k8s.cluster";
+
+ ///
+ /// Prefix for 'k8s.node'.
+ ///
+ public static readonly string PrefixK8sNode = "k8s.node";
+
+ ///
+ /// Prefix for 'k8s.namespace'.
+ ///
+ public static readonly string PrefixK8sNamespace = "k8s.namespace";
+
+ ///
+ /// Prefix for 'k8s.pod'.
+ ///
+ public static readonly string PrefixK8sPod = "k8s.pod";
+
+ ///
+ /// Prefix for 'k8s.container'.
+ ///
+ public static readonly string PrefixK8sContainer = "k8s.container";
+
+ ///
+ /// Prefix for 'k8s.replicaset'.
+ ///
+ public static readonly string PrefixK8sReplicaset = "k8s.replicaset";
+
+ ///
+ /// Prefix for 'k8s.deployment'.
+ ///
+ public static readonly string PrefixK8sDeployment = "k8s.deployment";
+
+ ///
+ /// Prefix for 'k8s.statefulset'.
+ ///
+ public static readonly string PrefixK8sStatefulset = "k8s.statefulset";
+
+ ///
+ /// Prefix for 'k8s.daemonset'.
+ ///
+ public static readonly string PrefixK8sDaemonset = "k8s.daemonset";
+
+ ///
+ /// Prefix for 'k8s.job'.
+ ///
+ public static readonly string PrefixK8sJob = "k8s.job";
+
+ ///
+ /// Prefix for 'k8s.cronjob'.
+ ///
+ public static readonly string PrefixK8sCronjob = "k8s.cronjob";
+
+ ///
+ /// Prefix for 'process.runtime'.
+ ///
+ public static readonly string PrefixProcessRuntime = "process.runtime";
+
+ ///
+ /// Prefix for 'webengine_resource'.
+ ///
+ public static readonly string PrefixWebengineResource = "webengine";
+
+ ///
+ /// Prefix for 'otel.scope'.
+ ///
+ public static readonly string PrefixOtelScope = "otel.scope";
+
+ ///
+ /// Prefix for 'otel.library'.
+ ///
+ public static readonly string PrefixOtelLibrary = "otel.library";
+
+ ///
+ /// Prefix for 'aws.lambda'.
+ ///
+ public static readonly string PrefixAwsLambda = "aws.lambda";
+
+ ///
+ /// Prefix for 'opentracing'.
+ ///
+ public static readonly string PrefixOpentracing = "opentracing";
+
+ ///
+ /// Prefix for 'db.cosmosdb'.
+ ///
+ public static readonly string PrefixDbCosmosdb = "db.cosmosdb";
+
+ ///
+ /// Prefix for 'otel_span'.
+ ///
+ public static readonly string PrefixOtelSpan = "otel";
+
+ ///
+ /// Prefix for 'faas_span.datasource'.
+ ///
+ public static readonly string PrefixFaasSpanDatasource = "faas.document";
+
+ ///
+ /// Prefix for 'aws'.
+ ///
+ public static readonly string PrefixAws = "aws";
+
+ ///
+ /// Prefix for 'aws.s3'.
+ ///
+ public static readonly string PrefixAwsS3 = "aws.s3";
+
+ ///
+ /// Prefix for 'graphql'.
+ ///
+ public static readonly string PrefixGraphql = "graphql";
+
+ ///
+ /// Prefix for 'messaging.destination_publish'.
+ ///
+ public static readonly string PrefixMessagingDestinationPublish = "messaging.destination_publish";
+
+ ///
+ /// Prefix for 'rpc.jsonrpc'.
+ ///
+ public static readonly string PrefixRpcJsonrpc = "rpc.jsonrpc";
+
+ ///
+ /// Prefix for 'rpc.message'.
+ ///
+ public static readonly string PrefixRpcMessage = "message";
+
+ ///
+ /// Event name for 'log-feature_flag'.
+ ///
+ public static readonly string EventLogFeatureFlag = "feature_flag";
+
+ ///
+ /// Event name for 'ios.lifecycle.events'.
+ ///
+ public static readonly string EventIosLifecycleEvents = "device.app.lifecycle";
+
+ ///
+ /// Event name for 'android.lifecycle.events'.
+ ///
+ public static readonly string EventAndroidLifecycleEvents = "device.app.lifecycle";
+
+ ///
+ /// Event name for 'feature_flag'.
+ ///
+ public static readonly string EventFeatureFlag = "feature_flag";
+
+ ///
+ /// Event name for 'rpc.message'.
+ ///
+ public static readonly string EventRpcMessage = "message";
+
+ ///
+ /// Event name for 'trace-exception'.
+ ///
+ public static readonly string EventTraceException = "exception";
+
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public static class LogIostreamValues
+ {
+ ///
+ /// Logs from stdout stream.
+ ///
+ public const string Stdout = "stdout";
+
+ ///
+ /// Events from stderr stream.
+ ///
+ public const string Stderr = "stderr";
+ }
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ public static class IosStateValues
+ {
+ ///
+ /// The app has become active. Associated with UIKit notification applicationDidBecomeActive.
+ ///
+ public const string Active = "active";
+
+ ///
+ /// The app is now inactive. Associated with UIKit notification applicationWillResignActive.
+ ///
+ public const string Inactive = "inactive";
+
+ ///
+ /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground.
+ ///
+ public const string Background = "background";
+
+ ///
+ /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground.
+ ///
+ public const string Foreground = "foreground";
+
+ ///
+ /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate.
+ ///
+ public const string Terminate = "terminate";
+ }
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ public static class AndroidStateValues
+ {
+ ///
+ /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
+ ///
+ public const string Created = "created";
+
+ ///
+ /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
+ ///
+ public const string Background = "background";
+
+ ///
+ /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
+ ///
+ public const string Foreground = "foreground";
+ }
+
+ ///
+ /// The state of a connection in the pool.
+ ///
+ public static class StateValues
+ {
+ ///
+ /// idle.
+ ///
+ public const string Idle = "idle";
+
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+ }
+
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public static class AspnetcoreRateLimitingResultValues
+ {
+ ///
+ /// Lease was acquired.
+ ///
+ public const string Acquired = "acquired";
+
+ ///
+ /// Lease request was rejected by the endpoint limiter.
+ ///
+ public const string EndpointLimiter = "endpoint_limiter";
+
+ ///
+ /// Lease request was rejected by the global limiter.
+ ///
+ public const string GlobalLimiter = "global_limiter";
+
+ ///
+ /// Lease request was canceled.
+ ///
+ public const string RequestCanceled = "request_canceled";
+ }
+
+ ///
+ /// Match result - success or failure.
+ ///
+ public static class AspnetcoreRoutingMatchStatusValues
+ {
+ ///
+ /// Match succeeded.
+ ///
+ public const string Success = "success";
+
+ ///
+ /// Match failed.
+ ///
+ public const string Failure = "failure";
+ }
+
+ ///
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public static class AspnetcoreDiagnosticsExceptionResultValues
+ {
+ ///
+ /// Exception was handled by the exception handling middleware.
+ ///
+ public const string Handled = "handled";
+
+ ///
+ /// Exception was not handled by the exception handling middleware.
+ ///
+ public const string Unhandled = "unhandled";
+
+ ///
+ /// Exception handling was skipped because the response had started.
+ ///
+ public const string Skipped = "skipped";
+
+ ///
+ /// Exception handling didn't run because the request was aborted.
+ ///
+ public const string Aborted = "aborted";
+ }
+
+ ///
+ /// SignalR HTTP connection closure status.
+ ///
+ public static class SignalrConnectionStatusValues
+ {
+ ///
+ /// The connection was closed normally.
+ ///
+ public const string NormalClosure = "normal_closure";
+
+ ///
+ /// The connection was closed due to a timeout.
+ ///
+ public const string Timeout = "timeout";
+
+ ///
+ /// The connection was closed because the app is shutting down.
+ ///
+ public const string AppShutdown = "app_shutdown";
+ }
+
+ ///
+ /// SignalR transport type.
+ ///
+ public static class SignalrTransportValues
+ {
+ ///
+ /// ServerSentEvents protocol.
+ ///
+ public const string ServerSentEvents = "server_sent_events";
+
+ ///
+ /// LongPolling protocol.
+ ///
+ public const string LongPolling = "long_polling";
+
+ ///
+ /// WebSockets protocol.
+ ///
+ public const string WebSockets = "web_sockets";
+ }
+
+ ///
+ /// The type of memory.
+ ///
+ public static class JvmMemoryTypeValues
+ {
+ ///
+ /// Heap memory.
+ ///
+ public const string Heap = "heap";
+
+ ///
+ /// Non-heap memory.
+ ///
+ public const string NonHeap = "non_heap";
+ }
+
+ ///
+ /// State of the thread.
+ ///
+ public static class JvmThreadStateValues
+ {
+ ///
+ /// A thread that has not yet started is in this state.
+ ///
+ public const string New = "new";
+
+ ///
+ /// A thread executing in the Java virtual machine is in this state.
+ ///
+ public const string Runnable = "runnable";
+
+ ///
+ /// A thread that is blocked waiting for a monitor lock is in this state.
+ ///
+ public const string Blocked = "blocked";
+
+ ///
+ /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
+ ///
+ public const string Waiting = "waiting";
+
+ ///
+ /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
+ ///
+ public const string TimedWaiting = "timed_waiting";
+
+ ///
+ /// A thread that has exited is in this state.
+ ///
+ public const string Terminated = "terminated";
+ }
+
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class ProcessCpuStateValues
+ {
+ ///
+ /// system.
+ ///
+ public const string System = "system";
+
+ ///
+ /// user.
+ ///
+ public const string User = "user";
+
+ ///
+ /// wait.
+ ///
+ public const string Wait = "wait";
+ }
+
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public static class ProcessContextSwitchTypeValues
+ {
+ ///
+ /// voluntary.
+ ///
+ public const string Voluntary = "voluntary";
+
+ ///
+ /// involuntary.
+ ///
+ public const string Involuntary = "involuntary";
+ }
+
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public static class ProcessPagingFaultTypeValues
+ {
+ ///
+ /// major.
+ ///
+ public const string Major = "major";
+
+ ///
+ /// minor.
+ ///
+ public const string Minor = "minor";
+ }
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class SystemCpuStateValues
+ {
+ ///
+ /// user.
+ ///
+ public const string User = "user";
+
+ ///
+ /// system.
+ ///
+ public const string System = "system";
+
+ ///
+ /// nice.
+ ///
+ public const string Nice = "nice";
+
+ ///
+ /// idle.
+ ///
+ public const string Idle = "idle";
+
+ ///
+ /// iowait.
+ ///
+ public const string Iowait = "iowait";
+
+ ///
+ /// interrupt.
+ ///
+ public const string Interrupt = "interrupt";
+
+ ///
+ /// steal.
+ ///
+ public const string Steal = "steal";
+ }
+
+ ///
+ /// The memory state.
+ ///
+ public static class SystemMemoryStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+
+ ///
+ /// shared.
+ ///
+ public const string Shared = "shared";
+
+ ///
+ /// buffers.
+ ///
+ public const string Buffers = "buffers";
+
+ ///
+ /// cached.
+ ///
+ public const string Cached = "cached";
+ }
+
+ ///
+ /// The paging access direction.
+ ///
+ public static class SystemPagingDirectionValues
+ {
+ ///
+ /// in.
+ ///
+ public const string In = "in";
+
+ ///
+ /// out.
+ ///
+ public const string Out = "out";
+ }
+
+ ///
+ /// The memory paging state.
+ ///
+ public static class SystemPagingStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+ }
+
+ ///
+ /// The memory paging type.
+ ///
+ public static class SystemPagingTypeValues
+ {
+ ///
+ /// major.
+ ///
+ public const string Major = "major";
+
+ ///
+ /// minor.
+ ///
+ public const string Minor = "minor";
+ }
+
+ ///
+ /// The filesystem state.
+ ///
+ public static class SystemFilesystemStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+
+ ///
+ /// reserved.
+ ///
+ public const string Reserved = "reserved";
+ }
+
+ ///
+ /// The filesystem type.
+ ///
+ public static class SystemFilesystemTypeValues
+ {
+ ///
+ /// fat32.
+ ///
+ public const string Fat32 = "fat32";
+
+ ///
+ /// exfat.
+ ///
+ public const string Exfat = "exfat";
+
+ ///
+ /// ntfs.
+ ///
+ public const string Ntfs = "ntfs";
+
+ ///
+ /// refs.
+ ///
+ public const string Refs = "refs";
+
+ ///
+ /// hfsplus.
+ ///
+ public const string Hfsplus = "hfsplus";
+
+ ///
+ /// ext4.
+ ///
+ public const string Ext4 = "ext4";
+ }
+
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public static class SystemNetworkStateValues
+ {
+ ///
+ /// close.
+ ///
+ public const string Close = "close";
+
+ ///
+ /// close_wait.
+ ///
+ public const string CloseWait = "close_wait";
+
+ ///
+ /// closing.
+ ///
+ public const string Closing = "closing";
+
+ ///
+ /// delete.
+ ///
+ public const string Delete = "delete";
+
+ ///
+ /// established.
+ ///
+ public const string Established = "established";
+
+ ///
+ /// fin_wait_1.
+ ///
+ public const string FinWait1 = "fin_wait_1";
+
+ ///
+ /// fin_wait_2.
+ ///
+ public const string FinWait2 = "fin_wait_2";
+
+ ///
+ /// last_ack.
+ ///
+ public const string LastAck = "last_ack";
+
+ ///
+ /// listen.
+ ///
+ public const string Listen = "listen";
+
+ ///
+ /// syn_recv.
+ ///
+ public const string SynRecv = "syn_recv";
+
+ ///
+ /// syn_sent.
+ ///
+ public const string SynSent = "syn_sent";
+
+ ///
+ /// time_wait.
+ ///
+ public const string TimeWait = "time_wait";
+ }
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public static class SystemProcessStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
+ }
+
+ ///
+ /// The cloud platform in use.
+ ///
+ public static class CloudPlatformValues
+ {
+ ///
+ /// Alibaba Cloud Elastic Compute Service.
+ ///
+ public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
+
+ ///
+ /// Alibaba Cloud Function Compute.
+ ///
+ public const string AlibabaCloudFc = "alibaba_cloud_fc";
+
+ ///
+ /// Red Hat OpenShift on Alibaba Cloud.
+ ///
+ public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
+
+ ///
+ /// AWS Elastic Compute Cloud.
+ ///
+ public const string AwsEc2 = "aws_ec2";
+
+ ///
+ /// AWS Elastic Container Service.
+ ///
+ public const string AwsEcs = "aws_ecs";
+
+ ///
+ /// AWS Elastic Kubernetes Service.
+ ///
+ public const string AwsEks = "aws_eks";
+
+ ///
+ /// AWS Lambda.
+ ///
+ public const string AwsLambda = "aws_lambda";
+
+ ///
+ /// AWS Elastic Beanstalk.
+ ///
+ public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
+
+ ///
+ /// AWS App Runner.
+ ///
+ public const string AwsAppRunner = "aws_app_runner";
+
+ ///
+ /// Red Hat OpenShift on AWS (ROSA).
+ ///
+ public const string AwsOpenshift = "aws_openshift";
+
+ ///
+ /// Azure Virtual Machines.
+ ///
+ public const string AzureVm = "azure_vm";
+
+ ///
+ /// Azure Container Apps.
+ ///
+ public const string AzureContainerApps = "azure_container_apps";
+
+ ///
+ /// Azure Container Instances.
+ ///
+ public const string AzureContainerInstances = "azure_container_instances";
+
+ ///
+ /// Azure Kubernetes Service.
+ ///
+ public const string AzureAks = "azure_aks";
+
+ ///
+ /// Azure Functions.
+ ///
+ public const string AzureFunctions = "azure_functions";
+
+ ///
+ /// Azure App Service.
+ ///
+ public const string AzureAppService = "azure_app_service";
+
+ ///
+ /// Azure Red Hat OpenShift.
+ ///
+ public const string AzureOpenshift = "azure_openshift";
+
+ ///
+ /// Google Bare Metal Solution (BMS).
+ ///
+ public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
+
+ ///
+ /// Google Cloud Compute Engine (GCE).
+ ///
+ public const string GcpComputeEngine = "gcp_compute_engine";
+
+ ///
+ /// Google Cloud Run.
+ ///
+ public const string GcpCloudRun = "gcp_cloud_run";
+
+ ///
+ /// Google Cloud Kubernetes Engine (GKE).
+ ///
+ public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
+
+ ///
+ /// Google Cloud Functions (GCF).
+ ///
+ public const string GcpCloudFunctions = "gcp_cloud_functions";
+
+ ///
+ /// Google Cloud App Engine (GAE).
+ ///
+ public const string GcpAppEngine = "gcp_app_engine";
+
+ ///
+ /// Red Hat OpenShift on Google Cloud.
+ ///
+ public const string GcpOpenshift = "gcp_openshift";
+
+ ///
+ /// Red Hat OpenShift on IBM Cloud.
+ ///
+ public const string IbmCloudOpenshift = "ibm_cloud_openshift";
+
+ ///
+ /// Tencent Cloud Cloud Virtual Machine (CVM).
+ ///
+ public const string TencentCloudCvm = "tencent_cloud_cvm";
+
+ ///
+ /// Tencent Cloud Elastic Kubernetes Service (EKS).
+ ///
+ public const string TencentCloudEks = "tencent_cloud_eks";
+
+ ///
+ /// Tencent Cloud Serverless Cloud Function (SCF).
+ ///
+ public const string TencentCloudScf = "tencent_cloud_scf";
+ }
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public static class CloudProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Heroku Platform as a Service.
+ ///
+ public const string Heroku = "heroku";
+
+ ///
+ /// IBM Cloud.
+ ///
+ public const string IbmCloud = "ibm_cloud";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// The CPU state for this data point.
+ ///
+ public static class ContainerCpuStateValues
+ {
+ ///
+ /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).
+ ///
+ public const string User = "user";
+
+ ///
+ /// When CPU is used by the system (host OS).
+ ///
+ public const string System = "system";
+
+ ///
+ /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).
+ ///
+ public const string Kernel = "kernel";
+ }
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public static class DbCassandraConsistencyLevelValues
+ {
+ ///
+ /// all.
+ ///
+ public const string All = "all";
+
+ ///
+ /// each_quorum.
+ ///
+ public const string EachQuorum = "each_quorum";
+
+ ///
+ /// quorum.
+ ///
+ public const string Quorum = "quorum";
+
+ ///
+ /// local_quorum.
+ ///
+ public const string LocalQuorum = "local_quorum";
+
+ ///
+ /// one.
+ ///
+ public const string One = "one";
+
+ ///
+ /// two.
+ ///
+ public const string Two = "two";
+
+ ///
+ /// three.
+ ///
+ public const string Three = "three";
+
+ ///
+ /// local_one.
+ ///
+ public const string LocalOne = "local_one";
+
+ ///
+ /// any.
+ ///
+ public const string Any = "any";
+
+ ///
+ /// serial.
+ ///
+ public const string Serial = "serial";
+
+ ///
+ /// local_serial.
+ ///
+ public const string LocalSerial = "local_serial";
+ }
+
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public static class DbCosmosdbConnectionModeValues
+ {
+ ///
+ /// Gateway (HTTP) connections mode.
+ ///
+ public const string Gateway = "gateway";
+
+ ///
+ /// Direct connection.
+ ///
+ public const string Direct = "direct";
+ }
+
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public static class DbCosmosdbOperationTypeValues
+ {
+ ///
+ /// invalid.
+ ///
+ public const string Invalid = "Invalid";
+
+ ///
+ /// create.
+ ///
+ public const string Create = "Create";
+
+ ///
+ /// patch.
+ ///
+ public const string Patch = "Patch";
+
+ ///
+ /// read.
+ ///
+ public const string Read = "Read";
+
+ ///
+ /// read_feed.
+ ///
+ public const string ReadFeed = "ReadFeed";
+
+ ///
+ /// delete.
+ ///
+ public const string Delete = "Delete";
+
+ ///
+ /// replace.
+ ///
+ public const string Replace = "Replace";
+
+ ///
+ /// execute.
+ ///
+ public const string Execute = "Execute";
+
+ ///
+ /// query.
+ ///
+ public const string Query = "Query";
+
+ ///
+ /// head.
+ ///
+ public const string Head = "Head";
+
+ ///
+ /// head_feed.
+ ///
+ public const string HeadFeed = "HeadFeed";
+
+ ///
+ /// upsert.
+ ///
+ public const string Upsert = "Upsert";
+
+ ///
+ /// batch.
+ ///
+ public const string Batch = "Batch";
+
+ ///
+ /// query_plan.
+ ///
+ public const string QueryPlan = "QueryPlan";
+
+ ///
+ /// execute_javascript.
+ ///
+ public const string ExecuteJavascript = "ExecuteJavaScript";
+ }
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public static class DbSystemValues
+ {
+ ///
+ /// Some other SQL database. Fallback only. See notes.
+ ///
+ public const string OtherSql = "other_sql";
+
+ ///
+ /// Microsoft SQL Server.
+ ///
+ public const string Mssql = "mssql";
+
+ ///
+ /// Microsoft SQL Server Compact.
+ ///
+ public const string Mssqlcompact = "mssqlcompact";
+
+ ///
+ /// MySQL.
+ ///
+ public const string Mysql = "mysql";
+
+ ///
+ /// Oracle Database.
+ ///
+ public const string Oracle = "oracle";
+
+ ///
+ /// IBM Db2.
+ ///
+ public const string Db2 = "db2";
+
+ ///
+ /// PostgreSQL.
+ ///
+ public const string Postgresql = "postgresql";
+
+ ///
+ /// Amazon Redshift.
+ ///
+ public const string Redshift = "redshift";
+
+ ///
+ /// Apache Hive.
+ ///
+ public const string Hive = "hive";
+
+ ///
+ /// Cloudscape.
+ ///
+ public const string Cloudscape = "cloudscape";
+
+ ///
+ /// HyperSQL DataBase.
+ ///
+ public const string Hsqldb = "hsqldb";
+
+ ///
+ /// Progress Database.
+ ///
+ public const string Progress = "progress";
+
+ ///
+ /// SAP MaxDB.
+ ///
+ public const string Maxdb = "maxdb";
+
+ ///
+ /// SAP HANA.
+ ///
+ public const string Hanadb = "hanadb";
+
+ ///
+ /// Ingres.
+ ///
+ public const string Ingres = "ingres";
+
+ ///
+ /// FirstSQL.
+ ///
+ public const string Firstsql = "firstsql";
+
+ ///
+ /// EnterpriseDB.
+ ///
+ public const string Edb = "edb";
+
+ ///
+ /// InterSystems Caché.
+ ///
+ public const string Cache = "cache";
+
+ ///
+ /// Adabas (Adaptable Database System).
+ ///
+ public const string Adabas = "adabas";
+
+ ///
+ /// Firebird.
+ ///
+ public const string Firebird = "firebird";
+
+ ///
+ /// Apache Derby.
+ ///
+ public const string Derby = "derby";
+
+ ///
+ /// FileMaker.
+ ///
+ public const string Filemaker = "filemaker";
+
+ ///
+ /// Informix.
+ ///
+ public const string Informix = "informix";
+
+ ///
+ /// InstantDB.
+ ///
+ public const string Instantdb = "instantdb";
+
+ ///
+ /// InterBase.
+ ///
+ public const string Interbase = "interbase";
+
+ ///
+ /// MariaDB.
+ ///
+ public const string Mariadb = "mariadb";
+
+ ///
+ /// Netezza.
+ ///
+ public const string Netezza = "netezza";
+
+ ///
+ /// Pervasive PSQL.
+ ///
+ public const string Pervasive = "pervasive";
+
+ ///
+ /// PointBase.
+ ///
+ public const string Pointbase = "pointbase";
+
+ ///
+ /// SQLite.
+ ///
+ public const string Sqlite = "sqlite";
+
+ ///
+ /// Sybase.
+ ///
+ public const string Sybase = "sybase";
+
+ ///
+ /// Teradata.
+ ///
+ public const string Teradata = "teradata";
+
+ ///
+ /// Vertica.
+ ///
+ public const string Vertica = "vertica";
+
+ ///
+ /// H2.
+ ///
+ public const string H2 = "h2";
+
+ ///
+ /// ColdFusion IMQ.
+ ///
+ public const string Coldfusion = "coldfusion";
+
+ ///
+ /// Apache Cassandra.
+ ///
+ public const string Cassandra = "cassandra";
+
+ ///
+ /// Apache HBase.
+ ///
+ public const string Hbase = "hbase";
+
+ ///
+ /// MongoDB.
+ ///
+ public const string Mongodb = "mongodb";
+
+ ///
+ /// Redis.
+ ///
+ public const string Redis = "redis";
+
+ ///
+ /// Couchbase.
+ ///
+ public const string Couchbase = "couchbase";
+
+ ///
+ /// CouchDB.
+ ///
+ public const string Couchdb = "couchdb";
+
+ ///
+ /// Microsoft Azure Cosmos DB.
+ ///
+ public const string Cosmosdb = "cosmosdb";
+
+ ///
+ /// Amazon DynamoDB.
+ ///
+ public const string Dynamodb = "dynamodb";
+
+ ///
+ /// Neo4j.
+ ///
+ public const string Neo4j = "neo4j";
+
+ ///
+ /// Apache Geode.
+ ///
+ public const string Geode = "geode";
+
+ ///
+ /// Elasticsearch.
+ ///
+ public const string Elasticsearch = "elasticsearch";
+
+ ///
+ /// Memcached.
+ ///
+ public const string Memcached = "memcached";
+
+ ///
+ /// CockroachDB.
+ ///
+ public const string Cockroachdb = "cockroachdb";
+
+ ///
+ /// OpenSearch.
+ ///
+ public const string Opensearch = "opensearch";
+
+ ///
+ /// ClickHouse.
+ ///
+ public const string Clickhouse = "clickhouse";
+
+ ///
+ /// Cloud Spanner.
+ ///
+ public const string Spanner = "spanner";
+
+ ///
+ /// Trino.
+ ///
+ public const string Trino = "trino";
+ }
+
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ public static class HttpFlavorValues
+ {
+ ///
+ /// HTTP/1.0.
+ ///
+ public const string Http10 = "1.0";
+
+ ///
+ /// HTTP/1.1.
+ ///
+ public const string Http11 = "1.1";
+
+ ///
+ /// HTTP/2.
+ ///
+ public const string Http20 = "2.0";
+
+ ///
+ /// HTTP/3.
+ ///
+ public const string Http30 = "3.0";
+
+ ///
+ /// SPDY protocol.
+ ///
+ public const string Spdy = "SPDY";
+
+ ///
+ /// QUIC protocol.
+ ///
+ public const string Quic = "QUIC";
+ }
+
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ public static class NetSockFamilyValues
+ {
+ ///
+ /// IPv4 address.
+ ///
+ public const string Inet = "inet";
+
+ ///
+ /// IPv6 address.
+ ///
+ public const string Inet6 = "inet6";
+
+ ///
+ /// Unix domain socket path.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ public static class NetTransportValues
+ {
+ ///
+ /// ip_tcp.
+ ///
+ public const string IpTcp = "ip_tcp";
+
+ ///
+ /// ip_udp.
+ ///
+ public const string IpUdp = "ip_udp";
+
+ ///
+ /// Named or anonymous pipe.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// In-process communication.
+ ///
+ public const string Inproc = "inproc";
+
+ ///
+ /// Something else (non IP-based).
+ ///
+ public const string Other = "other";
+ }
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ public static class SystemProcessesStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
+ }
+
+ ///
+ /// The disk IO operation direction.
+ ///
+ public static class DiskIoDirectionValues
+ {
+ ///
+ /// read.
+ ///
+ public const string Read = "read";
+
+ ///
+ /// write.
+ ///
+ public const string Write = "write";
+ }
+
+ ///
+ /// Describes a class of error the operation ended with.
+ ///
+ public static class ErrorTypeValues
+ {
+ ///
+ /// A fallback error value to be used when the instrumentation doesn't define a custom value.
+ ///
+ public const string Other = "_OTHER";
+ }
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public static class FaasDocumentOperationValues
+ {
+ ///
+ /// When a new object is created.
+ ///
+ public const string Insert = "insert";
+
+ ///
+ /// When an object is modified.
+ ///
+ public const string Edit = "edit";
+
+ ///
+ /// When an object is deleted.
+ ///
+ public const string Delete = "delete";
+ }
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ public static class FaasInvokedProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public static class FaasTriggerValues
+ {
+ ///
+ /// A response to some data source operation such as a database or filesystem read/write.
+ ///
+ public const string Datasource = "datasource";
+
+ ///
+ /// To provide an answer to an inbound HTTP request.
+ ///
+ public const string Http = "http";
+
+ ///
+ /// A function is set to be executed when messages are sent to a messaging system.
+ ///
+ public const string Pubsub = "pubsub";
+
+ ///
+ /// A function is scheduled to be executed regularly.
+ ///
+ public const string Timer = "timer";
+
+ ///
+ /// If none of the others apply.
+ ///
+ public const string Other = "other";
+ }
+
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public static class HostArchValues
+ {
+ ///
+ /// AMD64.
+ ///
+ public const string Amd64 = "amd64";
+
+ ///
+ /// ARM32.
+ ///
+ public const string Arm32 = "arm32";
+
+ ///
+ /// ARM64.
+ ///
+ public const string Arm64 = "arm64";
+
+ ///
+ /// Itanium.
+ ///
+ public const string Ia64 = "ia64";
+
+ ///
+ /// 32-bit PowerPC.
+ ///
+ public const string Ppc32 = "ppc32";
+
+ ///
+ /// 64-bit PowerPC.
+ ///
+ public const string Ppc64 = "ppc64";
+
+ ///
+ /// IBM z/Architecture.
+ ///
+ public const string S390x = "s390x";
+
+ ///
+ /// 32-bit x86.
+ ///
+ public const string X86 = "x86";
+ }
+
+ ///
+ /// State of the HTTP connection in the HTTP connection pool.
+ ///
+ public static class HttpConnectionStateValues
+ {
+ ///
+ /// active state.
+ ///
+ public const string Active = "active";
+
+ ///
+ /// idle state.
+ ///
+ public const string Idle = "idle";
+ }
+
+ ///
+ /// HTTP request method.
+ ///
+ public static class HttpRequestMethodValues
+ {
+ ///
+ /// CONNECT method.
+ ///
+ public const string Connect = "CONNECT";
+
+ ///
+ /// DELETE method.
+ ///
+ public const string Delete = "DELETE";
+
+ ///
+ /// GET method.
+ ///
+ public const string Get = "GET";
+
+ ///
+ /// HEAD method.
+ ///
+ public const string Head = "HEAD";
+
+ ///
+ /// OPTIONS method.
+ ///
+ public const string Options = "OPTIONS";
+
+ ///
+ /// PATCH method.
+ ///
+ public const string Patch = "PATCH";
+
+ ///
+ /// POST method.
+ ///
+ public const string Post = "POST";
+
+ ///
+ /// PUT method.
+ ///
+ public const string Put = "PUT";
+
+ ///
+ /// TRACE method.
+ ///
+ public const string Trace = "TRACE";
+
+ ///
+ /// Any HTTP method that the instrumentation has no prior knowledge of.
+ ///
+ public const string Other = "_OTHER";
+ }
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ public static class MessagingOperationValues
+ {
+ ///
+ /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
+ ///
+ public const string Publish = "publish";
+
+ ///
+ /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
+ ///
+ public const string Create = "create";
+
+ ///
+ /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.
+ ///
+ public const string Receive = "receive";
+
+ ///
+ /// One or more messages are delivered to or processed by a consumer.
+ ///
+ public const string Deliver = "process";
+
+ ///
+ /// One or more messages are settled.
+ ///
+ public const string Settle = "settle";
+ }
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public static class MessagingRocketmqConsumptionModelValues
+ {
+ ///
+ /// Clustering consumption model.
+ ///
+ public const string Clustering = "clustering";
+
+ ///
+ /// Broadcasting consumption model.
+ ///
+ public const string Broadcasting = "broadcasting";
+ }
+
+ ///
+ /// Type of message.
+ ///
+ public static class MessagingRocketmqMessageTypeValues
+ {
+ ///
+ /// Normal message.
+ ///
+ public const string Normal = "normal";
+
+ ///
+ /// FIFO message.
+ ///
+ public const string Fifo = "fifo";
+
+ ///
+ /// Delay message.
+ ///
+ public const string Delay = "delay";
+
+ ///
+ /// Transaction message.
+ ///
+ public const string Transaction = "transaction";
+ }
+
+ ///
+ /// Describes the settlement type.
+ ///
+ public static class MessagingServicebusDispositionStatusValues
+ {
+ ///
+ /// Message is completed.
+ ///
+ public const string Complete = "complete";
+
+ ///
+ /// Message is abandoned.
+ ///
+ public const string Abandon = "abandon";
+
+ ///
+ /// Message is sent to dead letter queue.
+ ///
+ public const string DeadLetter = "dead_letter";
+
+ ///
+ /// Message is deferred.
+ ///
+ public const string Defer = "defer";
+ }
+
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public static class MessagingSystemValues
+ {
+ ///
+ /// Apache ActiveMQ.
+ ///
+ public const string Activemq = "activemq";
+
+ ///
+ /// Amazon Simple Queue Service (SQS).
+ ///
+ public const string AwsSqs = "aws_sqs";
+
+ ///
+ /// Azure Event Grid.
+ ///
+ public const string Eventgrid = "eventgrid";
+
+ ///
+ /// Azure Event Hubs.
+ ///
+ public const string Eventhubs = "eventhubs";
+
+ ///
+ /// Azure Service Bus.
+ ///
+ public const string Servicebus = "servicebus";
+
+ ///
+ /// Google Cloud Pub/Sub.
+ ///
+ public const string GcpPubsub = "gcp_pubsub";
+
+ ///
+ /// Java Message Service.
+ ///
+ public const string Jms = "jms";
+
+ ///
+ /// Apache Kafka.
+ ///
+ public const string Kafka = "kafka";
+
+ ///
+ /// RabbitMQ.
+ ///
+ public const string Rabbitmq = "rabbitmq";
+
+ ///
+ /// Apache RocketMQ.
+ ///
+ public const string Rocketmq = "rocketmq";
+ }
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public static class NetworkConnectionSubtypeValues
+ {
+ ///
+ /// GPRS.
+ ///
+ public const string Gprs = "gprs";
+
+ ///
+ /// EDGE.
+ ///
+ public const string Edge = "edge";
+
+ ///
+ /// UMTS.
+ ///
+ public const string Umts = "umts";
+
+ ///
+ /// CDMA.
+ ///
+ public const string Cdma = "cdma";
+
+ ///
+ /// EVDO Rel. 0.
+ ///
+ public const string Evdo0 = "evdo_0";
+
+ ///
+ /// EVDO Rev. A.
+ ///
+ public const string EvdoA = "evdo_a";
+
+ ///
+ /// CDMA2000 1XRTT.
+ ///
+ public const string Cdma20001xrtt = "cdma2000_1xrtt";
+
+ ///
+ /// HSDPA.
+ ///
+ public const string Hsdpa = "hsdpa";
+
+ ///
+ /// HSUPA.
+ ///
+ public const string Hsupa = "hsupa";
+
+ ///
+ /// HSPA.
+ ///
+ public const string Hspa = "hspa";
+
+ ///
+ /// IDEN.
+ ///
+ public const string Iden = "iden";
+
+ ///
+ /// EVDO Rev. B.
+ ///
+ public const string EvdoB = "evdo_b";
+
+ ///
+ /// LTE.
+ ///
+ public const string Lte = "lte";
+
+ ///
+ /// EHRPD.
+ ///
+ public const string Ehrpd = "ehrpd";
+
+ ///
+ /// HSPAP.
+ ///
+ public const string Hspap = "hspap";
+
+ ///
+ /// GSM.
+ ///
+ public const string Gsm = "gsm";
+
+ ///
+ /// TD-SCDMA.
+ ///
+ public const string TdScdma = "td_scdma";
+
+ ///
+ /// IWLAN.
+ ///
+ public const string Iwlan = "iwlan";
+
+ ///
+ /// 5G NR (New Radio).
+ ///
+ public const string Nr = "nr";
+
+ ///
+ /// 5G NRNSA (New Radio Non-Standalone).
+ ///
+ public const string Nrnsa = "nrnsa";
+
+ ///
+ /// LTE CA.
+ ///
+ public const string LteCa = "lte_ca";
+ }
+
+ ///
+ /// The internet connection type.
+ ///
+ public static class NetworkConnectionTypeValues
+ {
+ ///
+ /// wifi.
+ ///
+ public const string Wifi = "wifi";
+
+ ///
+ /// wired.
+ ///
+ public const string Wired = "wired";
+
+ ///
+ /// cell.
+ ///
+ public const string Cell = "cell";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+ }
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public static class NetworkIoDirectionValues
+ {
+ ///
+ /// transmit.
+ ///
+ public const string Transmit = "transmit";
+
+ ///
+ /// receive.
+ ///
+ public const string Receive = "receive";
+ }
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ public static class NetworkTransportValues
+ {
+ ///
+ /// TCP.
+ ///
+ public const string Tcp = "tcp";
+
+ ///
+ /// UDP.
+ ///
+ public const string Udp = "udp";
+
+ ///
+ /// Named or anonymous pipe.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// Unix domain socket.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ public static class NetworkTypeValues
+ {
+ ///
+ /// IPv4.
+ ///
+ public const string Ipv4 = "ipv4";
+
+ ///
+ /// IPv6.
+ ///
+ public const string Ipv6 = "ipv6";
+ }
+
+ ///
+ /// The operating system type.
+ ///
+ public static class OsTypeValues
+ {
+ ///
+ /// Microsoft Windows.
+ ///
+ public const string Windows = "windows";
+
+ ///
+ /// Linux.
+ ///
+ public const string Linux = "linux";
+
+ ///
+ /// Apple Darwin.
+ ///
+ public const string Darwin = "darwin";
+
+ ///
+ /// FreeBSD.
+ ///
+ public const string Freebsd = "freebsd";
+
+ ///
+ /// NetBSD.
+ ///
+ public const string Netbsd = "netbsd";
+
+ ///
+ /// OpenBSD.
+ ///
+ public const string Openbsd = "openbsd";
+
+ ///
+ /// DragonFly BSD.
+ ///
+ public const string Dragonflybsd = "dragonflybsd";
+
+ ///
+ /// HP-UX (Hewlett Packard Unix).
+ ///
+ public const string Hpux = "hpux";
+
+ ///
+ /// AIX (Advanced Interactive eXecutive).
+ ///
+ public const string Aix = "aix";
+
+ ///
+ /// SunOS, Oracle Solaris.
+ ///
+ public const string Solaris = "solaris";
+
+ ///
+ /// IBM z/OS.
+ ///
+ public const string ZOs = "z_os";
+ }
+
+ ///
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public static class RpcConnectRpcErrorCodeValues
+ {
+ ///
+ /// cancelled.
+ ///
+ public const string Cancelled = "cancelled";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+
+ ///
+ /// invalid_argument.
+ ///
+ public const string InvalidArgument = "invalid_argument";
+
+ ///
+ /// deadline_exceeded.
+ ///
+ public const string DeadlineExceeded = "deadline_exceeded";
+
+ ///
+ /// not_found.
+ ///
+ public const string NotFound = "not_found";
+
+ ///
+ /// already_exists.
+ ///
+ public const string AlreadyExists = "already_exists";
+
+ ///
+ /// permission_denied.
+ ///
+ public const string PermissionDenied = "permission_denied";
+
+ ///
+ /// resource_exhausted.
+ ///
+ public const string ResourceExhausted = "resource_exhausted";
+
+ ///
+ /// failed_precondition.
+ ///
+ public const string FailedPrecondition = "failed_precondition";
+
+ ///
+ /// aborted.
+ ///
+ public const string Aborted = "aborted";
+
+ ///
+ /// out_of_range.
+ ///
+ public const string OutOfRange = "out_of_range";
+
+ ///
+ /// unimplemented.
+ ///
+ public const string Unimplemented = "unimplemented";
+
+ ///
+ /// internal.
+ ///
+ public const string Internal = "internal";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// data_loss.
+ ///
+ public const string DataLoss = "data_loss";
+
+ ///
+ /// unauthenticated.
+ ///
+ public const string Unauthenticated = "unauthenticated";
+ }
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public static class RpcGrpcStatusCodeValues
+ {
+ ///
+ /// OK.
+ ///
+ public const int Ok = 0;
+
+ ///
+ /// CANCELLED.
+ ///
+ public const int Cancelled = 1;
+
+ ///
+ /// UNKNOWN.
+ ///
+ public const int Unknown = 2;
+
+ ///
+ /// INVALID_ARGUMENT.
+ ///
+ public const int InvalidArgument = 3;
+
+ ///
+ /// DEADLINE_EXCEEDED.
+ ///
+ public const int DeadlineExceeded = 4;
+
+ ///
+ /// NOT_FOUND.
+ ///
+ public const int NotFound = 5;
+
+ ///
+ /// ALREADY_EXISTS.
+ ///
+ public const int AlreadyExists = 6;
+
+ ///
+ /// PERMISSION_DENIED.
+ ///
+ public const int PermissionDenied = 7;
+
+ ///
+ /// RESOURCE_EXHAUSTED.
+ ///
+ public const int ResourceExhausted = 8;
+
+ ///
+ /// FAILED_PRECONDITION.
+ ///
+ public const int FailedPrecondition = 9;
+
+ ///
+ /// ABORTED.
+ ///
+ public const int Aborted = 10;
+
+ ///
+ /// OUT_OF_RANGE.
+ ///
+ public const int OutOfRange = 11;
+
+ ///
+ /// UNIMPLEMENTED.
+ ///
+ public const int Unimplemented = 12;
+
+ ///
+ /// INTERNAL.
+ ///
+ public const int Internal = 13;
+
+ ///
+ /// UNAVAILABLE.
+ ///
+ public const int Unavailable = 14;
+
+ ///
+ /// DATA_LOSS.
+ ///
+ public const int DataLoss = 15;
+
+ ///
+ /// UNAUTHENTICATED.
+ ///
+ public const int Unauthenticated = 16;
+ }
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public static class RpcSystemValues
+ {
+ ///
+ /// gRPC.
+ ///
+ public const string Grpc = "grpc";
+
+ ///
+ /// Java RMI.
+ ///
+ public const string JavaRmi = "java_rmi";
+
+ ///
+ /// .NET WCF.
+ ///
+ public const string DotnetWcf = "dotnet_wcf";
+
+ ///
+ /// Apache Dubbo.
+ ///
+ public const string ApacheDubbo = "apache_dubbo";
+
+ ///
+ /// Connect RPC.
+ ///
+ public const string ConnectRpc = "connect_rpc";
+ }
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public static class TelemetrySdkLanguageValues
+ {
+ ///
+ /// cpp.
+ ///
+ public const string Cpp = "cpp";
+
+ ///
+ /// dotnet.
+ ///
+ public const string Dotnet = "dotnet";
+
+ ///
+ /// erlang.
+ ///
+ public const string Erlang = "erlang";
+
+ ///
+ /// go.
+ ///
+ public const string Go = "go";
+
+ ///
+ /// java.
+ ///
+ public const string Java = "java";
+
+ ///
+ /// nodejs.
+ ///
+ public const string Nodejs = "nodejs";
+
+ ///
+ /// php.
+ ///
+ public const string Php = "php";
+
+ ///
+ /// python.
+ ///
+ public const string Python = "python";
+
+ ///
+ /// ruby.
+ ///
+ public const string Ruby = "ruby";
+
+ ///
+ /// rust.
+ ///
+ public const string Rust = "rust";
+
+ ///
+ /// swift.
+ ///
+ public const string Swift = "swift";
+
+ ///
+ /// webjs.
+ ///
+ public const string Webjs = "webjs";
+ }
+
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public static class TlsProtocolNameValues
+ {
+ ///
+ /// ssl.
+ ///
+ public const string Ssl = "ssl";
+
+ ///
+ /// tls.
+ ///
+ public const string Tls = "tls";
+ }
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public static class AwsEcsLaunchtypeValues
+ {
+ ///
+ /// ec2.
+ ///
+ public const string Ec2 = "ec2";
+
+ ///
+ /// fargate.
+ ///
+ public const string Fargate = "fargate";
+ }
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ public static class OpentracingRefTypeValues
+ {
+ ///
+ /// The parent Span depends on the child Span in some capacity.
+ ///
+ public const string ChildOf = "child_of";
+
+ ///
+ /// The parent Span doesn't depend in any way on the result of the child Span.
+ ///
+ public const string FollowsFrom = "follows_from";
+ }
+
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public static class OtelStatusCodeValues
+ {
+ ///
+ /// The operation has been validated by an Application developer or Operator to have completed successfully.
+ ///
+ public const string Ok = "OK";
+
+ ///
+ /// The operation contains an error.
+ ///
+ public const string Error = "ERROR";
+ }
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public static class GraphqlOperationTypeValues
+ {
+ ///
+ /// GraphQL query.
+ ///
+ public const string Query = "query";
+
+ ///
+ /// GraphQL mutation.
+ ///
+ public const string Mutation = "mutation";
+
+ ///
+ /// GraphQL subscription.
+ ///
+ public const string Subscription = "subscription";
+ }
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public static class MessageTypeValues
+ {
+ ///
+ /// sent.
+ ///
+ public const string Sent = "SENT";
+
+ ///
+ /// received.
+ ///
+ public const string Received = "RECEIVED";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
deleted file mode 100644
index 73dce0421a..0000000000
--- a/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs
+++ /dev/null
@@ -1,1876 +0,0 @@
-//
-// Copyright The OpenTelemetry Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-// This file has been auto generated from buildscripts/semantic-conventions/templates/SemanticConventions.cs.j2
-
-namespace OpenTelemetry.Trace
-{
- ///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
- /// .
- ///
- ///
- /// Schema and specification version: https://opentelemetry.io/schemas/1.13.0.
- ///
- public static class TraceSemanticConventions
- {
- ///
- /// Attribute for db.instance.
- ///
- public const string AttributeDbInstance = "db.instance";
-
- ///
- /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
- ///
- ///
- /// This may be different from faas.id if an alias is involved.
- ///
- public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
-
- ///
- /// The event_id uniquely identifies the event.
- ///
- public const string AttributeCloudeventsEventId = "cloudevents.event_id";
-
- ///
- /// The source identifies the context in which an event happened.
- ///
- public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
-
- ///
- /// The version of the CloudEvents specification which the event uses.
- ///
- public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
-
- ///
- /// The event_type contains a value describing the type of event related to the originating occurrence.
- ///
- public const string AttributeCloudeventsEventType = "cloudevents.event_type";
-
- ///
- /// The subject of the event in the context of the event producer (identified by source).
- ///
- public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
-
- ///
- /// Parent-child Reference type.
- ///
- ///
- /// The causal relationship between a child Span and a parent Span.
- ///
- public const string AttributeOpentracingRefType = "opentracing.ref_type";
-
- ///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- ///
- public const string AttributeDbSystem = "db.system";
-
- ///
- /// The connection string used to connect to the database. It is recommended to remove embedded credentials.
- ///
- public const string AttributeDbConnectionString = "db.connection_string";
-
- ///
- /// Username for accessing the database.
- ///
- public const string AttributeDbUser = "db.user";
-
- ///
- /// The fully-qualified class name of the Java Database Connectivity (JDBC) driver used to connect.
- ///
- public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
-
- ///
- /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
- ///
- ///
- /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
- ///
- public const string AttributeDbName = "db.name";
-
- ///
- /// The database statement being executed.
- ///
- ///
- /// The value may be sanitized to exclude sensitive information.
- ///
- public const string AttributeDbStatement = "db.statement";
-
- ///
- /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
- ///
- ///
- /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
- ///
- public const string AttributeDbOperation = "db.operation";
-
- ///
- /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
- ///
- ///
- /// If setting a db.mssql.instance_name, net.peer.port is no longer required (but still recommended if non-standard).
- ///
- public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
-
- ///
- /// The fetch size used for paging, i.e. how many rows will be returned at once.
- ///
- public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
-
- ///
- /// The consistency level of the query. Based on consistency values from CQL.
- ///
- public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
-
- ///
- /// The name of the primary table that the operation is acting upon, including the keyspace name (if applicable).
- ///
- ///
- /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbCassandraTable = "db.cassandra.table";
-
- ///
- /// Whether or not the query is idempotent.
- ///
- public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
-
- ///
- /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
- ///
- public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
-
- ///
- /// The ID of the coordinating node for a query.
- ///
- public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
-
- ///
- /// The data center of the coordinating node for a query.
- ///
- public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
-
- ///
- /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
- ///
- public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
-
- ///
- /// The collection being accessed within the database stated in db.name.
- ///
- public const string AttributeDbMongodbCollection = "db.mongodb.collection";
-
- ///
- /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
- ///
- ///
- /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbSqlTable = "db.sql.table";
-
- ///
- /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
- ///
- public const string AttributeExceptionType = "exception.type";
-
- ///
- /// The exception message.
- ///
- public const string AttributeExceptionMessage = "exception.message";
-
- ///
- /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- ///
- public const string AttributeExceptionStacktrace = "exception.stacktrace";
-
- ///
- /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
- ///
- ///
- /// An exception is considered to have escaped (or left) the scope of a span,
- /// if that span is ended while the exception is still logically "in flight".
- /// This may be actually "in flight" in some languages (e.g. if the exception
- /// is passed to a Context manager's __exit__ method in Python) but will
- /// usually be caught at the point of recording the exception in most languages.It is usually not possible to determine at the point where an exception is thrown
- /// whether it will escape the scope of a span.
- /// However, it is trivial to know that an exception
- /// will escape, if one checks for an active exception just before ending the span,
- /// as done in the example above.It follows that an exception may still escape the scope of the span
- /// even if the exception.escaped attribute was not set or set to false,
- /// since the event might have been recorded at a time where it was not
- /// clear whether the exception will escape.
- ///
- public const string AttributeExceptionEscaped = "exception.escaped";
-
- ///
- /// Type of the trigger which caused this function execution.
- ///
- ///
- /// For the server/consumer span on the incoming side,
- /// faas.trigger MUST be set.Clients invoking FaaS instances usually cannot set faas.trigger,
- /// since they would typically need to look in the payload to determine
- /// the event type. If clients set it, it should be the same as the
- /// trigger that corresponding incoming would have (i.e., this has
- /// nothing to do with the underlying transport used to make the API
- /// call to invoke the lambda, which is often HTTP).
- ///
- public const string AttributeFaasTrigger = "faas.trigger";
-
- ///
- /// The execution ID of the current function execution.
- ///
- public const string AttributeFaasExecution = "faas.execution";
-
- ///
- /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
- ///
- public const string AttributeFaasDocumentCollection = "faas.document.collection";
-
- ///
- /// Describes the type of the operation that was performed on the data.
- ///
- public const string AttributeFaasDocumentOperation = "faas.document.operation";
-
- ///
- /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasDocumentTime = "faas.document.time";
-
- ///
- /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
- ///
- public const string AttributeFaasDocumentName = "faas.document.name";
-
- ///
- /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasTime = "faas.time";
-
- ///
- /// A string containing the schedule period as Cron Expression.
- ///
- public const string AttributeFaasCron = "faas.cron";
-
- ///
- /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
- ///
- public const string AttributeFaasColdstart = "faas.coldstart";
-
- ///
- /// The name of the invoked function.
- ///
- ///
- /// SHOULD be equal to the faas.name resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedName = "faas.invoked_name";
-
- ///
- /// The cloud provider of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
-
- ///
- /// The cloud region of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedRegion = "faas.invoked_region";
-
- ///
- /// Transport protocol used. See note below.
- ///
- public const string AttributeNetTransport = "net.transport";
-
- ///
- /// Application layer protocol used. The value SHOULD be normalized to lowercase.
- ///
- public const string AttributeNetAppProtocolName = "net.app.protocol.name";
-
- ///
- /// Version of the application layer protocol used. See note below.
- ///
- ///
- /// net.app.protocol.version refers to the version of the protocol used and might be different from the protocol client's version. If the HTTP client used has a version of 0.27.2, but sends HTTP version 1.1, this attribute should be set to 1.1.
- ///
- public const string AttributeNetAppProtocolVersion = "net.app.protocol.version";
-
- ///
- /// Remote socket peer name.
- ///
- public const string AttributeNetSockPeerName = "net.sock.peer.name";
-
- ///
- /// Remote socket peer address: IPv4 or IPv6 for internet protocols, path for local communication, etc.
- ///
- public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
-
- ///
- /// Remote socket peer port.
- ///
- public const string AttributeNetSockPeerPort = "net.sock.peer.port";
-
- ///
- /// Protocol address family which is used for communication.
- ///
- public const string AttributeNetSockFamily = "net.sock.family";
-
- ///
- /// Logical remote hostname, see note below.
- ///
- ///
- /// net.peer.name SHOULD NOT be set if capturing it would require an extra DNS lookup.
- ///
- public const string AttributeNetPeerName = "net.peer.name";
-
- ///
- /// Logical remote port number.
- ///
- public const string AttributeNetPeerPort = "net.peer.port";
-
- ///
- /// Logical local hostname or similar, see note below.
- ///
- public const string AttributeNetHostName = "net.host.name";
-
- ///
- /// Logical local port number, preferably the one that the peer used to connect.
- ///
- public const string AttributeNetHostPort = "net.host.port";
-
- ///
- /// Local socket address. Useful in case of a multi-IP host.
- ///
- public const string AttributeNetSockHostAddr = "net.sock.host.addr";
-
- ///
- /// Local socket port number.
- ///
- public const string AttributeNetSockHostPort = "net.sock.host.port";
-
- ///
- /// The internet connection type currently being used by the host.
- ///
- public const string AttributeNetHostConnectionType = "net.host.connection.type";
-
- ///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- ///
- public const string AttributeNetHostConnectionSubtype = "net.host.connection.subtype";
-
- ///
- /// The name of the mobile carrier.
- ///
- public const string AttributeNetHostCarrierName = "net.host.carrier.name";
-
- ///
- /// The mobile carrier country code.
- ///
- public const string AttributeNetHostCarrierMcc = "net.host.carrier.mcc";
-
- ///
- /// The mobile carrier network code.
- ///
- public const string AttributeNetHostCarrierMnc = "net.host.carrier.mnc";
-
- ///
- /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
- ///
- public const string AttributeNetHostCarrierIcc = "net.host.carrier.icc";
-
- ///
- /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
- ///
- public const string AttributePeerService = "peer.service";
-
- ///
- /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
- ///
- public const string AttributeEnduserId = "enduser.id";
-
- ///
- /// Actual/assumed role the client is making the request under extracted from token or application security context.
- ///
- public const string AttributeEnduserRole = "enduser.role";
-
- ///
- /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
- ///
- public const string AttributeEnduserScope = "enduser.scope";
-
- ///
- /// Current "managed" thread ID (as opposed to OS thread ID).
- ///
- public const string AttributeThreadId = "thread.id";
-
- ///
- /// Current thread name.
- ///
- public const string AttributeThreadName = "thread.name";
-
- ///
- /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
- ///
- public const string AttributeCodeFunction = "code.function";
-
- ///
- /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
- ///
- public const string AttributeCodeNamespace = "code.namespace";
-
- ///
- /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
- ///
- public const string AttributeCodeFilepath = "code.filepath";
-
- ///
- /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
- ///
- public const string AttributeCodeLineno = "code.lineno";
-
- ///
- /// HTTP request method.
- ///
- public const string AttributeHttpMethod = "http.method";
-
- ///
- /// HTTP response status code.
- ///
- public const string AttributeHttpStatusCode = "http.status_code";
-
- ///
- /// Kind of HTTP protocol used.
- ///
- ///
- /// If net.transport is not specified, it can be assumed to be IP.TCP except if http.flavor is QUIC, in which case IP.UDP is assumed.
- ///
- public const string AttributeHttpFlavor = "http.flavor";
-
- ///
- /// Value of the HTTP User-Agent header sent by the client.
- ///
- public const string AttributeHttpUserAgent = "http.user_agent";
-
- ///
- /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- ///
- public const string AttributeHttpRequestContentLength = "http.request_content_length";
-
- ///
- /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- ///
- public const string AttributeHttpResponseContentLength = "http.response_content_length";
-
- ///
- /// Full HTTP request URL in the form scheme://host[:port]/path?query[#fragment]. Usually the fragment is not transmitted over HTTP, but if it is known, it should be included nevertheless.
- ///
- ///
- /// http.url MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case the attribute's value should be https://www.example.com/.
- ///
- public const string AttributeHttpUrl = "http.url";
-
- ///
- /// The ordinal number of request re-sending attempt.
- ///
- public const string AttributeHttpRetryCount = "http.retry_count";
-
- ///
- /// The URI scheme identifying the used protocol.
- ///
- public const string AttributeHttpScheme = "http.scheme";
-
- ///
- /// The full request target as passed in a HTTP request line or equivalent.
- ///
- public const string AttributeHttpTarget = "http.target";
-
- ///
- /// The matched route (path template in the format used by the respective server framework). See note below.
- ///
- ///
- /// 'http.route' MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
- ///
- public const string AttributeHttpRoute = "http.route";
-
- ///
- /// The IP address of the original client behind all proxies, if known (e.g. from X-Forwarded-For).
- ///
- ///
- /// This is not necessarily the same as net.sock.peer.addr, which would
- /// identify the network-level peer, which may be a proxy.This attribute should be set when a source of information different
- /// from the one used for net.sock.peer.addr, is available even if that other
- /// source just confirms the same value as net.sock.peer.addr.
- /// Rationale: For net.sock.peer.addr, one typically does not know if it
- /// comes from a proxy, reverse proxy, or the actual client. Setting
- /// http.client_ip when it's the same as net.sock.peer.addr means that
- /// one is at least somewhat confident that the address is not that of
- /// the closest proxy.
- ///
- public const string AttributeHttpClientIp = "http.client_ip";
-
- ///
- /// The keys in the RequestItems object field.
- ///
- public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
-
- ///
- /// The JSON-serialized value of each item in the ConsumedCapacity response field.
- ///
- public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
-
- ///
- /// The JSON-serialized value of the ItemCollectionMetrics response field.
- ///
- public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
-
- ///
- /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
-
- ///
- /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
-
- ///
- /// The value of the ConsistentRead request parameter.
- ///
- public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
-
- ///
- /// The value of the ProjectionExpression request parameter.
- ///
- public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
-
- ///
- /// The value of the Limit request parameter.
- ///
- public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
-
- ///
- /// The value of the AttributesToGet request parameter.
- ///
- public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
-
- ///
- /// The value of the IndexName request parameter.
- ///
- public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
-
- ///
- /// The value of the Select request parameter.
- ///
- public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
-
- ///
- /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
-
- ///
- /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
-
- ///
- /// The value of the ExclusiveStartTableName request parameter.
- ///
- public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
-
- ///
- /// The the number of items in the TableNames response parameter.
- ///
- public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
-
- ///
- /// The value of the ScanIndexForward request parameter.
- ///
- public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
-
- ///
- /// The value of the Segment request parameter.
- ///
- public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
-
- ///
- /// The value of the TotalSegments request parameter.
- ///
- public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
-
- ///
- /// The value of the Count response parameter.
- ///
- public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
-
- ///
- /// The value of the ScannedCount response parameter.
- ///
- public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
-
- ///
- /// The JSON-serialized value of each item in the AttributeDefinitions request field.
- ///
- public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
-
- ///
- /// The JSON-serialized value of each item in the the GlobalSecondaryIndexUpdates request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
-
- ///
- /// The name of the operation being executed.
- ///
- public const string AttributeGraphqlOperationName = "graphql.operation.name";
-
- ///
- /// The type of the operation being executed.
- ///
- public const string AttributeGraphqlOperationType = "graphql.operation.type";
-
- ///
- /// The GraphQL document being executed.
- ///
- ///
- /// The value may be sanitized to exclude sensitive information.
- ///
- public const string AttributeGraphqlDocument = "graphql.document";
-
- ///
- /// A string identifying the messaging system.
- ///
- public const string AttributeMessagingSystem = "messaging.system";
-
- ///
- /// The message destination name. This might be equal to the span name but is required nevertheless.
- ///
- public const string AttributeMessagingDestination = "messaging.destination";
-
- ///
- /// The kind of message destination.
- ///
- public const string AttributeMessagingDestinationKind = "messaging.destination_kind";
-
- ///
- /// A boolean that is true if the message destination is temporary.
- ///
- public const string AttributeMessagingTempDestination = "messaging.temp_destination";
-
- ///
- /// The name of the transport protocol.
- ///
- public const string AttributeMessagingProtocol = "messaging.protocol";
-
- ///
- /// The version of the transport protocol.
- ///
- public const string AttributeMessagingProtocolVersion = "messaging.protocol_version";
-
- ///
- /// Connection string.
- ///
- public const string AttributeMessagingUrl = "messaging.url";
-
- ///
- /// A value used by the messaging system as an identifier for the message, represented as a string.
- ///
- public const string AttributeMessagingMessageId = "messaging.message_id";
-
- ///
- /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
- ///
- public const string AttributeMessagingConversationId = "messaging.conversation_id";
-
- ///
- /// The (uncompressed) size of the message payload in bytes. Also use this attribute if it is unknown whether the compressed or uncompressed payload size is reported.
- ///
- public const string AttributeMessagingMessagePayloadSizeBytes = "messaging.message_payload_size_bytes";
-
- ///
- /// The compressed size of the message payload in bytes.
- ///
- public const string AttributeMessagingMessagePayloadCompressedSizeBytes = "messaging.message_payload_compressed_size_bytes";
-
- ///
- /// A string identifying the kind of message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.
- ///
- public const string AttributeMessagingOperation = "messaging.operation";
-
- ///
- /// The identifier for the consumer receiving a message. For Kafka, set it to {messaging.kafka.consumer_group} - {messaging.kafka.client_id}, if both are present, or only messaging.kafka.consumer_group. For brokers, such as RabbitMQ and Artemis, set it to the client_id of the client consuming the message.
- ///
- public const string AttributeMessagingConsumerId = "messaging.consumer_id";
-
- ///
- /// RabbitMQ message routing key.
- ///
- public const string AttributeMessagingRabbitmqRoutingKey = "messaging.rabbitmq.routing_key";
-
- ///
- /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message_id in that they're not unique. If the key is null, the attribute MUST NOT be set.
- ///
- ///
- /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
- ///
- public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message_key";
-
- ///
- /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
- ///
- public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer_group";
-
- ///
- /// Client Id for the Consumer or Producer that is handling the message.
- ///
- public const string AttributeMessagingKafkaClientId = "messaging.kafka.client_id";
-
- ///
- /// Partition the message is sent to.
- ///
- public const string AttributeMessagingKafkaPartition = "messaging.kafka.partition";
-
- ///
- /// A boolean that is true if the message is a tombstone.
- ///
- public const string AttributeMessagingKafkaTombstone = "messaging.kafka.tombstone";
-
- ///
- /// Namespace of RocketMQ resources, resources in different namespaces are individual.
- ///
- public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
-
- ///
- /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
- ///
- public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
-
- ///
- /// The unique identifier for each client.
- ///
- public const string AttributeMessagingRocketmqClientId = "messaging.rocketmq.client_id";
-
- ///
- /// Type of message.
- ///
- public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message_type";
-
- ///
- /// The secondary classifier of message besides topic.
- ///
- public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message_tag";
-
- ///
- /// Key(s) of message, another way to mark message besides message id.
- ///
- public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message_keys";
-
- ///
- /// Model of message consumption. This only applies to consumer spans.
- ///
- public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
-
- ///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
- ///
- public const string AttributeRpcSystem = "rpc.system";
-
- ///
- /// The full (logical) name of the service being called, including its package name, if applicable.
- ///
- ///
- /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
- ///
- public const string AttributeRpcService = "rpc.service";
-
- ///
- /// The name of the (logical) method being called, must be equal to the $method part in the span name.
- ///
- ///
- /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
- ///
- public const string AttributeRpcMethod = "rpc.method";
-
- ///
- /// The numeric status code of the gRPC request.
- ///
- public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
-
- ///
- /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted.
- ///
- public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
-
- ///
- /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
- ///
- public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
-
- ///
- /// error.code property of response if it is an error response.
- ///
- public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
-
- ///
- /// error.message property of response if it is an error response.
- ///
- public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
-
- ///
- /// Whether this is a received or sent message.
- ///
- public const string AttributeMessageType = "message.type";
-
- ///
- /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
- ///
- ///
- /// This way we guarantee that the values will be consistent between different implementations.
- ///
- public const string AttributeMessageId = "message.id";
-
- ///
- /// Compressed size of the message in bytes.
- ///
- public const string AttributeMessageCompressedSize = "message.compressed_size";
-
- ///
- /// Uncompressed size of the message in bytes.
- ///
- public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
-
- ///
- /// Prefix for 'aws.lambda'.
- ///
- public static readonly string PrefixAwsLambda = "aws.lambda";
-
- ///
- /// Prefix for 'cloudevents'.
- ///
- public static readonly string PrefixCloudevents = "cloudevents";
-
- ///
- /// Prefix for 'opentracing'.
- ///
- public static readonly string PrefixOpentracing = "opentracing";
-
- ///
- /// Prefix for 'db'.
- ///
- public static readonly string PrefixDb = "db";
-
- ///
- /// Prefix for 'db.mssql'.
- ///
- public static readonly string PrefixDbMssql = "db.mssql";
-
- ///
- /// Prefix for 'db.cassandra'.
- ///
- public static readonly string PrefixDbCassandra = "db.cassandra";
-
- ///
- /// Prefix for 'db.redis'.
- ///
- public static readonly string PrefixDbRedis = "db.redis";
-
- ///
- /// Prefix for 'db.mongodb'.
- ///
- public static readonly string PrefixDbMongodb = "db.mongodb";
-
- ///
- /// Prefix for 'db.sql'.
- ///
- public static readonly string PrefixDbSql = "db.sql";
-
- ///
- /// Prefix for 'exception'.
- ///
- public static readonly string PrefixException = "exception";
-
- ///
- /// Prefix for 'faas_span'.
- ///
- public static readonly string PrefixFaasSpan = "faas";
-
- ///
- /// Prefix for 'faas_span.datasource'.
- ///
- public static readonly string PrefixFaasSpanDatasource = "faas.document";
-
- ///
- /// Prefix for 'network'.
- ///
- public static readonly string PrefixNetwork = "net";
-
- ///
- /// Prefix for 'peer'.
- ///
- public static readonly string PrefixPeer = "peer";
-
- ///
- /// Prefix for 'identity'.
- ///
- public static readonly string PrefixIdentity = "enduser";
-
- ///
- /// Prefix for 'thread'.
- ///
- public static readonly string PrefixThread = "thread";
-
- ///
- /// Prefix for 'code'.
- ///
- public static readonly string PrefixCode = "code";
-
- ///
- /// Prefix for 'http'.
- ///
- public static readonly string PrefixHttp = "http";
-
- ///
- /// Prefix for 'aws'.
- ///
- public static readonly string PrefixAws = "aws";
-
- ///
- /// Prefix for 'dynamodb.shared'.
- ///
- public static readonly string PrefixDynamodbShared = "aws.dynamodb";
-
- ///
- /// Prefix for 'graphql'.
- ///
- public static readonly string PrefixGraphql = "graphql";
-
- ///
- /// Prefix for 'messaging'.
- ///
- public static readonly string PrefixMessaging = "messaging";
-
- ///
- /// Prefix for 'messaging.rabbitmq'.
- ///
- public static readonly string PrefixMessagingRabbitmq = "messaging.rabbitmq";
-
- ///
- /// Prefix for 'messaging.kafka'.
- ///
- public static readonly string PrefixMessagingKafka = "messaging.kafka";
-
- ///
- /// Prefix for 'messaging.rocketmq'.
- ///
- public static readonly string PrefixMessagingRocketmq = "messaging.rocketmq";
-
- ///
- /// Prefix for 'rpc'.
- ///
- public static readonly string PrefixRpc = "rpc";
-
- ///
- /// Prefix for 'rpc.grpc'.
- ///
- public static readonly string PrefixRpcGrpc = "rpc.grpc";
-
- ///
- /// Prefix for 'rpc.jsonrpc'.
- ///
- public static readonly string PrefixRpcJsonrpc = "rpc.jsonrpc";
-
- ///
- /// Prefix for 'rpc.message'.
- ///
- public static readonly string PrefixRpcMessage = "message";
-
- ///
- /// Event name for 'exception'.
- ///
- public static readonly string EventException = "exception";
-
- ///
- /// Event name for 'rpc.message'.
- ///
- public static readonly string EventRpcMessage = "message";
-
- ///
- /// Parent-child Reference type.
- ///
- public static class OpentracingRefTypeValues
- {
- ///
- /// The parent Span depends on the child Span in some capacity.
- ///
- public const string ChildOf = "child_of";
-
- ///
- /// The parent Span does not depend in any way on the result of the child Span.
- ///
- public const string FollowsFrom = "follows_from";
- }
-
- ///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- ///
- public static class DbSystemValues
- {
- ///
- /// Some other SQL database. Fallback only. See notes.
- ///
- public const string OtherSql = "other_sql";
-
- ///
- /// Microsoft SQL Server.
- ///
- public const string Mssql = "mssql";
-
- ///
- /// MySQL.
- ///
- public const string Mysql = "mysql";
-
- ///
- /// Oracle Database.
- ///
- public const string Oracle = "oracle";
-
- ///
- /// IBM Db2.
- ///
- public const string Db2 = "db2";
-
- ///
- /// PostgreSQL.
- ///
- public const string Postgresql = "postgresql";
-
- ///
- /// Amazon Redshift.
- ///
- public const string Redshift = "redshift";
-
- ///
- /// Apache Hive.
- ///
- public const string Hive = "hive";
-
- ///
- /// Cloudscape.
- ///
- public const string Cloudscape = "cloudscape";
-
- ///
- /// HyperSQL DataBase.
- ///
- public const string Hsqldb = "hsqldb";
-
- ///
- /// Progress Database.
- ///
- public const string Progress = "progress";
-
- ///
- /// SAP MaxDB.
- ///
- public const string Maxdb = "maxdb";
-
- ///
- /// SAP HANA.
- ///
- public const string Hanadb = "hanadb";
-
- ///
- /// Ingres.
- ///
- public const string Ingres = "ingres";
-
- ///
- /// FirstSQL.
- ///
- public const string Firstsql = "firstsql";
-
- ///
- /// EnterpriseDB.
- ///
- public const string Edb = "edb";
-
- ///
- /// InterSystems Caché.
- ///
- public const string Cache = "cache";
-
- ///
- /// Adabas (Adaptable Database System).
- ///
- public const string Adabas = "adabas";
-
- ///
- /// Firebird.
- ///
- public const string Firebird = "firebird";
-
- ///
- /// Apache Derby.
- ///
- public const string Derby = "derby";
-
- ///
- /// FileMaker.
- ///
- public const string Filemaker = "filemaker";
-
- ///
- /// Informix.
- ///
- public const string Informix = "informix";
-
- ///
- /// InstantDB.
- ///
- public const string Instantdb = "instantdb";
-
- ///
- /// InterBase.
- ///
- public const string Interbase = "interbase";
-
- ///
- /// MariaDB.
- ///
- public const string Mariadb = "mariadb";
-
- ///
- /// Netezza.
- ///
- public const string Netezza = "netezza";
-
- ///
- /// Pervasive PSQL.
- ///
- public const string Pervasive = "pervasive";
-
- ///
- /// PointBase.
- ///
- public const string Pointbase = "pointbase";
-
- ///
- /// SQLite.
- ///
- public const string Sqlite = "sqlite";
-
- ///
- /// Sybase.
- ///
- public const string Sybase = "sybase";
-
- ///
- /// Teradata.
- ///
- public const string Teradata = "teradata";
-
- ///
- /// Vertica.
- ///
- public const string Vertica = "vertica";
-
- ///
- /// H2.
- ///
- public const string H2 = "h2";
-
- ///
- /// ColdFusion IMQ.
- ///
- public const string Coldfusion = "coldfusion";
-
- ///
- /// Apache Cassandra.
- ///
- public const string Cassandra = "cassandra";
-
- ///
- /// Apache HBase.
- ///
- public const string Hbase = "hbase";
-
- ///
- /// MongoDB.
- ///
- public const string Mongodb = "mongodb";
-
- ///
- /// Redis.
- ///
- public const string Redis = "redis";
-
- ///
- /// Couchbase.
- ///
- public const string Couchbase = "couchbase";
-
- ///
- /// CouchDB.
- ///
- public const string Couchdb = "couchdb";
-
- ///
- /// Microsoft Azure Cosmos DB.
- ///
- public const string Cosmosdb = "cosmosdb";
-
- ///
- /// Amazon DynamoDB.
- ///
- public const string Dynamodb = "dynamodb";
-
- ///
- /// Neo4j.
- ///
- public const string Neo4j = "neo4j";
-
- ///
- /// Apache Geode.
- ///
- public const string Geode = "geode";
-
- ///
- /// Elasticsearch.
- ///
- public const string Elasticsearch = "elasticsearch";
-
- ///
- /// Memcached.
- ///
- public const string Memcached = "memcached";
-
- ///
- /// CockroachDB.
- ///
- public const string Cockroachdb = "cockroachdb";
-
- ///
- /// OpenSearch.
- ///
- public const string Opensearch = "opensearch";
- }
-
- ///
- /// The consistency level of the query. Based on consistency values from CQL.
- ///
- public static class DbCassandraConsistencyLevelValues
- {
- ///
- /// all.
- ///
- public const string All = "all";
-
- ///
- /// each_quorum.
- ///
- public const string EachQuorum = "each_quorum";
-
- ///
- /// quorum.
- ///
- public const string Quorum = "quorum";
-
- ///
- /// local_quorum.
- ///
- public const string LocalQuorum = "local_quorum";
-
- ///
- /// one.
- ///
- public const string One = "one";
-
- ///
- /// two.
- ///
- public const string Two = "two";
-
- ///
- /// three.
- ///
- public const string Three = "three";
-
- ///
- /// local_one.
- ///
- public const string LocalOne = "local_one";
-
- ///
- /// any.
- ///
- public const string Any = "any";
-
- ///
- /// serial.
- ///
- public const string Serial = "serial";
-
- ///
- /// local_serial.
- ///
- public const string LocalSerial = "local_serial";
- }
-
- ///
- /// Type of the trigger which caused this function execution.
- ///
- public static class FaasTriggerValues
- {
- ///
- /// A response to some data source operation such as a database or filesystem read/write.
- ///
- public const string Datasource = "datasource";
-
- ///
- /// To provide an answer to an inbound HTTP request.
- ///
- public const string Http = "http";
-
- ///
- /// A function is set to be executed when messages are sent to a messaging system.
- ///
- public const string Pubsub = "pubsub";
-
- ///
- /// A function is scheduled to be executed regularly.
- ///
- public const string Timer = "timer";
-
- ///
- /// If none of the others apply.
- ///
- public const string Other = "other";
- }
-
- ///
- /// Describes the type of the operation that was performed on the data.
- ///
- public static class FaasDocumentOperationValues
- {
- ///
- /// When a new object is created.
- ///
- public const string Insert = "insert";
-
- ///
- /// When an object is modified.
- ///
- public const string Edit = "edit";
-
- ///
- /// When an object is deleted.
- ///
- public const string Delete = "delete";
- }
-
- ///
- /// The cloud provider of the invoked function.
- ///
- public static class FaasInvokedProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
-
- ///
- /// Transport protocol used. See note below.
- ///
- public static class NetTransportValues
- {
- ///
- /// ip_tcp.
- ///
- public const string IpTcp = "ip_tcp";
-
- ///
- /// ip_udp.
- ///
- public const string IpUdp = "ip_udp";
-
- ///
- /// Named or anonymous pipe. See note below.
- ///
- public const string Pipe = "pipe";
-
- ///
- /// In-process communication.
- ///
- public const string Inproc = "inproc";
-
- ///
- /// Something else (non IP-based).
- ///
- public const string Other = "other";
- }
-
- ///
- /// Protocol address family which is used for communication.
- ///
- public static class NetSockFamilyValues
- {
- ///
- /// IPv4 address.
- ///
- public const string Inet = "inet";
-
- ///
- /// IPv6 address.
- ///
- public const string Inet6 = "inet6";
-
- ///
- /// Unix domain socket path.
- ///
- public const string Unix = "unix";
- }
-
- ///
- /// The internet connection type currently being used by the host.
- ///
- public static class NetHostConnectionTypeValues
- {
- ///
- /// wifi.
- ///
- public const string Wifi = "wifi";
-
- ///
- /// wired.
- ///
- public const string Wired = "wired";
-
- ///
- /// cell.
- ///
- public const string Cell = "cell";
-
- ///
- /// unavailable.
- ///
- public const string Unavailable = "unavailable";
-
- ///
- /// unknown.
- ///
- public const string Unknown = "unknown";
- }
-
- ///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- ///
- public static class NetHostConnectionSubtypeValues
- {
- ///
- /// GPRS.
- ///
- public const string Gprs = "gprs";
-
- ///
- /// EDGE.
- ///
- public const string Edge = "edge";
-
- ///
- /// UMTS.
- ///
- public const string Umts = "umts";
-
- ///
- /// CDMA.
- ///
- public const string Cdma = "cdma";
-
- ///
- /// EVDO Rel. 0.
- ///
- public const string Evdo0 = "evdo_0";
-
- ///
- /// EVDO Rev. A.
- ///
- public const string EvdoA = "evdo_a";
-
- ///
- /// CDMA2000 1XRTT.
- ///
- public const string Cdma20001xrtt = "cdma2000_1xrtt";
-
- ///
- /// HSDPA.
- ///
- public const string Hsdpa = "hsdpa";
-
- ///
- /// HSUPA.
- ///
- public const string Hsupa = "hsupa";
-
- ///
- /// HSPA.
- ///
- public const string Hspa = "hspa";
-
- ///
- /// IDEN.
- ///
- public const string Iden = "iden";
-
- ///
- /// EVDO Rev. B.
- ///
- public const string EvdoB = "evdo_b";
-
- ///
- /// LTE.
- ///
- public const string Lte = "lte";
-
- ///
- /// EHRPD.
- ///
- public const string Ehrpd = "ehrpd";
-
- ///
- /// HSPAP.
- ///
- public const string Hspap = "hspap";
-
- ///
- /// GSM.
- ///
- public const string Gsm = "gsm";
-
- ///
- /// TD-SCDMA.
- ///
- public const string TdScdma = "td_scdma";
-
- ///
- /// IWLAN.
- ///
- public const string Iwlan = "iwlan";
-
- ///
- /// 5G NR (New Radio).
- ///
- public const string Nr = "nr";
-
- ///
- /// 5G NRNSA (New Radio Non-Standalone).
- ///
- public const string Nrnsa = "nrnsa";
-
- ///
- /// LTE CA.
- ///
- public const string LteCa = "lte_ca";
- }
-
- ///
- /// Kind of HTTP protocol used.
- ///
- public static class HttpFlavorValues
- {
- ///
- /// HTTP/1.0.
- ///
- public const string Http10 = "1.0";
-
- ///
- /// HTTP/1.1.
- ///
- public const string Http11 = "1.1";
-
- ///
- /// HTTP/2.
- ///
- public const string Http20 = "2.0";
-
- ///
- /// HTTP/3.
- ///
- public const string Http30 = "3.0";
-
- ///
- /// SPDY protocol.
- ///
- public const string Spdy = "SPDY";
-
- ///
- /// QUIC protocol.
- ///
- public const string Quic = "QUIC";
- }
-
- ///
- /// The type of the operation being executed.
- ///
- public static class GraphqlOperationTypeValues
- {
- ///
- /// GraphQL query.
- ///
- public const string Query = "query";
-
- ///
- /// GraphQL mutation.
- ///
- public const string Mutation = "mutation";
-
- ///
- /// GraphQL subscription.
- ///
- public const string Subscription = "subscription";
- }
-
- ///
- /// The kind of message destination.
- ///
- public static class MessagingDestinationKindValues
- {
- ///
- /// A message sent to a queue.
- ///
- public const string Queue = "queue";
-
- ///
- /// A message sent to a topic.
- ///
- public const string Topic = "topic";
- }
-
- ///
- /// A string identifying the kind of message consumption as defined in the Operation names section above. If the operation is "send", this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.
- ///
- public static class MessagingOperationValues
- {
- ///
- /// receive.
- ///
- public const string Receive = "receive";
-
- ///
- /// process.
- ///
- public const string Process = "process";
- }
-
- ///
- /// Type of message.
- ///
- public static class MessagingRocketmqMessageTypeValues
- {
- ///
- /// Normal message.
- ///
- public const string Normal = "normal";
-
- ///
- /// FIFO message.
- ///
- public const string Fifo = "fifo";
-
- ///
- /// Delay message.
- ///
- public const string Delay = "delay";
-
- ///
- /// Transaction message.
- ///
- public const string Transaction = "transaction";
- }
-
- ///
- /// Model of message consumption. This only applies to consumer spans.
- ///
- public static class MessagingRocketmqConsumptionModelValues
- {
- ///
- /// Clustering consumption model.
- ///
- public const string Clustering = "clustering";
-
- ///
- /// Broadcasting consumption model.
- ///
- public const string Broadcasting = "broadcasting";
- }
-
- ///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
- ///
- public static class RpcSystemValues
- {
- ///
- /// gRPC.
- ///
- public const string Grpc = "grpc";
-
- ///
- /// Java RMI.
- ///
- public const string JavaRmi = "java_rmi";
-
- ///
- /// .NET WCF.
- ///
- public const string DotnetWcf = "dotnet_wcf";
-
- ///
- /// Apache Dubbo.
- ///
- public const string ApacheDubbo = "apache_dubbo";
- }
-
- ///
- /// The numeric status code of the gRPC request.
- ///
- public static class RpcGrpcStatusCodeValues
- {
- ///
- /// OK.
- ///
- public const int Ok = 0;
-
- ///
- /// CANCELLED.
- ///
- public const int Cancelled = 1;
-
- ///
- /// UNKNOWN.
- ///
- public const int Unknown = 2;
-
- ///
- /// INVALID_ARGUMENT.
- ///
- public const int InvalidArgument = 3;
-
- ///
- /// DEADLINE_EXCEEDED.
- ///
- public const int DeadlineExceeded = 4;
-
- ///
- /// NOT_FOUND.
- ///
- public const int NotFound = 5;
-
- ///
- /// ALREADY_EXISTS.
- ///
- public const int AlreadyExists = 6;
-
- ///
- /// PERMISSION_DENIED.
- ///
- public const int PermissionDenied = 7;
-
- ///
- /// RESOURCE_EXHAUSTED.
- ///
- public const int ResourceExhausted = 8;
-
- ///
- /// FAILED_PRECONDITION.
- ///
- public const int FailedPrecondition = 9;
-
- ///
- /// ABORTED.
- ///
- public const int Aborted = 10;
-
- ///
- /// OUT_OF_RANGE.
- ///
- public const int OutOfRange = 11;
-
- ///
- /// UNIMPLEMENTED.
- ///
- public const int Unimplemented = 12;
-
- ///
- /// INTERNAL.
- ///
- public const int Internal = 13;
-
- ///
- /// UNAVAILABLE.
- ///
- public const int Unavailable = 14;
-
- ///
- /// DATA_LOSS.
- ///
- public const int DataLoss = 15;
-
- ///
- /// UNAUTHENTICATED.
- ///
- public const int Unauthenticated = 16;
- }
-
- ///
- /// Whether this is a received or sent message.
- ///
- public static class MessageTypeValues
- {
- ///
- /// sent.
- ///
- public const string Sent = "SENT";
-
- ///
- /// received.
- ///
- public const string Received = "RECEIVED";
- }
- }
-}
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
index 9c3055ff76..68103083e7 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -2,9 +2,9 @@ $SCRIPT_DIR = $PSScriptRoot
$ROOT_DIR = "${SCRIPT_DIR}/../"
# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
-$SPEC_VERSION = "1.13.0"
+$SPEC_VERSION = "1.25.0"
$SCHEMA_URL = "https://opentelemetry.io/schemas/$SPEC_VERSION"
-$GENERATOR_VERSION = "0.16.0"
+$GENERATOR_VERSION = "latest"
Set-Location $SCRIPT_DIR
@@ -13,46 +13,18 @@ mkdir semantic-conventions
Set-Location semantic-conventions
git init
-git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git
+git remote add origin https://github.com/open-telemetry/semantic-conventions.git
git fetch origin v$SPEC_VERSION
git reset --hard FETCH_HEAD
Set-Location ${SCRIPT_DIR}
docker run --rm `
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/logs:/source `
+ -v ${SCRIPT_DIR}/semantic-conventions/model:/source `
-v ${SCRIPT_DIR}/templates:/templates `
- -v ${ROOT_DIR}/Logs:/output `
+ -v ${ROOT_DIR}:/output `
otel/semconvgen:$GENERATOR_VERSION `
-f /source code `
- --template /templates/SemanticConventions.cs.j2 `
- --output /output/LogsSemanticConventions.cs `
+ --template /templates/SemanticConventionsAttributes.cs.j2 `
+ --output /output/SemanticConventionsAttributes.cs `
--trim-whitespace `
- -D class=LogsSemanticConventions `
-D schemaUrl=$SCHEMA_URL `
- -D pkg=OpenTelemetry.Logs
-
-docker run --rm `
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/resource:/source `
- -v ${SCRIPT_DIR}/templates:/templates `
- -v ${ROOT_DIR}/Resource:/output `
- otel/semconvgen:$GENERATOR_VERSION `
- -f /source code `
- --template /templates/SemanticConventions.cs.j2 `
- --output /output/ResourceSemanticConventions.cs `
- --trim-whitespace `
- -D class=ResourceSemanticConventions `
- -D schemaUrl=$SCHEMA_URL `
- -D pkg=OpenTelemetry.Resources
-
-docker run --rm `
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/trace:/source `
- -v ${SCRIPT_DIR}/templates:/templates `
- -v ${ROOT_DIR}/Trace:/output `
- otel/semconvgen:$GENERATOR_VERSION `
- -f /source code `
- --template /templates/SemanticConventions.cs.j2 `
- --output /output/TraceSemanticConventions.cs `
- --trim-whitespace `
- -D class=TraceSemanticConventions `
- -D schemaUrl=$SCHEMA_URL `
- -D pkg=OpenTelemetry.Trace
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index da10bcff61..c62f47fdd5 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -5,9 +5,9 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="${SCRIPT_DIR}/../"
# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
-SPEC_VERSION=1.13.0
+SPEC_VERSION=1.25.0
SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION
-GENERATOR_VERSION=0.16.0
+GENERATOR_VERSION=latest
cd ${SCRIPT_DIR}
@@ -16,46 +16,18 @@ mkdir semantic-conventions
cd semantic-conventions
git init
-git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git
+git remote add origin https://github.com/open-telemetry/semantic-conventions.git
git fetch origin "v$SPEC_VERSION"
git reset --hard FETCH_HEAD
cd ${SCRIPT_DIR}
docker run --rm \
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/logs:/source \
+ -v ${SCRIPT_DIR}/semantic-conventions/model:/source \
-v ${SCRIPT_DIR}/templates:/templates \
- -v ${ROOT_DIR}/Logs:/output \
+ -v ${ROOT_DIR}:/output \
otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
- --template /templates/SemanticConventions.cs.j2 \
- --output /output/LogsSemanticConventions.cs \
+ --template /templates/SemanticConventionsAttributes.cs.j2 \
+ --output /output/SemanticConventionsAttributes.cs \
--trim-whitespace \
- -Dclass=LogsSemanticConventions \
- -DschemaUrl=$SCHEMA_URL \
- -Dpkg=OpenTelemetry.Logs
-
-docker run --rm \
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/resource:/source \
- -v ${SCRIPT_DIR}/templates:/templates \
- -v ${ROOT_DIR}/Resource:/output \
- otel/semconvgen:$GENERATOR_VERSION \
- -f /source code \
- --template /templates/SemanticConventions.cs.j2 \
- --output /output/ResourceSemanticConventions.cs \
- --trim-whitespace \
- -Dclass=ResourceSemanticConventions \
- -DschemaUrl=$SCHEMA_URL \
- -Dpkg=OpenTelemetry.Resources
-
-docker run --rm \
- -v ${SCRIPT_DIR}/semantic-conventions/semantic_conventions/trace:/source \
- -v ${SCRIPT_DIR}/templates:/templates \
- -v ${ROOT_DIR}/Trace:/output \
- otel/semconvgen:$GENERATOR_VERSION \
- -f /source code \
- --template /templates/SemanticConventions.cs.j2 \
- --output /output/TraceSemanticConventions.cs \
- --trim-whitespace \
- -Dclass=TraceSemanticConventions \
- -DschemaUrl=$SCHEMA_URL \
- -Dpkg=OpenTelemetry.Trace
+ -DschemaUrl=$SCHEMA_URL
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
similarity index 67%
rename from src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
rename to src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index adce8921ea..4bee7d5b0d 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventions.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -16,46 +16,23 @@
{%- endif -%}
{%- endmacro -%}
-//
// Copyright The OpenTelemetry Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+// SPDX-License-Identifier: Apache-2.0
-// This file has been auto generated from buildscripts/semantic-conventions{{template}}
+// This file has been auto generated from scripts{{template}}
-namespace {{pkg | trim}}
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+namespace OpenTelemetry.SemanticConventions
{
///
/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
- {% if class == "TraceSemanticConventions" %}
- /// .
- {% elif class == "ResourceSemanticConventions" %}
- /// .
- {% endif %}
///
///
/// Schema and specification version: {{schemaUrl}}.
///
- public static class {{class}}
+ public static class SemanticConventionsAttributes
{
-{% if class == "TraceSemanticConventions" %}
- ///
- /// Attribute for db.instance.
- ///
- public const string AttributeDbInstance = "db.instance";
-
-{% endif %}
{% for attribute in attributes if attribute.is_local and not attribute.ref %}
{% if not loop.first %}{{"\n"}}{% endif %}
///
@@ -67,7 +44,7 @@ namespace {{pkg | trim}}
///
{% endif %}
{% if attribute.deprecated %}
- [Obsolete("{{attribute.deprecated | to_doc_brief}}")]
+ [Obsolete("{{attribute.deprecated | to_doc_brief | replace('"', "")}}")]
{% endif %}
public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
{% endfor %}
From 0ed1d85b0bed454f095798ef4b84c299d4667de4 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 17:44:11 +0000
Subject: [PATCH 07/26] Fix TFM
---
.../OpenTelemetry.SemanticConventions.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
index 493987b395..44173c2101 100644
--- a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
+++ b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
@@ -1,7 +1,7 @@
- $(TargetFrameworksForLibraries)
+ netstandard2.0
OpenTelemetry Semantic Conventions
$(PackageTags);semantic-conventions
From dc2398115712802cc99313294a1786e643ce66fd Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 19:25:25 +0000
Subject: [PATCH 08/26] Addressing feedback from review
---
opentelemetry-dotnet-contrib.proj | 3 ---
.../OpenTelemetry.SemanticConventions.csproj | 2 ++
src/OpenTelemetry.SemanticConventions/README.md | 4 ++--
src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 | 2 +-
src/OpenTelemetry.SemanticConventions/scripts/generate.sh | 2 +-
.../OpenTelemetry.AotCompatibility.TestApp.csproj | 1 -
6 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/opentelemetry-dotnet-contrib.proj b/opentelemetry-dotnet-contrib.proj
index ef8b708e27..4bf9697cd7 100644
--- a/opentelemetry-dotnet-contrib.proj
+++ b/opentelemetry-dotnet-contrib.proj
@@ -4,9 +4,6 @@
-
-
-
diff --git a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
index 44173c2101..fe387d70e4 100644
--- a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
+++ b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj
@@ -4,6 +4,8 @@
netstandard2.0
OpenTelemetry Semantic Conventions
$(PackageTags);semantic-conventions
+ SemanticConventions-
+ false
diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md
index d7a02856b5..70f63c61a8 100644
--- a/src/OpenTelemetry.SemanticConventions/README.md
+++ b/src/OpenTelemetry.SemanticConventions/README.md
@@ -1,12 +1,12 @@
# Semantic Conventions for OpenTelemetry .NET
-This project contains the generated code for the Semantic Conventions
+This project contains the generated code for the [Semantic Convention](https://github.com/open-telemetry/semantic-convention)
defined by the OpenTelemetry specification.
## Installation
```shell
-dotnet add package OpenTelemetry.SemanticConventions
+dotnet add package OpenTelemetry.SemanticConventions --prerelease
```
## Generating the files
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
index 68103083e7..cc20bcbf08 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -1,7 +1,7 @@
$SCRIPT_DIR = $PSScriptRoot
$ROOT_DIR = "${SCRIPT_DIR}/../"
-# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
+# freeze the spec version to make SemanticAttributes generation reproducible
$SPEC_VERSION = "1.25.0"
$SCHEMA_URL = "https://opentelemetry.io/schemas/$SPEC_VERSION"
$GENERATOR_VERSION = "latest"
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index c62f47fdd5..83fe5e8cc9 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -4,7 +4,7 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="${SCRIPT_DIR}/../"
-# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible
+# freeze the spec version to make SemanticAttributes generation reproducible
SPEC_VERSION=1.25.0
SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION
GENERATOR_VERSION=latest
diff --git a/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj b/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
index aac297fc1e..2e29e2d52c 100644
--- a/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
+++ b/test/OpenTelemetry.AotCompatibility.TestApp/OpenTelemetry.AotCompatibility.TestApp.csproj
@@ -30,7 +30,6 @@
-
From 40ad2590bf54736bc245029f4eef2d6ac4619953 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 19:30:12 +0000
Subject: [PATCH 09/26] Fix link in README
---
src/OpenTelemetry.SemanticConventions/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md
index 70f63c61a8..5c68066ab0 100644
--- a/src/OpenTelemetry.SemanticConventions/README.md
+++ b/src/OpenTelemetry.SemanticConventions/README.md
@@ -1,6 +1,6 @@
# Semantic Conventions for OpenTelemetry .NET
-This project contains the generated code for the [Semantic Convention](https://github.com/open-telemetry/semantic-convention)
+This project contains the generated code for the [Semantic Conventions](https://github.com/open-telemetry/semantic-conventions)
defined by the OpenTelemetry specification.
## Installation
From cb87a88261dc7b5a7e4d872f921dae9abaf97496 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 19:45:53 +0000
Subject: [PATCH 10/26] Move PublicAPI.*.txt to .publicApi
---
.../{ => .publicApi}/PublicAPI.Shipped.txt | 0
.../{ => .publicApi}/PublicAPI.Unshipped.txt | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename src/OpenTelemetry.SemanticConventions/{ => .publicApi}/PublicAPI.Shipped.txt (100%)
rename src/OpenTelemetry.SemanticConventions/{ => .publicApi}/PublicAPI.Unshipped.txt (100%)
diff --git a/src/OpenTelemetry.SemanticConventions/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/PublicAPI.Shipped.txt
rename to src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt
diff --git a/src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/PublicAPI.Unshipped.txt
rename to src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
From 6993bbacc248aea528ab1f399cc83e238543e905 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Tue, 23 Apr 2024 19:51:02 +0000
Subject: [PATCH 11/26] Add changelog file
---
src/OpenTelemetry.SemanticConventions/CHANGELOG.md | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 src/OpenTelemetry.SemanticConventions/CHANGELOG.md
diff --git a/src/OpenTelemetry.SemanticConventions/CHANGELOG.md b/src/OpenTelemetry.SemanticConventions/CHANGELOG.md
new file mode 100644
index 0000000000..49e8b99e72
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/CHANGELOG.md
@@ -0,0 +1,9 @@
+# Changelog
+
+## Unreleased
+
+* Updated to `1.25.0` release of OpenTelemetry Semantic Conventions.
+ ([#1672](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1672))
+
+* Moved from `https://github.com/open-telemetry/opentelemetry-dotnet/` to
+ `https://github.com/open-telemetry/opentelemetry-dotnet-contrib/`.
From a7ce581f230f1390e411fa61ab990b8bad5f0586 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 07:07:01 +0000
Subject: [PATCH 12/26] Add CI/infra
---
.../comp_semanticconventions.md | 41 +++++++++++++++++++
.github/workflows/ci.yml | 14 +++++++
.../workflows/package-SemanticConventions.yml | 21 ++++++++++
.../OpenTelemetry.SemanticConventions.proj | 25 +++++++++++
4 files changed, 101 insertions(+)
create mode 100644 .github/ISSUE_TEMPLATE/comp_semanticconventions.md
create mode 100644 .github/workflows/package-SemanticConventions.yml
create mode 100644 build/Projects/OpenTelemetry.SemanticConventions.proj
diff --git a/.github/ISSUE_TEMPLATE/comp_semanticconventions.md b/.github/ISSUE_TEMPLATE/comp_semanticconventions.md
new file mode 100644
index 0000000000..fbcd20f363
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/comp_semanticconventions.md
@@ -0,0 +1,41 @@
+---
+name: OpenTelemetry.SemanticConventions
+about: Issue with OpenTelemetry.SemanticConventions
+labels: comp:semanticconvention
+---
+
+# Issue with OpenTelemetry.SemanticConventions
+
+List of [all OpenTelemetry NuGet
+packages](https://www.nuget.org/profiles/OpenTelemetry) and version that you are
+using (e.g. `OpenTelemetry 1.3.2`):
+
+* TBD
+
+Runtime version (e.g. `net462`, `net48`, `net6.0`, `net7.0` etc. You can
+find this information from the `*.csproj` file):
+
+* TBD
+
+**Is this a feature request or a bug?**
+
+* [ ] Feature Request
+* [ ] Bug
+
+**What is the expected behavior?**
+
+What do you expect to see?
+
+**What is the actual behavior?**
+
+What did you see instead? If you are reporting a bug, create a self-contained
+project using the template of your choice and apply the minimum required code to
+result in the issue you're observing. We will close this issue if:
+
+* The repro project you share with us is complex. We can't investigate custom
+ projects, so don't point us to such, please.
+* If we can not reproduce the behavior you're reporting.
+
+## Additional Context
+
+Add any other context about the feature request here.
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 150c7017dc..f8f1307ed4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -39,6 +39,7 @@ jobs:
redis: ['*/OpenTelemetry.Instrumentation.StackExchangeRedis*/**', 'examples/redis/**', '!**/*.md']
resourcedetectors: ['*/OpenTelemetry.ResourceDetectors.*/**', '!**/*.md']
runtime: ['*/OpenTelemetry.Instrumentation.Runtime*/**', 'examples/runtime-instrumentation/**', '!**/*.md']
+ semanticconventions: ['*/OpenTelemetry.SemanticConventions*/**', '!**/*.md']
wcf: ['*/OpenTelemetry.Instrumentation.Wcf*/**', 'examples/wcf/**', '!**/*.md']
solution: [
'src/**',
@@ -68,6 +69,7 @@ jobs:
'!examples/redis/**',
'!*/OpenTelemetry.Instrumentation.Runtime*/**',
'!examples/runtime-instrumentation/**',
+ '!*/OpenTelemetry.SemanticConventions*/**',
'!*/OpenTelemetry.Instrumentation.Wcf*/**',
'!examples/wcf/**',
'!**/*.md'
@@ -254,6 +256,17 @@ jobs:
project-name: OpenTelemetry.Instrumentation.Runtime
code-cov-name: Instrumentation.Runtime
+ build-test-semanticconventions:
+ needs: detect-changes
+ if: |
+ contains(needs.detect-changes.outputs.changes, 'semanticconventions')
+ || contains(needs.detect-changes.outputs.changes, 'build')
+ || contains(needs.detect-changes.outputs.changes, 'shared')
+ uses: ./.github/workflows/Component.BuildTest.yml
+ with:
+ project-name: OpenTelemetry.SemanticConventions
+ code-cov-name: SemanticConventions
+
build-test-wcf:
needs: detect-changes
if: |
@@ -389,6 +402,7 @@ jobs:
build-test-redis,
build-test-redis-integration,
build-test-runtime,
+ build-test-semanticconventions,
build-test-wcf,
build-test-solution,
verify-aot-compat
diff --git a/.github/workflows/package-SemanticConventions.yml b/.github/workflows/package-SemanticConventions.yml
new file mode 100644
index 0000000000..0e2427a80a
--- /dev/null
+++ b/.github/workflows/package-SemanticConventions.yml
@@ -0,0 +1,21 @@
+name: Pack OpenTelemetry.SemanticConventions
+
+on:
+ workflow_dispatch:
+ inputs:
+ logLevel:
+ description: 'Log level'
+ required: true
+ default: 'warning'
+ push:
+ tags:
+ - 'SemanticConventions-*' # trigger when we create a tag with prefix "SemanticConventions-"
+
+jobs:
+ call-build-test-pack:
+ permissions:
+ contents: write
+ uses: ./.github/workflows/Component.Package.yml
+ with:
+ project-name: OpenTelemetry.SemanticConventions
+ secrets: inherit
diff --git a/build/Projects/OpenTelemetry.SemanticConventions.proj b/build/Projects/OpenTelemetry.SemanticConventions.proj
new file mode 100644
index 0000000000..c70593bab9
--- /dev/null
+++ b/build/Projects/OpenTelemetry.SemanticConventions.proj
@@ -0,0 +1,25 @@
+
+
+
+ $([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.Parent.FullName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 82f1fd55b68a468bb717135d3eb3840548dac3e6 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 07:22:22 +0000
Subject: [PATCH 13/26] Remove prefixes
---
.../.publicApi/PublicAPI.Unshipped.txt | 95 ----
.../SemanticConventionsAttributes.cs | 460 ------------------
.../SemanticConventionsAttributes.cs.j2 | 9 -
3 files changed, 564 deletions(-)
diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
index 596f34fcbe..8b6e84f881 100644
--- a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
@@ -813,9 +813,6 @@ const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetryS
const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Ssl = "ssl" -> string
const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Tls = "tls" -> string
-OpenTelemetry.SemanticConventions.MyService
-OpenTelemetry.SemanticConventions.MyService.MyService() -> void
-OpenTelemetry.SemanticConventions.MyService.Process() -> void
OpenTelemetry.SemanticConventions.SemanticConventionsAttributes
OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues
OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues
@@ -886,95 +883,3 @@ static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.
static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventLogFeatureFlag -> string
static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventRpcMessage -> string
static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventTraceException -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAndroidLifecycleEvents -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAspnetcore -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesFaasCommon -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesHttpDeprecated -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesJvmBuffer -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesLog -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesLogFile -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesNetworkDeprecated -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesProcessCpu -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystem -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemCpu -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemFilesystem -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemMemory -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemNetwork -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemPaging -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAttributesSystemProcess -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAws -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsEcs -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsEks -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsLambda -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsLog -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixAwsS3 -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixDbCosmosdb -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixEvent -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixFaasSpanDatasource -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixGraphql -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixHeroku -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixHostCpu -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixIosLifecycleEvents -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sCluster -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sContainer -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sCronjob -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sDaemonset -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sDeployment -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sJob -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sNamespace -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sNode -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sPod -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sReplicaset -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixK8sStatefulset -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixLogException -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixLogRecord -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMessagingAttributesCommon -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMessagingDestinationPublish -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricJvmGcDuration -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricJvmMemoryInit -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixMetricProcessDiskIo -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixNetworkCore -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOpentracing -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelLibrary -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelScope -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixOtelSpan -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixPeer -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixProcessRuntime -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryAwsDynamodb -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryBrowser -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryClient -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCloud -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCloudevents -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryCode -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryContainer -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDb -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDeployment -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDestination -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDevice -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDisk -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryDns -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryEnduser -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryError -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryFeatureFlag -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryFile -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryGcpCloudRun -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryGcpGce -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryHost -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryK8s -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryOciManifest -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryOs -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryProcess -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryRpc -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryServer -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryService -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistrySession -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistrySource -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryTelemetry -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryThread -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryTls -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryUrl -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRegistryUserAgent -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRpcJsonrpc -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixRpcMessage -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixSignalrCommonAttributes -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.PrefixWebengineResource -> string
\ No newline at end of file
diff --git a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
index fa13624d71..1c5327cc78 100644
--- a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
@@ -2622,466 +2622,6 @@ public static class SemanticConventionsAttributes
///
public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
- ///
- /// Prefix for 'attributes.faas.common'.
- ///
- public static readonly string PrefixAttributesFaasCommon = "faas";
-
- ///
- /// Prefix for 'peer'.
- ///
- public static readonly string PrefixPeer = "peer";
-
- ///
- /// Prefix for 'event'.
- ///
- public static readonly string PrefixEvent = "event";
-
- ///
- /// Prefix for 'log.record'.
- ///
- public static readonly string PrefixLogRecord = "log.record";
-
- ///
- /// Prefix for 'log-exception'.
- ///
- public static readonly string PrefixLogException = "exception";
-
- ///
- /// Prefix for 'attributes.log'.
- ///
- public static readonly string PrefixAttributesLog = "log";
-
- ///
- /// Prefix for 'attributes.log.file'.
- ///
- public static readonly string PrefixAttributesLogFile = "log.file";
-
- ///
- /// Prefix for 'ios.lifecycle.events'.
- ///
- public static readonly string PrefixIosLifecycleEvents = "ios";
-
- ///
- /// Prefix for 'android.lifecycle.events'.
- ///
- public static readonly string PrefixAndroidLifecycleEvents = "android";
-
- ///
- /// Prefix for 'messaging.attributes.common'.
- ///
- public static readonly string PrefixMessagingAttributesCommon = "messaging";
-
- ///
- /// Prefix for 'aspnetcore'.
- ///
- public static readonly string PrefixAspnetcore = "aspnetcore";
-
- ///
- /// Prefix for 'signalr.common_attributes'.
- ///
- public static readonly string PrefixSignalrCommonAttributes = "signalr";
-
- ///
- /// Prefix for 'metric.jvm.memory.init'.
- ///
- public static readonly string PrefixMetricJvmMemoryInit = "jvm.memory";
-
- ///
- /// Prefix for 'attributes.jvm.buffer'.
- ///
- public static readonly string PrefixAttributesJvmBuffer = "jvm.buffer";
-
- ///
- /// Prefix for 'metric.jvm.gc.duration'.
- ///
- public static readonly string PrefixMetricJvmGcDuration = "jvm.gc";
-
- ///
- /// Prefix for 'attributes.process.cpu'.
- ///
- public static readonly string PrefixAttributesProcessCpu = "process.cpu";
-
- ///
- /// Prefix for 'metric.process.disk.io'.
- ///
- public static readonly string PrefixMetricProcessDiskIo = "process.disk";
-
- ///
- /// Prefix for 'attributes.system'.
- ///
- public static readonly string PrefixAttributesSystem = "system";
-
- ///
- /// Prefix for 'attributes.system.cpu'.
- ///
- public static readonly string PrefixAttributesSystemCpu = "system.cpu";
-
- ///
- /// Prefix for 'attributes.system.memory'.
- ///
- public static readonly string PrefixAttributesSystemMemory = "system.memory";
-
- ///
- /// Prefix for 'attributes.system.paging'.
- ///
- public static readonly string PrefixAttributesSystemPaging = "system.paging";
-
- ///
- /// Prefix for 'attributes.system.filesystem'.
- ///
- public static readonly string PrefixAttributesSystemFilesystem = "system.filesystem";
-
- ///
- /// Prefix for 'attributes.system.network'.
- ///
- public static readonly string PrefixAttributesSystemNetwork = "system.network";
-
- ///
- /// Prefix for 'attributes.system.process'.
- ///
- public static readonly string PrefixAttributesSystemProcess = "system.process";
-
- ///
- /// Prefix for 'network-core'.
- ///
- public static readonly string PrefixNetworkCore = "network";
-
- ///
- /// Prefix for 'registry.aws.dynamodb'.
- ///
- public static readonly string PrefixRegistryAwsDynamodb = "aws.dynamodb";
-
- ///
- /// Prefix for 'registry.browser'.
- ///
- public static readonly string PrefixRegistryBrowser = "browser";
-
- ///
- /// Prefix for 'registry.client'.
- ///
- public static readonly string PrefixRegistryClient = "client";
-
- ///
- /// Prefix for 'registry.cloud'.
- ///
- public static readonly string PrefixRegistryCloud = "cloud";
-
- ///
- /// Prefix for 'registry.cloudevents'.
- ///
- public static readonly string PrefixRegistryCloudevents = "cloudevents";
-
- ///
- /// Prefix for 'registry.code'.
- ///
- public static readonly string PrefixRegistryCode = "code";
-
- ///
- /// Prefix for 'registry.container'.
- ///
- public static readonly string PrefixRegistryContainer = "container";
-
- ///
- /// Prefix for 'registry.db'.
- ///
- public static readonly string PrefixRegistryDb = "db";
-
- ///
- /// Prefix for 'registry.deployment'.
- ///
- public static readonly string PrefixRegistryDeployment = "deployment";
-
- ///
- /// Prefix for 'attributes.http.deprecated'.
- ///
- public static readonly string PrefixAttributesHttpDeprecated = "http";
-
- ///
- /// Prefix for 'attributes.network.deprecated'.
- ///
- public static readonly string PrefixAttributesNetworkDeprecated = "net";
-
- ///
- /// Prefix for 'registry.destination'.
- ///
- public static readonly string PrefixRegistryDestination = "destination";
-
- ///
- /// Prefix for 'registry.device'.
- ///
- public static readonly string PrefixRegistryDevice = "device";
-
- ///
- /// Prefix for 'registry.disk'.
- ///
- public static readonly string PrefixRegistryDisk = "disk";
-
- ///
- /// Prefix for 'registry.dns'.
- ///
- public static readonly string PrefixRegistryDns = "dns";
-
- ///
- /// Prefix for 'registry.enduser'.
- ///
- public static readonly string PrefixRegistryEnduser = "enduser";
-
- ///
- /// Prefix for 'registry.error'.
- ///
- public static readonly string PrefixRegistryError = "error";
-
- ///
- /// Prefix for 'registry.feature_flag'.
- ///
- public static readonly string PrefixRegistryFeatureFlag = "feature_flag";
-
- ///
- /// Prefix for 'registry.file'.
- ///
- public static readonly string PrefixRegistryFile = "file";
-
- ///
- /// Prefix for 'registry.gcp.cloud_run'.
- ///
- public static readonly string PrefixRegistryGcpCloudRun = "gcp.cloud_run";
-
- ///
- /// Prefix for 'registry.gcp.gce'.
- ///
- public static readonly string PrefixRegistryGcpGce = "gcp.gce";
-
- ///
- /// Prefix for 'registry.host'.
- ///
- public static readonly string PrefixRegistryHost = "host";
-
- ///
- /// Prefix for 'registry.k8s'.
- ///
- public static readonly string PrefixRegistryK8s = "k8s";
-
- ///
- /// Prefix for 'registry.oci.manifest'.
- ///
- public static readonly string PrefixRegistryOciManifest = "oci.manifest";
-
- ///
- /// Prefix for 'registry.os'.
- ///
- public static readonly string PrefixRegistryOs = "os";
-
- ///
- /// Prefix for 'registry.process'.
- ///
- public static readonly string PrefixRegistryProcess = "process";
-
- ///
- /// Prefix for 'registry.rpc'.
- ///
- public static readonly string PrefixRegistryRpc = "rpc";
-
- ///
- /// Prefix for 'registry.server'.
- ///
- public static readonly string PrefixRegistryServer = "server";
-
- ///
- /// Prefix for 'registry.service'.
- ///
- public static readonly string PrefixRegistryService = "service";
-
- ///
- /// Prefix for 'registry.session'.
- ///
- public static readonly string PrefixRegistrySession = "session";
-
- ///
- /// Prefix for 'registry.source'.
- ///
- public static readonly string PrefixRegistrySource = "source";
-
- ///
- /// Prefix for 'registry.telemetry'.
- ///
- public static readonly string PrefixRegistryTelemetry = "telemetry";
-
- ///
- /// Prefix for 'registry.thread'.
- ///
- public static readonly string PrefixRegistryThread = "thread";
-
- ///
- /// Prefix for 'registry.tls'.
- ///
- public static readonly string PrefixRegistryTls = "tls";
-
- ///
- /// Prefix for 'registry.url'.
- ///
- public static readonly string PrefixRegistryUrl = "url";
-
- ///
- /// Prefix for 'registry.user_agent'.
- ///
- public static readonly string PrefixRegistryUserAgent = "user_agent";
-
- ///
- /// Prefix for 'aws.ecs'.
- ///
- public static readonly string PrefixAwsEcs = "aws.ecs";
-
- ///
- /// Prefix for 'aws.eks'.
- ///
- public static readonly string PrefixAwsEks = "aws.eks";
-
- ///
- /// Prefix for 'aws.log'.
- ///
- public static readonly string PrefixAwsLog = "aws.log";
-
- ///
- /// Prefix for 'heroku'.
- ///
- public static readonly string PrefixHeroku = "heroku";
-
- ///
- /// Prefix for 'host.cpu'.
- ///
- public static readonly string PrefixHostCpu = "host.cpu";
-
- ///
- /// Prefix for 'k8s.cluster'.
- ///
- public static readonly string PrefixK8sCluster = "k8s.cluster";
-
- ///
- /// Prefix for 'k8s.node'.
- ///
- public static readonly string PrefixK8sNode = "k8s.node";
-
- ///
- /// Prefix for 'k8s.namespace'.
- ///
- public static readonly string PrefixK8sNamespace = "k8s.namespace";
-
- ///
- /// Prefix for 'k8s.pod'.
- ///
- public static readonly string PrefixK8sPod = "k8s.pod";
-
- ///
- /// Prefix for 'k8s.container'.
- ///
- public static readonly string PrefixK8sContainer = "k8s.container";
-
- ///
- /// Prefix for 'k8s.replicaset'.
- ///
- public static readonly string PrefixK8sReplicaset = "k8s.replicaset";
-
- ///
- /// Prefix for 'k8s.deployment'.
- ///
- public static readonly string PrefixK8sDeployment = "k8s.deployment";
-
- ///
- /// Prefix for 'k8s.statefulset'.
- ///
- public static readonly string PrefixK8sStatefulset = "k8s.statefulset";
-
- ///
- /// Prefix for 'k8s.daemonset'.
- ///
- public static readonly string PrefixK8sDaemonset = "k8s.daemonset";
-
- ///
- /// Prefix for 'k8s.job'.
- ///
- public static readonly string PrefixK8sJob = "k8s.job";
-
- ///
- /// Prefix for 'k8s.cronjob'.
- ///
- public static readonly string PrefixK8sCronjob = "k8s.cronjob";
-
- ///
- /// Prefix for 'process.runtime'.
- ///
- public static readonly string PrefixProcessRuntime = "process.runtime";
-
- ///
- /// Prefix for 'webengine_resource'.
- ///
- public static readonly string PrefixWebengineResource = "webengine";
-
- ///
- /// Prefix for 'otel.scope'.
- ///
- public static readonly string PrefixOtelScope = "otel.scope";
-
- ///
- /// Prefix for 'otel.library'.
- ///
- public static readonly string PrefixOtelLibrary = "otel.library";
-
- ///
- /// Prefix for 'aws.lambda'.
- ///
- public static readonly string PrefixAwsLambda = "aws.lambda";
-
- ///
- /// Prefix for 'opentracing'.
- ///
- public static readonly string PrefixOpentracing = "opentracing";
-
- ///
- /// Prefix for 'db.cosmosdb'.
- ///
- public static readonly string PrefixDbCosmosdb = "db.cosmosdb";
-
- ///
- /// Prefix for 'otel_span'.
- ///
- public static readonly string PrefixOtelSpan = "otel";
-
- ///
- /// Prefix for 'faas_span.datasource'.
- ///
- public static readonly string PrefixFaasSpanDatasource = "faas.document";
-
- ///
- /// Prefix for 'aws'.
- ///
- public static readonly string PrefixAws = "aws";
-
- ///
- /// Prefix for 'aws.s3'.
- ///
- public static readonly string PrefixAwsS3 = "aws.s3";
-
- ///
- /// Prefix for 'graphql'.
- ///
- public static readonly string PrefixGraphql = "graphql";
-
- ///
- /// Prefix for 'messaging.destination_publish'.
- ///
- public static readonly string PrefixMessagingDestinationPublish = "messaging.destination_publish";
-
- ///
- /// Prefix for 'rpc.jsonrpc'.
- ///
- public static readonly string PrefixRpcJsonrpc = "rpc.jsonrpc";
-
- ///
- /// Prefix for 'rpc.message'.
- ///
- public static readonly string PrefixRpcMessage = "message";
-
///
/// Event name for 'log-feature_flag'.
///
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index 4bee7d5b0d..5e4decadd5 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -48,15 +48,6 @@ namespace OpenTelemetry.SemanticConventions
{% endif %}
public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
{% endfor %}
-{% for semconv in semconvs.values() | unique(attribute="prefix") %}
- {% if semconv.prefix %}
-
- ///
- /// Prefix for '{{semconv.semconv_id}}'.
- ///
- public static readonly string Prefix{{semconv.semconv_id | replace("-","_") | to_camelcase(True)}} = "{{semconv.prefix}}";
- {% endif %}
-{% endfor %}
{% for semconv in semconvs.values() %}
{% if semconv.GROUP_TYPE_NAME == 'event' %}
From 232cc15b02ebc1353344ddfc1d4371af9f759a7c Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 07:25:06 +0000
Subject: [PATCH 14/26] Add missing using directive
---
.../SemanticConventionsAttributes.cs | 2 ++
.../scripts/templates/SemanticConventionsAttributes.cs.j2 | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
index 1c5327cc78..6b96809427 100644
--- a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
@@ -5,6 +5,8 @@
#pragma warning disable CS1570 // XML comment has badly formed XML
+using System;
+
namespace OpenTelemetry.SemanticConventions
{
///
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index 5e4decadd5..99cc6de508 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -23,6 +23,8 @@
#pragma warning disable CS1570 // XML comment has badly formed XML
+using System;
+
namespace OpenTelemetry.SemanticConventions
{
///
From 42eabd875f5cb2bf95bb6e69bd8f2dcb1c25496e Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 07:42:10 +0000
Subject: [PATCH 15/26] Add missing target
---
build/Projects/OpenTelemetry.SemanticConventions.proj | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/build/Projects/OpenTelemetry.SemanticConventions.proj b/build/Projects/OpenTelemetry.SemanticConventions.proj
index c70593bab9..91d459a156 100644
--- a/build/Projects/OpenTelemetry.SemanticConventions.proj
+++ b/build/Projects/OpenTelemetry.SemanticConventions.proj
@@ -22,4 +22,8 @@
+
+
+
+
From f591be648336a10d619bede7f21b25ae4fd69112 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 08:43:08 +0000
Subject: [PATCH 16/26] Add missing files in sln
---
opentelemetry-dotnet-contrib.sln | 2 ++
1 file changed, 2 insertions(+)
diff --git a/opentelemetry-dotnet-contrib.sln b/opentelemetry-dotnet-contrib.sln
index 09397d77f1..7edb9afcbd 100644
--- a/opentelemetry-dotnet-contrib.sln
+++ b/opentelemetry-dotnet-contrib.sln
@@ -69,6 +69,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{
.github\workflows\package-ResourceDetectors.Process.yml = .github\workflows\package-ResourceDetectors.Process.yml
.github\workflows\package-ResourceDetectors.ProcessRuntime.yml = .github\workflows\package-ResourceDetectors.ProcessRuntime.yml
.github\workflows\package-Sampler.AWS.yml = .github\workflows\package-Sampler.AWS.yml
+ .github\workflows\package-SemanticConventions.yml = .github\workflows\package-SemanticConventions.yml
.github\workflows\sanitycheck.yml = .github\workflows\sanitycheck.yml
.github\workflows\stale.yml = .github\workflows\stale.yml
.github\workflows\verifyaotcompat.yml = .github\workflows\verifyaotcompat.yml
@@ -330,6 +331,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projects", "Projects", "{04
build\Projects\OpenTelemetry.ResourceDetectors.Host.proj = build\Projects\OpenTelemetry.ResourceDetectors.Host.proj
build\Projects\OpenTelemetry.ResourceDetectors.Process.proj = build\Projects\OpenTelemetry.ResourceDetectors.Process.proj
build\Projects\OpenTelemetry.ResourceDetectors.ProcessRuntime.proj = build\Projects\OpenTelemetry.ResourceDetectors.ProcessRuntime.proj
+ build\Projects\OpenTelemetry.SemanticConventions.proj = build\Projects\OpenTelemetry.SemanticConventions.proj
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.ResourceDetectors.ProcessRuntime", "src\OpenTelemetry.ResourceDetectors.ProcessRuntime\OpenTelemetry.ResourceDetectors.ProcessRuntime.csproj", "{95372E82-CA5B-4C61-BD6C-74E6AB1970D4}"
From 69d1326f445619fc43452e7fdd04f1f8b3d945b5 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 09:36:20 +0000
Subject: [PATCH 17/26] Group attributes by the root namespace
---
.../.publicApi/PublicAPI.Unshipped.txt | 1831 +++---
.../AndroidAttributes.cs | 51 +
.../AspnetcoreAttributes.cs | 120 +
.../AwsAttributes.cs | 307 +
.../BrowserAttributes.cs | 50 +
.../ClientAttributes.cs | 33 +
.../CloudAttributes.cs | 260 +
.../CloudeventsAttributes.cs | 42 +
.../CodeAttributes.cs | 47 +
.../ContainerAttributes.cs | 115 +
.../DbAttributes.cs | 612 ++
.../DeploymentAttributes.cs | 31 +
.../DestinationAttributes.cs | 30 +
.../DeviceAttributes.cs | 49 +
.../DiskAttributes.cs | 38 +
.../DnsAttributes.cs | 25 +
.../EnduserAttributes.cs | 32 +
.../ErrorAttributes.cs | 44 +
.../EventAttributes.cs | 25 +
.../ExceptionAttributes.cs | 51 +
.../FaasAttributes.cs | 224 +
.../FeatureFlagAttributes.cs | 40 +
.../FileAttributes.cs | 45 +
.../GcpAttributes.cs | 37 +
.../GraphqlAttributes.cs | 56 +
.../HerokuAttributes.cs | 32 +
.../HostAttributes.cs | 147 +
.../HttpAttributes.cs | 266 +
.../IosAttributes.cs | 56 +
.../JvmAttributes.cs | 116 +
.../K8sAttributes.cs | 156 +
.../LogAttributes.cs | 67 +
.../MessageAttributes.cs | 56 +
.../MessagingAttributes.cs | 391 ++
.../NetAttributes.cs | 147 +
.../NetworkAttributes.cs | 306 +
.../OciAttributes.cs | 26 +
.../OpentracingAttributes.cs | 41 +
.../OsAttributes.cs | 103 +
.../OtelAttributes.cs | 65 +
.../OtherAttributes.cs | 38 +
.../PeerAttributes.cs | 22 +
.../PoolAttributes.cs | 22 +
.../ProcessAttributes.cs | 140 +
.../RpcAttributes.cs | 308 +
.../SemanticConventionsAttributes.cs | 4990 -----------------
.../ServerAttributes.cs | 33 +
.../ServiceAttributes.cs | 63 +
.../SessionAttributes.cs | 27 +
.../SignalrAttributes.cs | 69 +
.../SourceAttributes.cs | 30 +
.../SystemAttributes.cs | 383 ++
.../TelemetryAttributes.cs | 120 +
.../ThreadAttributes.cs | 27 +
.../TlsAttributes.cs | 181 +
.../UrlAttributes.cs | 107 +
.../UserAgentAttributes.cs | 38 +
.../WebengineAttributes.cs | 32 +
.../scripts/generate.ps1 | 5 +-
.../scripts/generate.sh | 5 +-
.../SemanticConventionsAttributes.cs.j2 | 20 +-
61 files changed, 6932 insertions(+), 5898 deletions(-)
create mode 100644 src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DbAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/EventAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/FileAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/HostAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/IosAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/LogAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/NetAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/OciAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/OsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
delete mode 100644 src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
create mode 100644 src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
index 8b6e84f881..f88e9e126f 100644
--- a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
+++ b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt
@@ -1,885 +1,946 @@
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Background = "background" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Created = "created" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues.Foreground = "foreground" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Aborted = "aborted" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Handled = "handled" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Skipped = "skipped" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues.Unhandled = "unhandled" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.Acquired = "acquired" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.EndpointLimiter = "endpoint_limiter" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.GlobalLimiter = "global_limiter" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues.RequestCanceled = "request_canceled" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues.Failure = "failure" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues.Success = "success" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAndroidOsApiLevel = "android.os.api_level" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAndroidState = "android.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskId = "aws.ecs.task.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogGroupNames = "aws.log.group.names" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsRequestId = "aws.request_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Bucket = "aws.s3.bucket" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3CopySource = "aws.s3.copy_source" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Delete = "aws.s3.delete" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3Key = "aws.s3.key" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3PartNumber = "aws.s3.part_number" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeAwsS3UploadId = "aws.s3.upload_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserBrands = "browser.brands" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserLanguage = "browser.language" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserMobile = "browser.mobile" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeBrowserPlatform = "browser.platform" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeClientAddress = "client.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeClientPort = "client.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudAccountId = "cloud.account.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventId = "cloudevents.event_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudeventsEventType = "cloudevents.event_type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudPlatform = "cloud.platform" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudProvider = "cloud.provider" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudRegion = "cloud.region" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCloudResourceId = "cloud.resource_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeColumn = "code.column" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeFilepath = "code.filepath" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeFunction = "code.function" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeLineno = "code.lineno" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeNamespace = "code.namespace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeCodeStacktrace = "code.stacktrace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommand = "container.command" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommandArgs = "container.command_args" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCommandLine = "container.command_line" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerCpuState = "container.cpu.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerId = "container.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageId = "container.image.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageName = "container.image.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageRepoDigests = "container.image.repo_digests" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerImageTags = "container.image.tags" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerName = "container.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeContainerRuntime = "container.runtime" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCassandraTable = "db.cassandra.table" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbConnectionString = "db.connection_string" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbClientId = "db.cosmosdb.client_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbContainer = "db.cosmosdb.container" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbInstanceId = "db.instance.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbMongodbCollection = "db.mongodb.collection" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbName = "db.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbOperation = "db.operation" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbSqlTable = "db.sql.table" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbStatement = "db.statement" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbSystem = "db.system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDbUser = "db.user" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeploymentEnvironment = "deployment.environment" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDestinationAddress = "destination.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDestinationPort = "destination.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceId = "device.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceManufacturer = "device.manufacturer" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceModelIdentifier = "device.model.identifier" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDeviceModelName = "device.model.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDiskIoDirection = "disk.io.direction" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeDnsQuestionName = "dns.question.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserId = "enduser.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserRole = "enduser.role" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEnduserScope = "enduser.scope" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeErrorType = "error.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeEventName = "event.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionEscaped = "exception.escaped" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionMessage = "exception.message" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionStacktrace = "exception.stacktrace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeExceptionType = "exception.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasColdstart = "faas.coldstart" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasCron = "faas.cron" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentCollection = "faas.document.collection" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentName = "faas.document.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentOperation = "faas.document.operation" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasDocumentTime = "faas.document.time" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInstance = "faas.instance" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvocationId = "faas.invocation_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedName = "faas.invoked_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasInvokedRegion = "faas.invoked_region" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasMaxMemory = "faas.max_memory" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasName = "faas.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasTime = "faas.time" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasTrigger = "faas.trigger" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFaasVersion = "faas.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagKey = "feature_flag.key" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagProviderName = "feature_flag.provider_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFeatureFlagVariant = "feature_flag.variant" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileDirectory = "file.directory" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileExtension = "file.extension" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileName = "file.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFilePath = "file.path" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeFileSize = "file.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGcpGceInstanceName = "gcp.gce.instance.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlDocument = "graphql.document" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlOperationName = "graphql.operation.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeGraphqlOperationType = "graphql.operation.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuAppId = "heroku.app.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuReleaseCommit = "heroku.release.commit" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostArch = "host.arch" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuFamily = "host.cpu.family" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuModelId = "host.cpu.model.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuModelName = "host.cpu.model.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuStepping = "host.cpu.stepping" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostCpuVendorId = "host.cpu.vendor.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostId = "host.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageId = "host.image.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageName = "host.image.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostImageVersion = "host.image.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostIp = "host.ip" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostMac = "host.mac" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostName = "host.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHostType = "host.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpConnectionState = "http.connection.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpFlavor = "http.flavor" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpMethod = "http.method" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestBodySize = "http.request.body.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestContentLength = "http.request_content_length" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestMethod = "http.request.method" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestMethodOriginal = "http.request.method_original" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestResendCount = "http.request.resend_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRequestSize = "http.request.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseBodySize = "http.response.body.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseContentLength = "http.response_content_length" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseSize = "http.response.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpResponseStatusCode = "http.response.status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpRoute = "http.route" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpScheme = "http.scheme" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpStatusCode = "http.status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpTarget = "http.target" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpUrl = "http.url" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeHttpUserAgent = "http.user_agent" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeIosState = "ios.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmBufferPoolName = "jvm.buffer.pool.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmGcAction = "jvm.gc.action" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmGcName = "jvm.gc.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmMemoryPoolName = "jvm.memory.pool.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmMemoryType = "jvm.memory.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmThreadDaemon = "jvm.thread.daemon" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeJvmThreadState = "jvm.thread.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sClusterName = "k8s.cluster.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sClusterUid = "k8s.cluster.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sContainerName = "k8s.container.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sCronjobName = "k8s.cronjob.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDeploymentName = "k8s.deployment.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sJobName = "k8s.job.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sJobUid = "k8s.job.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNamespaceName = "k8s.namespace.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNodeName = "k8s.node.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sNodeUid = "k8s.node.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sPodName = "k8s.pod.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sPodUid = "k8s.pod.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFileName = "log.file.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFileNameResolved = "log.file.name_resolved" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFilePath = "log.file.path" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogFilePathResolved = "log.file.path_resolved" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogIostream = "log.iostream" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeLogRecordUid = "log.record.uid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageCompressedSize = "message.compressed_size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageId = "message.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageType = "message.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingBatchMessageCount = "messaging.batch.message_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingClientId = "messaging.client_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationName = "messaging.destination.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationPublishName = "messaging.destination_publish.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationTemplate = "messaging.destination.template" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingDestinationTemporary = "messaging.destination.temporary" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageBodySize = "messaging.message.body.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageConversationId = "messaging.message.conversation_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingMessageId = "messaging.message.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingOperation = "messaging.operation" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeMessagingSystem = "messaging.system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetHostName = "net.host.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetHostPort = "net.host.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetPeerName = "net.peer.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetPeerPort = "net.peer.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetProtocolName = "net.protocol.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetProtocolVersion = "net.protocol.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockFamily = "net.sock.family" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockHostAddr = "net.sock.host.addr" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockHostPort = "net.sock.host.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerName = "net.sock.peer.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetSockPeerPort = "net.sock.peer.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetTransport = "net.transport" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierIcc = "network.carrier.icc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierMcc = "network.carrier.mcc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierMnc = "network.carrier.mnc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkCarrierName = "network.carrier.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkConnectionSubtype = "network.connection.subtype" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkConnectionType = "network.connection.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkIoDirection = "network.io.direction" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkLocalAddress = "network.local.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkLocalPort = "network.local.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkPeerAddress = "network.peer.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkPeerPort = "network.peer.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkProtocolName = "network.protocol.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkProtocolVersion = "network.protocol.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkTransport = "network.transport" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeNetworkType = "network.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOciManifestDigest = "oci.manifest.digest" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOpentracingRefType = "opentracing.ref_type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsBuildId = "os.build_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsDescription = "os.description" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsName = "os.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsType = "os.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOsVersion = "os.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelLibraryName = "otel.library.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelLibraryVersion = "otel.library.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelScopeName = "otel.scope.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelScopeVersion = "otel.scope.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelStatusCode = "otel.status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeOtelStatusDescription = "otel.status_description" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributePeerService = "peer.service" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributePoolName = "pool.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommand = "process.command" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommandArgs = "process.command_args" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCommandLine = "process.command_line" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessContextSwitchType = "process.context_switch_type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessCpuState = "process.cpu.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessExecutableName = "process.executable.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessExecutablePath = "process.executable.path" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessOwner = "process.owner" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessPagingFaultType = "process.paging.fault_type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessParentPid = "process.parent_pid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessPid = "process.pid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeDescription = "process.runtime.description" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeName = "process.runtime.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeProcessRuntimeVersion = "process.runtime.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcMethod = "rpc.method" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcService = "rpc.service" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeRpcSystem = "rpc.system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServerAddress = "server.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServerPort = "server.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceInstanceId = "service.instance.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceName = "service.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceNamespace = "service.namespace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeServiceVersion = "service.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSessionId = "session.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSessionPreviousId = "session.previous_id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSignalrConnectionStatus = "signalr.connection.status" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSignalrTransport = "signalr.transport" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSourceAddress = "source.address" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSourcePort = "source.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeState = "state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemCpuLogicalNumber = "system.cpu.logical_number" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemCpuState = "system.cpu.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemDevice = "system.device" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemMode = "system.filesystem.mode" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemState = "system.filesystem.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemFilesystemType = "system.filesystem.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemMemoryState = "system.memory.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemNetworkState = "system.network.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingDirection = "system.paging.direction" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingState = "system.paging.state" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemPagingType = "system.paging.type" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemProcessesStatus = "system.processes.status" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeSystemProcessStatus = "system.process.status" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetryDistroName = "telemetry.distro.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetryDistroVersion = "telemetry.distro.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeThreadId = "thread.id" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeThreadName = "thread.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsCipher = "tls.cipher" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientCertificate = "tls.client.certificate" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientCertificateChain = "tls.client.certificate_chain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashMd5 = "tls.client.hash.md5" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashSha1 = "tls.client.hash.sha1" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientHashSha256 = "tls.client.hash.sha256" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientIssuer = "tls.client.issuer" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientJa3 = "tls.client.ja3" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientNotAfter = "tls.client.not_after" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientNotBefore = "tls.client.not_before" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientServerName = "tls.client.server_name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientSubject = "tls.client.subject" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsCurve = "tls.curve" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsEstablished = "tls.established" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsNextProtocol = "tls.next_protocol" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsProtocolName = "tls.protocol.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsProtocolVersion = "tls.protocol.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsResumed = "tls.resumed" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerCertificate = "tls.server.certificate" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerCertificateChain = "tls.server.certificate_chain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashMd5 = "tls.server.hash.md5" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashSha1 = "tls.server.hash.sha1" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerHashSha256 = "tls.server.hash.sha256" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerIssuer = "tls.server.issuer" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerJa3s = "tls.server.ja3s" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerNotAfter = "tls.server.not_after" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerNotBefore = "tls.server.not_before" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeTlsServerSubject = "tls.server.subject" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlDomain = "url.domain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlExtension = "url.extension" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlFragment = "url.fragment" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlFull = "url.full" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlOriginal = "url.original" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlPath = "url.path" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlPort = "url.port" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlQuery = "url.query" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlRegisteredDomain = "url.registered_domain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlScheme = "url.scheme" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlSubdomain = "url.subdomain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUrlTopLevelDomain = "url.top_level_domain" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentName = "user_agent.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentOriginal = "user_agent.original" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeUserAgentVersion = "user_agent.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineDescription = "webengine.description" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineName = "webengine.name" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AttributeWebengineVersion = "webengine.version" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AlibabaCloudOpenshift = "alibaba_cloud_openshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEcs = "aws_ecs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsEks = "aws_eks" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsLambda = "aws_lambda" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AwsOpenshift = "aws_openshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureAks = "azure_aks" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureAppService = "azure_app_service" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureContainerApps = "azure_container_apps" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureFunctions = "azure_functions" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureOpenshift = "azure_openshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.AzureVm = "azure_vm" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpBareMetalSolution = "gcp_bare_metal_solution" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.GcpOpenshift = "gcp_openshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.IbmCloudOpenshift = "ibm_cloud_openshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Aws = "aws" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Azure = "azure" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Gcp = "gcp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.Heroku = "heroku" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.IbmCloud = "ibm_cloud" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues.TencentCloud = "tencent_cloud" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.Kernel = "kernel" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.System = "system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues.User = "user" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.All = "all" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Any = "any" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.One = "one" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Serial = "serial" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Three = "three" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues.Two = "two" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues.Direct = "direct" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues.Gateway = "gateway" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Batch = "Batch" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Create = "Create" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Delete = "Delete" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Execute = "Execute" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.ExecuteJavascript = "ExecuteJavaScript" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Head = "Head" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.HeadFeed = "HeadFeed" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Invalid = "Invalid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Patch = "Patch" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Query = "Query" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.QueryPlan = "QueryPlan" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Read = "Read" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.ReadFeed = "ReadFeed" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Replace = "Replace" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues.Upsert = "Upsert" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Adabas = "adabas" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cache = "cache" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cassandra = "cassandra" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Clickhouse = "clickhouse" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cloudscape = "cloudscape" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cockroachdb = "cockroachdb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Coldfusion = "coldfusion" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Cosmosdb = "cosmosdb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Couchbase = "couchbase" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Couchdb = "couchdb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Db2 = "db2" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Derby = "derby" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Dynamodb = "dynamodb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Edb = "edb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Elasticsearch = "elasticsearch" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Filemaker = "filemaker" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Firebird = "firebird" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Firstsql = "firstsql" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Geode = "geode" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.H2 = "h2" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hanadb = "hanadb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hbase = "hbase" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hive = "hive" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Hsqldb = "hsqldb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Informix = "informix" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Ingres = "ingres" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Instantdb = "instantdb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Interbase = "interbase" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mariadb = "mariadb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Maxdb = "maxdb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Memcached = "memcached" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mongodb = "mongodb" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mssql = "mssql" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mssqlcompact = "mssqlcompact" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Mysql = "mysql" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Neo4j = "neo4j" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Netezza = "netezza" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Opensearch = "opensearch" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Oracle = "oracle" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.OtherSql = "other_sql" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Pervasive = "pervasive" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Pointbase = "pointbase" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Postgresql = "postgresql" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Progress = "progress" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Redis = "redis" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Redshift = "redshift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Spanner = "spanner" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Sqlite = "sqlite" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Sybase = "sybase" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Teradata = "teradata" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Trino = "trino" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues.Vertica = "vertica" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues.Read = "read" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues.Write = "write" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ErrorTypeValues.Other = "_OTHER" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Delete = "delete" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Edit = "edit" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues.Insert = "insert" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Aws = "aws" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Azure = "azure" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.Gcp = "gcp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Datasource = "datasource" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Http = "http" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Other = "other" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Pubsub = "pubsub" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues.Timer = "timer" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Mutation = "mutation" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Query = "query" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues.Subscription = "subscription" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Amd64 = "amd64" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Arm32 = "arm32" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Arm64 = "arm64" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ia64 = "ia64" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ppc32 = "ppc32" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.Ppc64 = "ppc64" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.S390x = "s390x" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues.X86 = "x86" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues.Active = "active" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues.Idle = "idle" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http10 = "1.0" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http11 = "1.1" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http20 = "2.0" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Http30 = "3.0" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Quic = "QUIC" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues.Spdy = "SPDY" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Connect = "CONNECT" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Delete = "DELETE" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Get = "GET" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Head = "HEAD" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Options = "OPTIONS" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Other = "_OTHER" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Patch = "PATCH" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Post = "POST" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Put = "PUT" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues.Trace = "TRACE" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Active = "active" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Background = "background" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Foreground = "foreground" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Inactive = "inactive" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues.Terminate = "terminate" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues.Heap = "heap" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues.NonHeap = "non_heap" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Blocked = "blocked" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.New = "new" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Runnable = "runnable" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Terminated = "terminated" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.TimedWaiting = "timed_waiting" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues.Waiting = "waiting" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues.Stderr = "stderr" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues.Stdout = "stdout" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues.Received = "RECEIVED" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues.Sent = "SENT" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Create = "create" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Deliver = "process" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Publish = "publish" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Receive = "receive" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues.Settle = "settle" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Abandon = "abandon" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Complete = "complete" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.DeadLetter = "dead_letter" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues.Defer = "defer" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Activemq = "activemq" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.AwsSqs = "aws_sqs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Eventgrid = "eventgrid" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Eventhubs = "eventhubs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.GcpPubsub = "gcp_pubsub" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Jms = "jms" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Kafka = "kafka" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Rabbitmq = "rabbitmq" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Rocketmq = "rocketmq" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues.Servicebus = "servicebus" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Inet = "inet" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Inet6 = "inet6" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues.Unix = "unix" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Inproc = "inproc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.IpTcp = "ip_tcp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.IpUdp = "ip_udp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Other = "other" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues.Pipe = "pipe" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Cdma = "cdma" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Edge = "edge" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Ehrpd = "ehrpd" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Evdo0 = "evdo_0" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.EvdoA = "evdo_a" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.EvdoB = "evdo_b" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Gprs = "gprs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Gsm = "gsm" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hsdpa = "hsdpa" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hspa = "hspa" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hspap = "hspap" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Hsupa = "hsupa" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Iden = "iden" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Iwlan = "iwlan" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Lte = "lte" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.LteCa = "lte_ca" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Nr = "nr" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Nrnsa = "nrnsa" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.TdScdma = "td_scdma" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues.Umts = "umts" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Cell = "cell" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Unavailable = "unavailable" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Unknown = "unknown" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Wifi = "wifi" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues.Wired = "wired" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues.Receive = "receive" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues.Transmit = "transmit" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Pipe = "pipe" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Tcp = "tcp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Udp = "udp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues.Unix = "unix" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues.Ipv4 = "ipv4" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues.Ipv6 = "ipv6" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues.ChildOf = "child_of" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Aix = "aix" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Darwin = "darwin" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Freebsd = "freebsd" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Hpux = "hpux" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Linux = "linux" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Netbsd = "netbsd" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Openbsd = "openbsd" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Solaris = "solaris" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.Windows = "windows" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues.ZOs = "z_os" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues.Error = "ERROR" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues.Ok = "OK" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues.Involuntary = "involuntary" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues.Voluntary = "voluntary" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.System = "system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.User = "user" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues.Wait = "wait" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues.Major = "major" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues.Minor = "minor" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Aborted = "aborted" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.AlreadyExists = "already_exists" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Cancelled = "cancelled" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.DataLoss = "data_loss" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.DeadlineExceeded = "deadline_exceeded" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.FailedPrecondition = "failed_precondition" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Internal = "internal" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.InvalidArgument = "invalid_argument" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.NotFound = "not_found" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.OutOfRange = "out_of_range" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.PermissionDenied = "permission_denied" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.ResourceExhausted = "resource_exhausted" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unauthenticated = "unauthenticated" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unavailable = "unavailable" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unimplemented = "unimplemented" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues.Unknown = "unknown" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Aborted = 10 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Cancelled = 1 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.DataLoss = 15 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Internal = 13 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.NotFound = 5 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Ok = 0 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unavailable = 14 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues.Unknown = 2 -> int
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.ConnectRpc = "connect_rpc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.Grpc = "grpc" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues.JavaRmi = "java_rmi" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.AppShutdown = "app_shutdown" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.NormalClosure = "normal_closure" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues.Timeout = "timeout" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.LongPolling = "long_polling" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.ServerSentEvents = "server_sent_events" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues.WebSockets = "web_sockets" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues.Idle = "idle" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues.Used = "used" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Idle = "idle" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Interrupt = "interrupt" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Iowait = "iowait" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Nice = "nice" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.Steal = "steal" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.System = "system" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues.User = "user" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Free = "free" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Reserved = "reserved" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues.Used = "used" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Exfat = "exfat" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Ext4 = "ext4" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Fat32 = "fat32" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Hfsplus = "hfsplus" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Ntfs = "ntfs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues.Refs = "refs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Buffers = "buffers" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Cached = "cached" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Free = "free" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Shared = "shared" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues.Used = "used" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Close = "close" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.CloseWait = "close_wait" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Closing = "closing" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Delete = "delete" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Established = "established" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.FinWait1 = "fin_wait_1" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.FinWait2 = "fin_wait_2" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.LastAck = "last_ack" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.Listen = "listen" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.SynRecv = "syn_recv" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.SynSent = "syn_sent" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues.TimeWait = "time_wait" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues.In = "in" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues.Out = "out" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues.Free = "free" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues.Used = "used" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues.Major = "major" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues.Minor = "minor" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Defunct = "defunct" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Running = "running" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Sleeping = "sleeping" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues.Stopped = "stopped" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Defunct = "defunct" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Running = "running" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Sleeping = "sleeping" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues.Stopped = "stopped" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Cpp = "cpp" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Erlang = "erlang" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Go = "go" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Java = "java" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Php = "php" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Python = "python" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Ruby = "ruby" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Rust = "rust" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Swift = "swift" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Ssl = "ssl" -> string
-const OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues.Tls = "tls" -> string
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AndroidStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreDiagnosticsExceptionResultValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRateLimitingResultValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AspnetcoreRoutingMatchStatusValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.AwsEcsLaunchtypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudPlatformValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.CloudProviderValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ContainerCpuStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCassandraConsistencyLevelValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbConnectionModeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbCosmosdbOperationTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DbSystemValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.DiskIoDirectionValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ErrorTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasDocumentOperationValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasInvokedProviderValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.FaasTriggerValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.GraphqlOperationTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HostArchValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpConnectionStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpFlavorValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.HttpRequestMethodValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.IosStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmMemoryTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.JvmThreadStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.LogIostreamValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessageTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingOperationValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqConsumptionModelValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingRocketmqMessageTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingServicebusDispositionStatusValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.MessagingSystemValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetSockFamilyValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetTransportValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionSubtypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkConnectionTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkIoDirectionValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTransportValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.NetworkTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OpentracingRefTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OsTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.OtelStatusCodeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessContextSwitchTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessCpuStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.ProcessPagingFaultTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcConnectRpcErrorCodeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcGrpcStatusCodeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.RpcSystemValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrConnectionStatusValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SignalrTransportValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.StateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemCpuStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemFilesystemTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemMemoryStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemNetworkStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingDirectionValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingStateValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemPagingTypeValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessesStatusValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.SystemProcessStatusValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TelemetrySdkLanguageValues
-OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.TlsProtocolNameValues
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventAndroidLifecycleEvents -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventFeatureFlag -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventIosLifecycleEvents -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventLogFeatureFlag -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventRpcMessage -> string
-static readonly OpenTelemetry.SemanticConventions.SemanticConventionsAttributes.EventTraceException -> string
+const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Background = "background" -> string
+const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Created = "created" -> string
+const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Foreground = "foreground" -> string
+const OpenTelemetry.SemanticConventions.AndroidAttributes.AttributeAndroidOsApiLevel = "android.os.api_level" -> string
+const OpenTelemetry.SemanticConventions.AndroidAttributes.AttributeAndroidState = "android.state" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Aborted = "aborted" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Handled = "handled" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Skipped = "skipped" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Unhandled = "unhandled" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.Acquired = "acquired" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.EndpointLimiter = "endpoint_limiter" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.GlobalLimiter = "global_limiter" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.RequestCanceled = "request_canceled" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues.Failure = "failure" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues.Success = "success" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback" -> string
+const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskId = "aws.ecs.task.id" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogGroupNames = "aws.log.group.names" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsRequestId = "aws.request_id" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Bucket = "aws.s3.bucket" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3CopySource = "aws.s3.copy_source" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Delete = "aws.s3.delete" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Key = "aws.s3.key" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3PartNumber = "aws.s3.part_number" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3UploadId = "aws.s3.upload_id" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string
+const OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string
+const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserBrands = "browser.brands" -> string
+const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserLanguage = "browser.language" -> string
+const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserMobile = "browser.mobile" -> string
+const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserPlatform = "browser.platform" -> string
+const OpenTelemetry.SemanticConventions.ClientAttributes.AttributeClientAddress = "client.address" -> string
+const OpenTelemetry.SemanticConventions.ClientAttributes.AttributeClientPort = "client.port" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudAccountId = "cloud.account.id" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudPlatform = "cloud.platform" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudProvider = "cloud.provider" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudRegion = "cloud.region" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudResourceId = "cloud.resource_id" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudOpenshift = "alibaba_cloud_openshift" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEcs = "aws_ecs" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEks = "aws_eks" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsLambda = "aws_lambda" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsOpenshift = "aws_openshift" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureAks = "azure_aks" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureAppService = "azure_app_service" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureContainerApps = "azure_container_apps" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureFunctions = "azure_functions" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureOpenshift = "azure_openshift" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureVm = "azure_vm" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpBareMetalSolution = "gcp_bare_metal_solution" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpOpenshift = "gcp_openshift" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.IbmCloudOpenshift = "ibm_cloud_openshift" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Aws = "aws" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Azure = "azure" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Heroku = "heroku" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.IbmCloud = "ibm_cloud" -> string
+const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventId = "cloudevents.event_id" -> string
+const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string
+const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string
+const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string
+const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventType = "cloudevents.event_type" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeColumn = "code.column" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeFilepath = "code.filepath" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeFunction = "code.function" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeLineno = "code.lineno" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeNamespace = "code.namespace" -> string
+const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeStacktrace = "code.stacktrace" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommand = "container.command" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommandArgs = "container.command_args" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommandLine = "container.command_line" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCpuState = "container.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerId = "container.id" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageId = "container.image.id" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageName = "container.image.name" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageRepoDigests = "container.image.repo_digests" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageTags = "container.image.tags" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerLabel = "container.label" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerLabels = "container.labels" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerName = "container.name" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerRuntime = "container.runtime" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.Kernel = "kernel" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraTable = "db.cassandra.table" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbConnectionString = "db.connection_string" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbClientId = "db.cosmosdb.client_id" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbContainer = "db.cosmosdb.container" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbInstanceId = "db.instance.id" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbMongodbCollection = "db.mongodb.collection" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbName = "db.name" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbOperation = "db.operation" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbSqlTable = "db.sql.table" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbStatement = "db.statement" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbSystem = "db.system" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbUser = "db.user" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.All = "all" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Any = "any" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.One = "one" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Serial = "serial" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Three = "three" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Two = "two" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues.Direct = "direct" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues.Gateway = "gateway" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Batch = "Batch" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Create = "Create" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Delete = "Delete" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Execute = "Execute" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.ExecuteJavascript = "ExecuteJavaScript" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Head = "Head" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.HeadFeed = "HeadFeed" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Invalid = "Invalid" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Patch = "Patch" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Query = "Query" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.QueryPlan = "QueryPlan" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Read = "Read" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.ReadFeed = "ReadFeed" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Replace = "Replace" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Upsert = "Upsert" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Adabas = "adabas" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cache = "cache" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cassandra = "cassandra" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Clickhouse = "clickhouse" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cloudscape = "cloudscape" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cockroachdb = "cockroachdb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Coldfusion = "coldfusion" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cosmosdb = "cosmosdb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Couchbase = "couchbase" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Couchdb = "couchdb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Db2 = "db2" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Derby = "derby" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Dynamodb = "dynamodb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Edb = "edb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Elasticsearch = "elasticsearch" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Filemaker = "filemaker" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Firebird = "firebird" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Firstsql = "firstsql" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Geode = "geode" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.H2 = "h2" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hanadb = "hanadb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hbase = "hbase" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hive = "hive" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hsqldb = "hsqldb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Informix = "informix" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Ingres = "ingres" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Instantdb = "instantdb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Interbase = "interbase" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mariadb = "mariadb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Maxdb = "maxdb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Memcached = "memcached" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mongodb = "mongodb" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mssql = "mssql" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mssqlcompact = "mssqlcompact" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mysql = "mysql" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Neo4j = "neo4j" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Netezza = "netezza" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Opensearch = "opensearch" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Oracle = "oracle" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.OtherSql = "other_sql" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Pervasive = "pervasive" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Pointbase = "pointbase" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Postgresql = "postgresql" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Progress = "progress" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Redis = "redis" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Redshift = "redshift" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Spanner = "spanner" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Sqlite = "sqlite" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Sybase = "sybase" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Teradata = "teradata" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Trino = "trino" -> string
+const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Vertica = "vertica" -> string
+const OpenTelemetry.SemanticConventions.DeploymentAttributes.AttributeDeploymentEnvironment = "deployment.environment" -> string
+const OpenTelemetry.SemanticConventions.DestinationAttributes.AttributeDestinationAddress = "destination.address" -> string
+const OpenTelemetry.SemanticConventions.DestinationAttributes.AttributeDestinationPort = "destination.port" -> string
+const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceId = "device.id" -> string
+const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceManufacturer = "device.manufacturer" -> string
+const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceModelIdentifier = "device.model.identifier" -> string
+const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceModelName = "device.model.name" -> string
+const OpenTelemetry.SemanticConventions.DiskAttributes.AttributeDiskIoDirection = "disk.io.direction" -> string
+const OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues.Read = "read" -> string
+const OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues.Write = "write" -> string
+const OpenTelemetry.SemanticConventions.DnsAttributes.AttributeDnsQuestionName = "dns.question.name" -> string
+const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserId = "enduser.id" -> string
+const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserRole = "enduser.role" -> string
+const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserScope = "enduser.scope" -> string
+const OpenTelemetry.SemanticConventions.ErrorAttributes.AttributeErrorType = "error.type" -> string
+const OpenTelemetry.SemanticConventions.ErrorAttributes.ErrorTypeValues.Other = "_OTHER" -> string
+const OpenTelemetry.SemanticConventions.EventAttributes.AttributeEventName = "event.name" -> string
+const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionEscaped = "exception.escaped" -> string
+const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionMessage = "exception.message" -> string
+const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionStacktrace = "exception.stacktrace" -> string
+const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionType = "exception.type" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasColdstart = "faas.coldstart" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasCron = "faas.cron" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentCollection = "faas.document.collection" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentName = "faas.document.name" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentOperation = "faas.document.operation" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentTime = "faas.document.time" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInstance = "faas.instance" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvocationId = "faas.invocation_id" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedName = "faas.invoked_name" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedRegion = "faas.invoked_region" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasMaxMemory = "faas.max_memory" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasName = "faas.name" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasTime = "faas.time" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasTrigger = "faas.trigger" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasVersion = "faas.version" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Delete = "delete" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Edit = "edit" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Insert = "insert" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Aws = "aws" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Azure = "azure" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Gcp = "gcp" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Datasource = "datasource" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Http = "http" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Other = "other" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Pubsub = "pubsub" -> string
+const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Timer = "timer" -> string
+const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagKey = "feature_flag.key" -> string
+const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagProviderName = "feature_flag.provider_name" -> string
+const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagVariant = "feature_flag.variant" -> string
+const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileDirectory = "file.directory" -> string
+const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileExtension = "file.extension" -> string
+const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileName = "file.name" -> string
+const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFilePath = "file.path" -> string
+const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileSize = "file.size" -> string
+const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution" -> string
+const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index" -> string
+const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname" -> string
+const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpGceInstanceName = "gcp.gce.instance.name" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlDocument = "graphql.document" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlOperationName = "graphql.operation.name" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlOperationType = "graphql.operation.type" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Mutation = "mutation" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Query = "query" -> string
+const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Subscription = "subscription" -> string
+const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuAppId = "heroku.app.id" -> string
+const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuReleaseCommit = "heroku.release.commit" -> string
+const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostArch = "host.arch" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuFamily = "host.cpu.family" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuModelId = "host.cpu.model.id" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuModelName = "host.cpu.model.name" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuStepping = "host.cpu.stepping" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuVendorId = "host.cpu.vendor.id" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostId = "host.id" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageId = "host.image.id" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageName = "host.image.name" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageVersion = "host.image.version" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostIp = "host.ip" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostMac = "host.mac" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostName = "host.name" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostType = "host.type" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Amd64 = "amd64" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Arm32 = "arm32" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Arm64 = "arm64" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ia64 = "ia64" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ppc32 = "ppc32" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ppc64 = "ppc64" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.S390x = "s390x" -> string
+const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.X86 = "x86" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpConnectionState = "http.connection.state" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpFlavor = "http.flavor" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpMethod = "http.method" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestBodySize = "http.request.body.size" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestContentLength = "http.request_content_length" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestHeader = "http.request.header" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestMethod = "http.request.method" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestMethodOriginal = "http.request.method_original" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestResendCount = "http.request.resend_count" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestSize = "http.request.size" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseBodySize = "http.response.body.size" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseContentLength = "http.response_content_length" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseHeader = "http.response.header" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseSize = "http.response.size" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseStatusCode = "http.response.status_code" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRoute = "http.route" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpScheme = "http.scheme" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpStatusCode = "http.status_code" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpTarget = "http.target" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpUrl = "http.url" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpUserAgent = "http.user_agent" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues.Active = "active" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http10 = "1.0" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http11 = "1.1" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http20 = "2.0" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http30 = "3.0" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Quic = "QUIC" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Spdy = "SPDY" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Connect = "CONNECT" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Delete = "DELETE" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Get = "GET" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Head = "HEAD" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Options = "OPTIONS" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Other = "_OTHER" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Patch = "PATCH" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Post = "POST" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Put = "PUT" -> string
+const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Trace = "TRACE" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.AttributeIosState = "ios.state" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Active = "active" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Background = "background" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Foreground = "foreground" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Inactive = "inactive" -> string
+const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Terminate = "terminate" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmBufferPoolName = "jvm.buffer.pool.name" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmGcAction = "jvm.gc.action" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmGcName = "jvm.gc.name" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmMemoryPoolName = "jvm.memory.pool.name" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmMemoryType = "jvm.memory.type" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmThreadDaemon = "jvm.thread.daemon" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmThreadState = "jvm.thread.state" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues.Heap = "heap" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues.NonHeap = "non_heap" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Blocked = "blocked" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.New = "new" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Runnable = "runnable" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Terminated = "terminated" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.TimedWaiting = "timed_waiting" -> string
+const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Waiting = "waiting" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sClusterName = "k8s.cluster.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sClusterUid = "k8s.cluster.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sContainerName = "k8s.container.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sCronjobName = "k8s.cronjob.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDeploymentName = "k8s.deployment.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sJobName = "k8s.job.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sJobUid = "k8s.job.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNamespaceName = "k8s.namespace.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNodeName = "k8s.node.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNodeUid = "k8s.node.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodAnnotation = "k8s.pod.annotation" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabel = "k8s.pod.label" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabels = "k8s.pod.labels" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodName = "k8s.pod.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodUid = "k8s.pod.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string
+const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFileName = "log.file.name" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFileNameResolved = "log.file.name_resolved" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFilePath = "log.file.path" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFilePathResolved = "log.file.path_resolved" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogIostream = "log.iostream" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogRecordUid = "log.record.uid" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues.Stderr = "stderr" -> string
+const OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues.Stdout = "stdout" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageCompressedSize = "message.compressed_size" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageId = "message.id" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageType = "message.type" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues.Received = "RECEIVED" -> string
+const OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues.Sent = "SENT" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingBatchMessageCount = "messaging.batch.message_count" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingClientId = "messaging.client_id" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationName = "messaging.destination.name" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPublishName = "messaging.destination_publish.name" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationTemplate = "messaging.destination.template" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationTemporary = "messaging.destination.temporary" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageBodySize = "messaging.message.body.size" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageConversationId = "messaging.message.conversation_id" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageId = "messaging.message.id" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingOperation = "messaging.operation" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingSystem = "messaging.system" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Create = "create" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Deliver = "process" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Publish = "publish" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Receive = "receive" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Settle = "settle" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Abandon = "abandon" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Complete = "complete" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.DeadLetter = "dead_letter" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Defer = "defer" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Activemq = "activemq" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.AwsSqs = "aws_sqs" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Eventgrid = "eventgrid" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Eventhubs = "eventhubs" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.GcpPubsub = "gcp_pubsub" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Jms = "jms" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Kafka = "kafka" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Rabbitmq = "rabbitmq" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Rocketmq = "rocketmq" -> string
+const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Servicebus = "servicebus" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostName = "net.host.name" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostPort = "net.host.port" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetPeerName = "net.peer.name" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetPeerPort = "net.peer.port" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetProtocolName = "net.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetProtocolVersion = "net.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockFamily = "net.sock.family" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockHostAddr = "net.sock.host.addr" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockHostPort = "net.sock.host.port" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerName = "net.sock.peer.name" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerPort = "net.sock.peer.port" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetTransport = "net.transport" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Inet = "inet" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Inet6 = "inet6" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Unix = "unix" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Inproc = "inproc" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.IpTcp = "ip_tcp" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.IpUdp = "ip_udp" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Other = "other" -> string
+const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Pipe = "pipe" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierIcc = "network.carrier.icc" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierMcc = "network.carrier.mcc" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierMnc = "network.carrier.mnc" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierName = "network.carrier.name" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkConnectionSubtype = "network.connection.subtype" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkConnectionType = "network.connection.type" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkIoDirection = "network.io.direction" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkLocalAddress = "network.local.address" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkLocalPort = "network.local.port" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkPeerAddress = "network.peer.address" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkPeerPort = "network.peer.port" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkProtocolName = "network.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkProtocolVersion = "network.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkTransport = "network.transport" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkType = "network.type" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Cdma = "cdma" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Edge = "edge" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Ehrpd = "ehrpd" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Evdo0 = "evdo_0" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.EvdoA = "evdo_a" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.EvdoB = "evdo_b" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Gprs = "gprs" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Gsm = "gsm" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hsdpa = "hsdpa" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hspa = "hspa" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hspap = "hspap" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hsupa = "hsupa" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Iden = "iden" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Iwlan = "iwlan" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Lte = "lte" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.LteCa = "lte_ca" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Nr = "nr" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Nrnsa = "nrnsa" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.TdScdma = "td_scdma" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Umts = "umts" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Cell = "cell" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Unavailable = "unavailable" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Unknown = "unknown" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Wifi = "wifi" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Wired = "wired" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues.Receive = "receive" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues.Transmit = "transmit" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Pipe = "pipe" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Tcp = "tcp" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Udp = "udp" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Unix = "unix" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues.Ipv4 = "ipv4" -> string
+const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues.Ipv6 = "ipv6" -> string
+const OpenTelemetry.SemanticConventions.OciAttributes.AttributeOciManifestDigest = "oci.manifest.digest" -> string
+const OpenTelemetry.SemanticConventions.OpentracingAttributes.AttributeOpentracingRefType = "opentracing.ref_type" -> string
+const OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues.ChildOf = "child_of" -> string
+const OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsBuildId = "os.build_id" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsDescription = "os.description" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsName = "os.name" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsType = "os.type" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsVersion = "os.version" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Aix = "aix" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Darwin = "darwin" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Freebsd = "freebsd" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Hpux = "hpux" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Linux = "linux" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Netbsd = "netbsd" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Openbsd = "openbsd" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Solaris = "solaris" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Windows = "windows" -> string
+const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.ZOs = "z_os" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelLibraryName = "otel.library.name" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelLibraryVersion = "otel.library.version" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelScopeName = "otel.scope.name" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelScopeVersion = "otel.scope.version" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelStatusCode = "otel.status_code" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelStatusDescription = "otel.status_description" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues.Error = "ERROR" -> string
+const OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues.Ok = "OK" -> string
+const OpenTelemetry.SemanticConventions.OtherAttributes.AttributeState = "state" -> string
+const OpenTelemetry.SemanticConventions.OtherAttributes.StateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.OtherAttributes.StateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.PeerAttributes.AttributePeerService = "peer.service" -> string
+const OpenTelemetry.SemanticConventions.PoolAttributes.AttributePoolName = "pool.name" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommand = "process.command" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommandArgs = "process.command_args" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommandLine = "process.command_line" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessContextSwitchType = "process.context_switch_type" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCpuState = "process.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutableName = "process.executable.name" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutablePath = "process.executable.path" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessOwner = "process.owner" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessPagingFaultType = "process.paging.fault_type" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessParentPid = "process.parent_pid" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessPid = "process.pid" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeDescription = "process.runtime.description" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeName = "process.runtime.name" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeVersion = "process.runtime.version" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues.Involuntary = "involuntary" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues.Voluntary = "voluntary" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.Wait = "wait" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues.Major = "major" -> string
+const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues.Minor = "minor" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcMethod = "rpc.method" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcService = "rpc.service" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcSystem = "rpc.system" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Aborted = "aborted" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.AlreadyExists = "already_exists" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Cancelled = "cancelled" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.DataLoss = "data_loss" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.DeadlineExceeded = "deadline_exceeded" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.FailedPrecondition = "failed_precondition" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Internal = "internal" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.InvalidArgument = "invalid_argument" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.NotFound = "not_found" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.OutOfRange = "out_of_range" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.PermissionDenied = "permission_denied" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.ResourceExhausted = "resource_exhausted" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unauthenticated = "unauthenticated" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unavailable = "unavailable" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unimplemented = "unimplemented" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unknown = "unknown" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Aborted = 10 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Cancelled = 1 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.DataLoss = 15 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Internal = 13 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.NotFound = 5 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Ok = 0 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unavailable = 14 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unknown = 2 -> int
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.ConnectRpc = "connect_rpc" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.Grpc = "grpc" -> string
+const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.JavaRmi = "java_rmi" -> string
+const OpenTelemetry.SemanticConventions.ServerAttributes.AttributeServerAddress = "server.address" -> string
+const OpenTelemetry.SemanticConventions.ServerAttributes.AttributeServerPort = "server.port" -> string
+const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceInstanceId = "service.instance.id" -> string
+const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceName = "service.name" -> string
+const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceNamespace = "service.namespace" -> string
+const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceVersion = "service.version" -> string
+const OpenTelemetry.SemanticConventions.SessionAttributes.AttributeSessionId = "session.id" -> string
+const OpenTelemetry.SemanticConventions.SessionAttributes.AttributeSessionPreviousId = "session.previous_id" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.AttributeSignalrConnectionStatus = "signalr.connection.status" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.AttributeSignalrTransport = "signalr.transport" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.AppShutdown = "app_shutdown" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.NormalClosure = "normal_closure" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.Timeout = "timeout" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.LongPolling = "long_polling" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.ServerSentEvents = "server_sent_events" -> string
+const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.WebSockets = "web_sockets" -> string
+const OpenTelemetry.SemanticConventions.SourceAttributes.AttributeSourceAddress = "source.address" -> string
+const OpenTelemetry.SemanticConventions.SourceAttributes.AttributeSourcePort = "source.port" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemCpuLogicalNumber = "system.cpu.logical_number" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemCpuState = "system.cpu.state" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemDevice = "system.device" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemMode = "system.filesystem.mode" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemState = "system.filesystem.state" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemType = "system.filesystem.type" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemMemoryState = "system.memory.state" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemNetworkState = "system.network.state" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingDirection = "system.paging.direction" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingState = "system.paging.state" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingType = "system.paging.type" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemProcessesStatus = "system.processes.status" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemProcessStatus = "system.process.status" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Idle = "idle" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Interrupt = "interrupt" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Iowait = "iowait" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Nice = "nice" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Steal = "steal" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.System = "system" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.User = "user" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Reserved = "reserved" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Exfat = "exfat" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Ext4 = "ext4" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Fat32 = "fat32" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Hfsplus = "hfsplus" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Ntfs = "ntfs" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Refs = "refs" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Buffers = "buffers" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Cached = "cached" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Shared = "shared" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Close = "close" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.CloseWait = "close_wait" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Closing = "closing" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Delete = "delete" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Established = "established" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.FinWait1 = "fin_wait_1" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.FinWait2 = "fin_wait_2" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.LastAck = "last_ack" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Listen = "listen" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.SynRecv = "syn_recv" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.SynSent = "syn_sent" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.TimeWait = "time_wait" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues.In = "in" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues.Out = "out" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues.Free = "free" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues.Used = "used" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues.Major = "major" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues.Minor = "minor" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Defunct = "defunct" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Running = "running" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Sleeping = "sleeping" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Stopped = "stopped" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Defunct = "defunct" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Running = "running" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Sleeping = "sleeping" -> string
+const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Stopped = "stopped" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetryDistroName = "telemetry.distro.name" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetryDistroVersion = "telemetry.distro.version" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Cpp = "cpp" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Erlang = "erlang" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Go = "go" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Java = "java" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Php = "php" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Python = "python" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Ruby = "ruby" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Rust = "rust" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Swift = "swift" -> string
+const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Webjs = "webjs" -> string
+const OpenTelemetry.SemanticConventions.ThreadAttributes.AttributeThreadId = "thread.id" -> string
+const OpenTelemetry.SemanticConventions.ThreadAttributes.AttributeThreadName = "thread.name" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsCipher = "tls.cipher" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientCertificate = "tls.client.certificate" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientCertificateChain = "tls.client.certificate_chain" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashMd5 = "tls.client.hash.md5" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashSha1 = "tls.client.hash.sha1" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashSha256 = "tls.client.hash.sha256" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientIssuer = "tls.client.issuer" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientJa3 = "tls.client.ja3" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientNotAfter = "tls.client.not_after" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientNotBefore = "tls.client.not_before" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientServerName = "tls.client.server_name" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientSubject = "tls.client.subject" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsCurve = "tls.curve" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsEstablished = "tls.established" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsNextProtocol = "tls.next_protocol" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsProtocolName = "tls.protocol.name" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsProtocolVersion = "tls.protocol.version" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsResumed = "tls.resumed" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerCertificate = "tls.server.certificate" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerCertificateChain = "tls.server.certificate_chain" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashMd5 = "tls.server.hash.md5" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashSha1 = "tls.server.hash.sha1" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashSha256 = "tls.server.hash.sha256" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerIssuer = "tls.server.issuer" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerJa3s = "tls.server.ja3s" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerNotAfter = "tls.server.not_after" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerNotBefore = "tls.server.not_before" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerSubject = "tls.server.subject" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues.Ssl = "ssl" -> string
+const OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues.Tls = "tls" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlDomain = "url.domain" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlExtension = "url.extension" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlFragment = "url.fragment" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlFull = "url.full" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlOriginal = "url.original" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlPath = "url.path" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlPort = "url.port" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlQuery = "url.query" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlRegisteredDomain = "url.registered_domain" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlScheme = "url.scheme" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlSubdomain = "url.subdomain" -> string
+const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlTopLevelDomain = "url.top_level_domain" -> string
+const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentName = "user_agent.name" -> string
+const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentOriginal = "user_agent.original" -> string
+const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentVersion = "user_agent.version" -> string
+const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineDescription = "webengine.description" -> string
+const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineName = "webengine.name" -> string
+const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineVersion = "webengine.version" -> string
+OpenTelemetry.SemanticConventions.AndroidAttributes
+OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues
+OpenTelemetry.SemanticConventions.AspnetcoreAttributes
+OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues
+OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues
+OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues
+OpenTelemetry.SemanticConventions.AwsAttributes
+OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues
+OpenTelemetry.SemanticConventions.BrowserAttributes
+OpenTelemetry.SemanticConventions.ClientAttributes
+OpenTelemetry.SemanticConventions.CloudAttributes
+OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues
+OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues
+OpenTelemetry.SemanticConventions.CloudeventsAttributes
+OpenTelemetry.SemanticConventions.CodeAttributes
+OpenTelemetry.SemanticConventions.ContainerAttributes
+OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues
+OpenTelemetry.SemanticConventions.DbAttributes
+OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues
+OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues
+OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues
+OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues
+OpenTelemetry.SemanticConventions.DeploymentAttributes
+OpenTelemetry.SemanticConventions.DestinationAttributes
+OpenTelemetry.SemanticConventions.DeviceAttributes
+OpenTelemetry.SemanticConventions.DiskAttributes
+OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues
+OpenTelemetry.SemanticConventions.DnsAttributes
+OpenTelemetry.SemanticConventions.EnduserAttributes
+OpenTelemetry.SemanticConventions.ErrorAttributes
+OpenTelemetry.SemanticConventions.ErrorAttributes.ErrorTypeValues
+OpenTelemetry.SemanticConventions.EventAttributes
+OpenTelemetry.SemanticConventions.ExceptionAttributes
+OpenTelemetry.SemanticConventions.FaasAttributes
+OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues
+OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues
+OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues
+OpenTelemetry.SemanticConventions.FeatureFlagAttributes
+OpenTelemetry.SemanticConventions.FileAttributes
+OpenTelemetry.SemanticConventions.GcpAttributes
+OpenTelemetry.SemanticConventions.GraphqlAttributes
+OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues
+OpenTelemetry.SemanticConventions.HerokuAttributes
+OpenTelemetry.SemanticConventions.HostAttributes
+OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues
+OpenTelemetry.SemanticConventions.HttpAttributes
+OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues
+OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues
+OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues
+OpenTelemetry.SemanticConventions.IosAttributes
+OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues
+OpenTelemetry.SemanticConventions.JvmAttributes
+OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues
+OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues
+OpenTelemetry.SemanticConventions.K8sAttributes
+OpenTelemetry.SemanticConventions.LogAttributes
+OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues
+OpenTelemetry.SemanticConventions.MessageAttributes
+OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues
+OpenTelemetry.SemanticConventions.MessagingAttributes
+OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues
+OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues
+OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues
+OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues
+OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues
+OpenTelemetry.SemanticConventions.NetAttributes
+OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues
+OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues
+OpenTelemetry.SemanticConventions.NetworkAttributes
+OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues
+OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues
+OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues
+OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues
+OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues
+OpenTelemetry.SemanticConventions.OciAttributes
+OpenTelemetry.SemanticConventions.OpentracingAttributes
+OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues
+OpenTelemetry.SemanticConventions.OsAttributes
+OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues
+OpenTelemetry.SemanticConventions.OtelAttributes
+OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues
+OpenTelemetry.SemanticConventions.OtherAttributes
+OpenTelemetry.SemanticConventions.OtherAttributes.StateValues
+OpenTelemetry.SemanticConventions.PeerAttributes
+OpenTelemetry.SemanticConventions.PoolAttributes
+OpenTelemetry.SemanticConventions.ProcessAttributes
+OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues
+OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues
+OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues
+OpenTelemetry.SemanticConventions.RpcAttributes
+OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues
+OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues
+OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues
+OpenTelemetry.SemanticConventions.ServerAttributes
+OpenTelemetry.SemanticConventions.ServiceAttributes
+OpenTelemetry.SemanticConventions.SessionAttributes
+OpenTelemetry.SemanticConventions.SignalrAttributes
+OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues
+OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues
+OpenTelemetry.SemanticConventions.SourceAttributes
+OpenTelemetry.SemanticConventions.SystemAttributes
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues
+OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues
+OpenTelemetry.SemanticConventions.TelemetryAttributes
+OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues
+OpenTelemetry.SemanticConventions.ThreadAttributes
+OpenTelemetry.SemanticConventions.TlsAttributes
+OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues
+OpenTelemetry.SemanticConventions.UrlAttributes
+OpenTelemetry.SemanticConventions.UserAgentAttributes
+OpenTelemetry.SemanticConventions.WebengineAttributes
\ No newline at end of file
diff --git a/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs b/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
new file mode 100644
index 0000000000..f8cf82c1f7
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
@@ -0,0 +1,51 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class AndroidAttributes
+ {
+ ///
+ /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here.
+ ///
+ public const string AttributeAndroidOsApiLevel = "android.os.api_level";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived.
+ ///
+ public const string AttributeAndroidState = "android.state";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ public static class AndroidStateValues
+ {
+ ///
+ /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
+ ///
+ public const string Created = "created";
+
+ ///
+ /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
+ ///
+ public const string Background = "background";
+
+ ///
+ /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
+ ///
+ public const string Foreground = "foreground";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs b/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
new file mode 100644
index 0000000000..fee0988623
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
@@ -0,0 +1,120 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class AspnetcoreAttributes
+ {
+ ///
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
+
+ ///
+ /// Full type name of the IExceptionHandler implementation that handled the exception.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
+
+ ///
+ /// Rate limiting policy name.
+ ///
+ public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
+
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
+
+ ///
+ /// Flag indicating if request was handled by the application pipeline.
+ ///
+ public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
+
+ ///
+ /// A value that indicates whether the matched route is a fallback route.
+ ///
+ public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
+
+ ///
+ /// Match result - success or failure.
+ ///
+ public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
+
+ ///
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public static class AspnetcoreDiagnosticsExceptionResultValues
+ {
+ ///
+ /// Exception was handled by the exception handling middleware.
+ ///
+ public const string Handled = "handled";
+
+ ///
+ /// Exception was not handled by the exception handling middleware.
+ ///
+ public const string Unhandled = "unhandled";
+
+ ///
+ /// Exception handling was skipped because the response had started.
+ ///
+ public const string Skipped = "skipped";
+
+ ///
+ /// Exception handling didn't run because the request was aborted.
+ ///
+ public const string Aborted = "aborted";
+ }
+
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public static class AspnetcoreRateLimitingResultValues
+ {
+ ///
+ /// Lease was acquired.
+ ///
+ public const string Acquired = "acquired";
+
+ ///
+ /// Lease request was rejected by the endpoint limiter.
+ ///
+ public const string EndpointLimiter = "endpoint_limiter";
+
+ ///
+ /// Lease request was rejected by the global limiter.
+ ///
+ public const string GlobalLimiter = "global_limiter";
+
+ ///
+ /// Lease request was canceled.
+ ///
+ public const string RequestCanceled = "request_canceled";
+ }
+
+ ///
+ /// Match result - success or failure.
+ ///
+ public static class AspnetcoreRoutingMatchStatusValues
+ {
+ ///
+ /// Match succeeded.
+ ///
+ public const string Success = "success";
+
+ ///
+ /// Match failed.
+ ///
+ public const string Failure = "failure";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs b/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
new file mode 100644
index 0000000000..8348b944fb
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
@@ -0,0 +1,307 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class AwsAttributes
+ {
+ ///
+ /// The JSON-serialized value of each item in the AttributeDefinitions request field.
+ ///
+ public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
+
+ ///
+ /// The value of the AttributesToGet request parameter.
+ ///
+ public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
+
+ ///
+ /// The value of the ConsistentRead request parameter.
+ ///
+ public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
+
+ ///
+ /// The JSON-serialized value of each item in the ConsumedCapacity response field.
+ ///
+ public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
+
+ ///
+ /// The value of the Count response parameter.
+ ///
+ public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
+
+ ///
+ /// The value of the ExclusiveStartTableName request parameter.
+ ///
+ public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
+
+ ///
+ /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
+
+ ///
+ /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
+
+ ///
+ /// The value of the IndexName request parameter.
+ ///
+ public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
+
+ ///
+ /// The JSON-serialized value of the ItemCollectionMetrics response field.
+ ///
+ public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
+
+ ///
+ /// The value of the Limit request parameter.
+ ///
+ public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
+
+ ///
+ /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
+
+ ///
+ /// The value of the ProjectionExpression request parameter.
+ ///
+ public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
+
+ ///
+ /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
+
+ ///
+ /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
+
+ ///
+ /// The value of the ScanIndexForward request parameter.
+ ///
+ public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
+
+ ///
+ /// The value of the ScannedCount response parameter.
+ ///
+ public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
+
+ ///
+ /// The value of the Segment request parameter.
+ ///
+ public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
+
+ ///
+ /// The value of the Select request parameter.
+ ///
+ public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
+
+ ///
+ /// The number of items in the TableNames response parameter.
+ ///
+ public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
+
+ ///
+ /// The keys in the RequestItems object field.
+ ///
+ public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
+
+ ///
+ /// The value of the TotalSegments request parameter.
+ ///
+ public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
+
+ ///
+ /// The ARN of an ECS cluster.
+ ///
+ public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
+
+ ///
+ /// The Amazon Resource Name (ARN) of an ECS container instance.
+ ///
+ public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
+
+ ///
+ /// The ARN of a running ECS task.
+ ///
+ public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
+
+ ///
+ /// The family name of the ECS task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
+
+ ///
+ /// The ID of a running ECS task. The ID MUST be extracted from task.arn.
+ ///
+ public const string AttributeAwsEcsTaskId = "aws.ecs.task.id";
+
+ ///
+ /// The revision for the task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
+
+ ///
+ /// The ARN of an EKS cluster.
+ ///
+ public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
+
+ ///
+ /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
+ ///
+ ///
+ /// This may be different from cloud.resource_id if an alias is involved.
+ ///
+ public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
+
+ ///
+ /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
+ ///
+ ///
+ /// See the log group ARN format documentation.
+ ///
+ public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
+
+ ///
+ /// The name(s) of the AWS log group(s) an application is writing to.
+ ///
+ ///
+ /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
+ ///
+ public const string AttributeAwsLogGroupNames = "aws.log.group.names";
+
+ ///
+ /// The ARN(s) of the AWS log stream(s).
+ ///
+ ///
+ /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
+ ///
+ public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
+
+ ///
+ /// The name(s) of the AWS log stream(s) an application is writing to.
+ ///
+ public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
+
+ ///
+ /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.
+ ///
+ public const string AttributeAwsRequestId = "aws.request_id";
+
+ ///
+ /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations.
+ ///
+ ///
+ /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
+ /// This applies to almost all S3 operations except list-buckets.
+ ///
+ public const string AttributeAwsS3Bucket = "aws.s3.bucket";
+
+ ///
+ /// The source object (in the form bucket/key) for the copy operation.
+ ///
+ ///
+ /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter
+ /// of the copy-object operation within the S3 API.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3CopySource = "aws.s3.copy_source";
+
+ ///
+ /// The delete request container that specifies the objects to be deleted.
+ ///
+ ///
+ /// The delete attribute is only applicable to the delete-object operation.
+ /// The delete attribute corresponds to the --delete parameter of the
+ /// delete-objects operation within the S3 API.
+ ///
+ public const string AttributeAwsS3Delete = "aws.s3.delete";
+
+ ///
+ /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.
+ ///
+ ///
+ /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3Key = "aws.s3.key";
+
+ ///
+ /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
+ ///
+ ///
+ /// The part_number attribute is only applicable to the upload-part
+ /// and upload-part-copy operations.
+ /// The part_number attribute corresponds to the --part-number parameter of the
+ /// upload-part operation within the S3 API.
+ ///
+ public const string AttributeAwsS3PartNumber = "aws.s3.part_number";
+
+ ///
+ /// Upload ID that identifies the multipart upload.
+ ///
+ ///
+ /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter
+ /// of the S3 API multipart operations.
+ /// This applies in particular to the following operations:.
+ ///
+ public const string AttributeAwsS3UploadId = "aws.s3.upload_id";
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public static class AwsEcsLaunchtypeValues
+ {
+ ///
+ /// ec2.
+ ///
+ public const string Ec2 = "ec2";
+
+ ///
+ /// fargate.
+ ///
+ public const string Fargate = "fargate";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs b/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
new file mode 100644
index 0000000000..9a0b09ffec
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
@@ -0,0 +1,50 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class BrowserAttributes
+ {
+ ///
+ /// Array of brand name and version separated by a space.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
+ ///
+ public const string AttributeBrowserBrands = "browser.brands";
+
+ ///
+ /// Preferred language of the user using the browser.
+ ///
+ ///
+ /// This value is intended to be taken from the Navigator API navigator.language.
+ ///
+ public const string AttributeBrowserLanguage = "browser.language";
+
+ ///
+ /// A boolean that is true if the browser is running on a mobile device.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset.
+ ///
+ public const string AttributeBrowserMobile = "browser.mobile";
+
+ ///
+ /// The platform on which the browser is running.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
+ /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
+ ///
+ public const string AttributeBrowserPlatform = "browser.platform";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs b/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
new file mode 100644
index 0000000000..6d35640fe6
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
@@ -0,0 +1,33 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ClientAttributes
+ {
+ ///
+ /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientAddress = "client.address";
+
+ ///
+ /// Client port number.
+ ///
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientPort = "client.port";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs b/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
new file mode 100644
index 0000000000..780108d1db
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
@@ -0,0 +1,260 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class CloudAttributes
+ {
+ ///
+ /// The cloud account ID the resource is assigned to.
+ ///
+ public const string AttributeCloudAccountId = "cloud.account.id";
+
+ ///
+ /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
+ ///
+ ///
+ /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
+ ///
+ public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
+
+ ///
+ /// The cloud platform in use.
+ ///
+ ///
+ /// The prefix of the service SHOULD match the one specified in cloud.provider.
+ ///
+ public const string AttributeCloudPlatform = "cloud.platform";
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public const string AttributeCloudProvider = "cloud.provider";
+
+ ///
+ /// The geographical region the resource is running.
+ ///
+ ///
+ /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
+ ///
+ public const string AttributeCloudRegion = "cloud.region";
+
+ ///
+ /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
+ ///
+ ///
+ /// On some cloud providers, it may not be possible to determine the full ID at startup,
+ /// so it may be necessary to set cloud.resource_id as a span attribute instead.The exact value to use for cloud.resource_id depends on the cloud provider.
+ /// The following well-known definitions MUST be used if you set this attribute and they apply:
+ /// - AWS Lambda: The function ARN.
+ /// Take care not to use the "invoked ARN" directly but replace any
+ /// alias suffix
+ /// with the resolved function version, as the same runtime instance may be invokable with
+ /// multiple different aliases.
+ /// - GCP: The URI of the resource
+ /// - Azure: The Fully Qualified Resource ID of the invoked function,
+ /// not the function app, having the form
+ /// /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>.
+ /// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
+ /// a TracerProvider
+ ///
.
+ ///
+ public const string AttributeCloudResourceId = "cloud.resource_id";
+
+ ///
+ /// The cloud platform in use.
+ ///
+ public static class CloudPlatformValues
+ {
+ ///
+ /// Alibaba Cloud Elastic Compute Service.
+ ///
+ public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
+
+ ///
+ /// Alibaba Cloud Function Compute.
+ ///
+ public const string AlibabaCloudFc = "alibaba_cloud_fc";
+
+ ///
+ /// Red Hat OpenShift on Alibaba Cloud.
+ ///
+ public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
+
+ ///
+ /// AWS Elastic Compute Cloud.
+ ///
+ public const string AwsEc2 = "aws_ec2";
+
+ ///
+ /// AWS Elastic Container Service.
+ ///
+ public const string AwsEcs = "aws_ecs";
+
+ ///
+ /// AWS Elastic Kubernetes Service.
+ ///
+ public const string AwsEks = "aws_eks";
+
+ ///
+ /// AWS Lambda.
+ ///
+ public const string AwsLambda = "aws_lambda";
+
+ ///
+ /// AWS Elastic Beanstalk.
+ ///
+ public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
+
+ ///
+ /// AWS App Runner.
+ ///
+ public const string AwsAppRunner = "aws_app_runner";
+
+ ///
+ /// Red Hat OpenShift on AWS (ROSA).
+ ///
+ public const string AwsOpenshift = "aws_openshift";
+
+ ///
+ /// Azure Virtual Machines.
+ ///
+ public const string AzureVm = "azure_vm";
+
+ ///
+ /// Azure Container Apps.
+ ///
+ public const string AzureContainerApps = "azure_container_apps";
+
+ ///
+ /// Azure Container Instances.
+ ///
+ public const string AzureContainerInstances = "azure_container_instances";
+
+ ///
+ /// Azure Kubernetes Service.
+ ///
+ public const string AzureAks = "azure_aks";
+
+ ///
+ /// Azure Functions.
+ ///
+ public const string AzureFunctions = "azure_functions";
+
+ ///
+ /// Azure App Service.
+ ///
+ public const string AzureAppService = "azure_app_service";
+
+ ///
+ /// Azure Red Hat OpenShift.
+ ///
+ public const string AzureOpenshift = "azure_openshift";
+
+ ///
+ /// Google Bare Metal Solution (BMS).
+ ///
+ public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
+
+ ///
+ /// Google Cloud Compute Engine (GCE).
+ ///
+ public const string GcpComputeEngine = "gcp_compute_engine";
+
+ ///
+ /// Google Cloud Run.
+ ///
+ public const string GcpCloudRun = "gcp_cloud_run";
+
+ ///
+ /// Google Cloud Kubernetes Engine (GKE).
+ ///
+ public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
+
+ ///
+ /// Google Cloud Functions (GCF).
+ ///
+ public const string GcpCloudFunctions = "gcp_cloud_functions";
+
+ ///
+ /// Google Cloud App Engine (GAE).
+ ///
+ public const string GcpAppEngine = "gcp_app_engine";
+
+ ///
+ /// Red Hat OpenShift on Google Cloud.
+ ///
+ public const string GcpOpenshift = "gcp_openshift";
+
+ ///
+ /// Red Hat OpenShift on IBM Cloud.
+ ///
+ public const string IbmCloudOpenshift = "ibm_cloud_openshift";
+
+ ///
+ /// Tencent Cloud Cloud Virtual Machine (CVM).
+ ///
+ public const string TencentCloudCvm = "tencent_cloud_cvm";
+
+ ///
+ /// Tencent Cloud Elastic Kubernetes Service (EKS).
+ ///
+ public const string TencentCloudEks = "tencent_cloud_eks";
+
+ ///
+ /// Tencent Cloud Serverless Cloud Function (SCF).
+ ///
+ public const string TencentCloudScf = "tencent_cloud_scf";
+ }
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public static class CloudProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Heroku Platform as a Service.
+ ///
+ public const string Heroku = "heroku";
+
+ ///
+ /// IBM Cloud.
+ ///
+ public const string IbmCloud = "ibm_cloud";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs b/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
new file mode 100644
index 0000000000..8d1882baab
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
@@ -0,0 +1,42 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class CloudeventsAttributes
+ {
+ ///
+ /// The event_id uniquely identifies the event.
+ ///
+ public const string AttributeCloudeventsEventId = "cloudevents.event_id";
+
+ ///
+ /// The source identifies the context in which an event happened.
+ ///
+ public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
+
+ ///
+ /// The version of the CloudEvents specification which the event uses.
+ ///
+ public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
+
+ ///
+ /// The subject of the event in the context of the event producer (identified by source).
+ ///
+ public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
+
+ ///
+ /// The event_type contains a value describing the type of event related to the originating occurrence.
+ ///
+ public const string AttributeCloudeventsEventType = "cloudevents.event_type";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs b/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
new file mode 100644
index 0000000000..eac4cff492
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
@@ -0,0 +1,47 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class CodeAttributes
+ {
+ ///
+ /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeColumn = "code.column";
+
+ ///
+ /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
+ ///
+ public const string AttributeCodeFilepath = "code.filepath";
+
+ ///
+ /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
+ ///
+ public const string AttributeCodeFunction = "code.function";
+
+ ///
+ /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeLineno = "code.lineno";
+
+ ///
+ /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
+ ///
+ public const string AttributeCodeNamespace = "code.namespace";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeCodeStacktrace = "code.stacktrace";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs b/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
new file mode 100644
index 0000000000..bccbf945eb
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
@@ -0,0 +1,115 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ContainerAttributes
+ {
+ ///
+ /// The command used to run the container (i.e. the command name).
+ ///
+ ///
+ /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
+ ///
+ public const string AttributeContainerCommand = "container.command";
+
+ ///
+ /// All the command arguments (including the command/executable itself) run by the container. [2].
+ ///
+ public const string AttributeContainerCommandArgs = "container.command_args";
+
+ ///
+ /// The full command run by the container as a single string representing the full command. [2].
+ ///
+ public const string AttributeContainerCommandLine = "container.command_line";
+
+ ///
+ /// The CPU state for this data point.
+ ///
+ public const string AttributeContainerCpuState = "container.cpu.state";
+
+ ///
+ /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
+ ///
+ public const string AttributeContainerId = "container.id";
+
+ ///
+ /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
+ ///
+ ///
+ /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint.
+ /// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625".
+ /// The ID is assinged by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes.
+ ///
+ public const string AttributeContainerImageId = "container.image.id";
+
+ ///
+ /// Name of the image the container was built on.
+ ///
+ public const string AttributeContainerImageName = "container.image.name";
+
+ ///
+ /// Repo digests of the container image as provided by the container runtime.
+ ///
+ ///
+ /// Docker and CRI report those under the RepoDigests field.
+ ///
+ public const string AttributeContainerImageRepoDigests = "container.image.repo_digests";
+
+ ///
+ /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:.
+ ///
+ public const string AttributeContainerImageTags = "container.image.tags";
+
+ ///
+ /// Container labels, being the label name, the value being the label value.
+ ///
+ public const string AttributeContainerLabel = "container.label";
+
+ ///
+ /// Deprecated, use container.label instead.
+ ///
+ [Obsolete("Replaced by `container.label`")]
+ public const string AttributeContainerLabels = "container.labels";
+
+ ///
+ /// Container name used by container runtime.
+ ///
+ public const string AttributeContainerName = "container.name";
+
+ ///
+ /// The container runtime managing this container.
+ ///
+ public const string AttributeContainerRuntime = "container.runtime";
+
+ ///
+ /// The CPU state for this data point.
+ ///
+ public static class ContainerCpuStateValues
+ {
+ ///
+ /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).
+ ///
+ public const string User = "user";
+
+ ///
+ /// When CPU is used by the system (host OS).
+ ///
+ public const string System = "system";
+
+ ///
+ /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).
+ ///
+ public const string Kernel = "kernel";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DbAttributes.cs b/src/OpenTelemetry.SemanticConventions/DbAttributes.cs
new file mode 100644
index 0000000000..e68d1492cd
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DbAttributes.cs
@@ -0,0 +1,612 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DbAttributes
+ {
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
+
+ ///
+ /// The data center of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
+
+ ///
+ /// The ID of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
+
+ ///
+ /// Whether or not the query is idempotent.
+ ///
+ public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
+
+ ///
+ /// The fetch size used for paging, i.e. how many rows will be returned at once.
+ ///
+ public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
+
+ ///
+ /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
+ ///
+ public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
+
+ ///
+ /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable).
+ ///
+ ///
+ /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbCassandraTable = "db.cassandra.table";
+
+ ///
+ /// Deprecated, use server.address, server.port attributes instead.
+ ///
+ [Obsolete("Replaced by `server.address` and `server.port`.")]
+ public const string AttributeDbConnectionString = "db.connection_string";
+
+ ///
+ /// Unique Cosmos client instance id.
+ ///
+ public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id";
+
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
+
+ ///
+ /// Cosmos DB container name.
+ ///
+ public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container";
+
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type";
+
+ ///
+ /// RU consumed for that operation.
+ ///
+ public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
+
+ ///
+ /// Request payload size in bytes.
+ ///
+ public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
+
+ ///
+ /// Cosmos DB status code.
+ ///
+ public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code";
+
+ ///
+ /// Cosmos DB sub status code.
+ ///
+ public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
+
+ ///
+ /// Represents the identifier of an Elasticsearch cluster.
+ ///
+ public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name";
+
+ ///
+ /// Deprecated, use db.instance.id instead.
+ ///
+ [Obsolete("Replaced by `db.instance.id`")]
+ public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name";
+
+ ///
+ /// A dynamic value in the url path.
+ ///
+ ///
+ /// Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format db.elasticsearch.path_parts.<key>, where <key> is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names.
+ ///
+ public const string AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts";
+
+ ///
+ /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname.
+ ///
+ public const string AttributeDbInstanceId = "db.instance.id";
+
+ ///
+ /// Removed, no replacement at this time.
+ ///
+ [Obsolete("Removed as not used")]
+ public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
+
+ ///
+ /// The MongoDB collection being accessed within the database stated in db.name.
+ ///
+ public const string AttributeDbMongodbCollection = "db.mongodb.collection";
+
+ ///
+ /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
+ ///
+ ///
+ /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard).
+ ///
+ public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
+
+ ///
+ /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
+ ///
+ ///
+ /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
+ ///
+ public const string AttributeDbName = "db.name";
+
+ ///
+ /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
+ ///
+ ///
+ /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
+ ///
+ public const string AttributeDbOperation = "db.operation";
+
+ ///
+ /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
+ ///
+ public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
+
+ ///
+ /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
+ ///
+ ///
+ /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbSqlTable = "db.sql.table";
+
+ ///
+ /// The database statement being executed.
+ ///
+ public const string AttributeDbStatement = "db.statement";
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeDbSystem = "db.system";
+
+ ///
+ /// Username for accessing the database.
+ ///
+ public const string AttributeDbUser = "db.user";
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public static class DbCassandraConsistencyLevelValues
+ {
+ ///
+ /// all.
+ ///
+ public const string All = "all";
+
+ ///
+ /// each_quorum.
+ ///
+ public const string EachQuorum = "each_quorum";
+
+ ///
+ /// quorum.
+ ///
+ public const string Quorum = "quorum";
+
+ ///
+ /// local_quorum.
+ ///
+ public const string LocalQuorum = "local_quorum";
+
+ ///
+ /// one.
+ ///
+ public const string One = "one";
+
+ ///
+ /// two.
+ ///
+ public const string Two = "two";
+
+ ///
+ /// three.
+ ///
+ public const string Three = "three";
+
+ ///
+ /// local_one.
+ ///
+ public const string LocalOne = "local_one";
+
+ ///
+ /// any.
+ ///
+ public const string Any = "any";
+
+ ///
+ /// serial.
+ ///
+ public const string Serial = "serial";
+
+ ///
+ /// local_serial.
+ ///
+ public const string LocalSerial = "local_serial";
+ }
+
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public static class DbCosmosdbConnectionModeValues
+ {
+ ///
+ /// Gateway (HTTP) connections mode.
+ ///
+ public const string Gateway = "gateway";
+
+ ///
+ /// Direct connection.
+ ///
+ public const string Direct = "direct";
+ }
+
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public static class DbCosmosdbOperationTypeValues
+ {
+ ///
+ /// invalid.
+ ///
+ public const string Invalid = "Invalid";
+
+ ///
+ /// create.
+ ///
+ public const string Create = "Create";
+
+ ///
+ /// patch.
+ ///
+ public const string Patch = "Patch";
+
+ ///
+ /// read.
+ ///
+ public const string Read = "Read";
+
+ ///
+ /// read_feed.
+ ///
+ public const string ReadFeed = "ReadFeed";
+
+ ///
+ /// delete.
+ ///
+ public const string Delete = "Delete";
+
+ ///
+ /// replace.
+ ///
+ public const string Replace = "Replace";
+
+ ///
+ /// execute.
+ ///
+ public const string Execute = "Execute";
+
+ ///
+ /// query.
+ ///
+ public const string Query = "Query";
+
+ ///
+ /// head.
+ ///
+ public const string Head = "Head";
+
+ ///
+ /// head_feed.
+ ///
+ public const string HeadFeed = "HeadFeed";
+
+ ///
+ /// upsert.
+ ///
+ public const string Upsert = "Upsert";
+
+ ///
+ /// batch.
+ ///
+ public const string Batch = "Batch";
+
+ ///
+ /// query_plan.
+ ///
+ public const string QueryPlan = "QueryPlan";
+
+ ///
+ /// execute_javascript.
+ ///
+ public const string ExecuteJavascript = "ExecuteJavaScript";
+ }
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public static class DbSystemValues
+ {
+ ///
+ /// Some other SQL database. Fallback only. See notes.
+ ///
+ public const string OtherSql = "other_sql";
+
+ ///
+ /// Microsoft SQL Server.
+ ///
+ public const string Mssql = "mssql";
+
+ ///
+ /// Microsoft SQL Server Compact.
+ ///
+ public const string Mssqlcompact = "mssqlcompact";
+
+ ///
+ /// MySQL.
+ ///
+ public const string Mysql = "mysql";
+
+ ///
+ /// Oracle Database.
+ ///
+ public const string Oracle = "oracle";
+
+ ///
+ /// IBM Db2.
+ ///
+ public const string Db2 = "db2";
+
+ ///
+ /// PostgreSQL.
+ ///
+ public const string Postgresql = "postgresql";
+
+ ///
+ /// Amazon Redshift.
+ ///
+ public const string Redshift = "redshift";
+
+ ///
+ /// Apache Hive.
+ ///
+ public const string Hive = "hive";
+
+ ///
+ /// Cloudscape.
+ ///
+ public const string Cloudscape = "cloudscape";
+
+ ///
+ /// HyperSQL DataBase.
+ ///
+ public const string Hsqldb = "hsqldb";
+
+ ///
+ /// Progress Database.
+ ///
+ public const string Progress = "progress";
+
+ ///
+ /// SAP MaxDB.
+ ///
+ public const string Maxdb = "maxdb";
+
+ ///
+ /// SAP HANA.
+ ///
+ public const string Hanadb = "hanadb";
+
+ ///
+ /// Ingres.
+ ///
+ public const string Ingres = "ingres";
+
+ ///
+ /// FirstSQL.
+ ///
+ public const string Firstsql = "firstsql";
+
+ ///
+ /// EnterpriseDB.
+ ///
+ public const string Edb = "edb";
+
+ ///
+ /// InterSystems Caché.
+ ///
+ public const string Cache = "cache";
+
+ ///
+ /// Adabas (Adaptable Database System).
+ ///
+ public const string Adabas = "adabas";
+
+ ///
+ /// Firebird.
+ ///
+ public const string Firebird = "firebird";
+
+ ///
+ /// Apache Derby.
+ ///
+ public const string Derby = "derby";
+
+ ///
+ /// FileMaker.
+ ///
+ public const string Filemaker = "filemaker";
+
+ ///
+ /// Informix.
+ ///
+ public const string Informix = "informix";
+
+ ///
+ /// InstantDB.
+ ///
+ public const string Instantdb = "instantdb";
+
+ ///
+ /// InterBase.
+ ///
+ public const string Interbase = "interbase";
+
+ ///
+ /// MariaDB.
+ ///
+ public const string Mariadb = "mariadb";
+
+ ///
+ /// Netezza.
+ ///
+ public const string Netezza = "netezza";
+
+ ///
+ /// Pervasive PSQL.
+ ///
+ public const string Pervasive = "pervasive";
+
+ ///
+ /// PointBase.
+ ///
+ public const string Pointbase = "pointbase";
+
+ ///
+ /// SQLite.
+ ///
+ public const string Sqlite = "sqlite";
+
+ ///
+ /// Sybase.
+ ///
+ public const string Sybase = "sybase";
+
+ ///
+ /// Teradata.
+ ///
+ public const string Teradata = "teradata";
+
+ ///
+ /// Vertica.
+ ///
+ public const string Vertica = "vertica";
+
+ ///
+ /// H2.
+ ///
+ public const string H2 = "h2";
+
+ ///
+ /// ColdFusion IMQ.
+ ///
+ public const string Coldfusion = "coldfusion";
+
+ ///
+ /// Apache Cassandra.
+ ///
+ public const string Cassandra = "cassandra";
+
+ ///
+ /// Apache HBase.
+ ///
+ public const string Hbase = "hbase";
+
+ ///
+ /// MongoDB.
+ ///
+ public const string Mongodb = "mongodb";
+
+ ///
+ /// Redis.
+ ///
+ public const string Redis = "redis";
+
+ ///
+ /// Couchbase.
+ ///
+ public const string Couchbase = "couchbase";
+
+ ///
+ /// CouchDB.
+ ///
+ public const string Couchdb = "couchdb";
+
+ ///
+ /// Microsoft Azure Cosmos DB.
+ ///
+ public const string Cosmosdb = "cosmosdb";
+
+ ///
+ /// Amazon DynamoDB.
+ ///
+ public const string Dynamodb = "dynamodb";
+
+ ///
+ /// Neo4j.
+ ///
+ public const string Neo4j = "neo4j";
+
+ ///
+ /// Apache Geode.
+ ///
+ public const string Geode = "geode";
+
+ ///
+ /// Elasticsearch.
+ ///
+ public const string Elasticsearch = "elasticsearch";
+
+ ///
+ /// Memcached.
+ ///
+ public const string Memcached = "memcached";
+
+ ///
+ /// CockroachDB.
+ ///
+ public const string Cockroachdb = "cockroachdb";
+
+ ///
+ /// OpenSearch.
+ ///
+ public const string Opensearch = "opensearch";
+
+ ///
+ /// ClickHouse.
+ ///
+ public const string Clickhouse = "clickhouse";
+
+ ///
+ /// Cloud Spanner.
+ ///
+ public const string Spanner = "spanner";
+
+ ///
+ /// Trino.
+ ///
+ public const string Trino = "trino";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs b/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
new file mode 100644
index 0000000000..86c5c525f1
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
@@ -0,0 +1,31 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DeploymentAttributes
+ {
+ ///
+ /// Name of the deployment environment (aka deployment tier).
+ ///
+ ///
+ /// deployment.environment does not affect the uniqueness constraints defined through
+ /// the service.namespace, service.name and service.instance.id resource attributes.
+ /// This implies that resources carrying the following attribute combinations MUST be
+ /// considered to be identifying the same service:
+ /// - service.name=frontend, deployment.environment=production
+ /// - service.name=frontend, deployment.environment=staging
+ ///
.
+ ///
+ public const string AttributeDeploymentEnvironment = "deployment.environment";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs b/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
new file mode 100644
index 0000000000..e15bc6da23
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
@@ -0,0 +1,30 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DestinationAttributes
+ {
+ ///
+ /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeDestinationAddress = "destination.address";
+
+ ///
+ /// Destination port number.
+ ///
+ public const string AttributeDestinationPort = "destination.port";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs b/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
new file mode 100644
index 0000000000..a26e2c84ae
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
@@ -0,0 +1,49 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DeviceAttributes
+ {
+ ///
+ /// A unique identifier representing the device.
+ ///
+ ///
+ /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
+ ///
+ public const string AttributeDeviceId = "device.id";
+
+ ///
+ /// The name of the device manufacturer.
+ ///
+ ///
+ /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
+ ///
+ public const string AttributeDeviceManufacturer = "device.manufacturer";
+
+ ///
+ /// The model identifier for the device.
+ ///
+ ///
+ /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device.
+ ///
+ public const string AttributeDeviceModelIdentifier = "device.model.identifier";
+
+ ///
+ /// The marketing name for the device model.
+ ///
+ ///
+ /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative.
+ ///
+ public const string AttributeDeviceModelName = "device.model.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs b/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
new file mode 100644
index 0000000000..1c7744fdf8
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
@@ -0,0 +1,38 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DiskAttributes
+ {
+ ///
+ /// The disk IO operation direction.
+ ///
+ public const string AttributeDiskIoDirection = "disk.io.direction";
+
+ ///
+ /// The disk IO operation direction.
+ ///
+ public static class DiskIoDirectionValues
+ {
+ ///
+ /// read.
+ ///
+ public const string Read = "read";
+
+ ///
+ /// write.
+ ///
+ public const string Write = "write";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs b/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
new file mode 100644
index 0000000000..137eec8350
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
@@ -0,0 +1,25 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class DnsAttributes
+ {
+ ///
+ /// The name being queried.
+ ///
+ ///
+ /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.
+ ///
+ public const string AttributeDnsQuestionName = "dns.question.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs b/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
new file mode 100644
index 0000000000..4f8dcda8eb
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
@@ -0,0 +1,32 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class EnduserAttributes
+ {
+ ///
+ /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
+ ///
+ public const string AttributeEnduserId = "enduser.id";
+
+ ///
+ /// Actual/assumed role the client is making the request under extracted from token or application security context.
+ ///
+ public const string AttributeEnduserRole = "enduser.role";
+
+ ///
+ /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
+ ///
+ public const string AttributeEnduserScope = "enduser.scope";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs b/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
new file mode 100644
index 0000000000..f3cf6093a5
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
@@ -0,0 +1,44 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ErrorAttributes
+ {
+ ///
+ /// Describes a class of error the operation ended with.
+ ///
+ ///
+ /// The error.type SHOULD be predictable and SHOULD have low cardinality.
+ /// Instrumentations SHOULD document the list of errors they report.The cardinality of error.type within one instrumentation library SHOULD be low.
+ /// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications
+ /// should be prepared for error.type to have high cardinality at query time when no
+ /// additional filters are applied.If the operation has completed successfully, instrumentations SHOULD NOT set error.type.If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes),
+ /// it's RECOMMENDED to:
+ /// - Use a domain-specific attribute
+ /// - Set error.type to capture all errors, regardless of whether they are defined within the domain-specific set or not
+ ///
.
+ ///
+ public const string AttributeErrorType = "error.type";
+
+ ///
+ /// Describes a class of error the operation ended with.
+ ///
+ public static class ErrorTypeValues
+ {
+ ///
+ /// A fallback error value to be used when the instrumentation doesn't define a custom value.
+ ///
+ public const string Other = "_OTHER";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/EventAttributes.cs b/src/OpenTelemetry.SemanticConventions/EventAttributes.cs
new file mode 100644
index 0000000000..93d234e43a
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/EventAttributes.cs
@@ -0,0 +1,25 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class EventAttributes
+ {
+ ///
+ /// Identifies the class / type of event.
+ ///
+ ///
+ /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes.
+ ///
+ public const string AttributeEventName = "event.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs b/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
new file mode 100644
index 0000000000..629fcf1511
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
@@ -0,0 +1,51 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ExceptionAttributes
+ {
+ ///
+ /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
+ ///
+ ///
+ /// An exception is considered to have escaped (or left) the scope of a span,
+ /// if that span is ended while the exception is still logically "in flight".
+ /// This may be actually "in flight" in some languages (e.g. if the exception
+ /// is passed to a Context manager's __exit__ method in Python) but will
+ /// usually be caught at the point of recording the exception in most languages.It is usually not possible to determine at the point where an exception is thrown
+ /// whether it will escape the scope of a span.
+ /// However, it is trivial to know that an exception
+ /// will escape, if one checks for an active exception just before ending the span,
+ /// as done in the example for recording span exceptions.It follows that an exception may still escape the scope of the span
+ /// even if the exception.escaped attribute was not set or set to false,
+ /// since the event might have been recorded at a time where it was not
+ /// clear whether the exception will escape.
+ ///
+ public const string AttributeExceptionEscaped = "exception.escaped";
+
+ ///
+ /// The exception message.
+ ///
+ public const string AttributeExceptionMessage = "exception.message";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeExceptionStacktrace = "exception.stacktrace";
+
+ ///
+ /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
+ ///
+ public const string AttributeExceptionType = "exception.type";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs b/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
new file mode 100644
index 0000000000..0e200a61a0
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
@@ -0,0 +1,224 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class FaasAttributes
+ {
+ ///
+ /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
+ ///
+ public const string AttributeFaasColdstart = "faas.coldstart";
+
+ ///
+ /// A string containing the schedule period as Cron Expression.
+ ///
+ public const string AttributeFaasCron = "faas.cron";
+
+ ///
+ /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
+ ///
+ public const string AttributeFaasDocumentCollection = "faas.document.collection";
+
+ ///
+ /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
+ ///
+ public const string AttributeFaasDocumentName = "faas.document.name";
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public const string AttributeFaasDocumentOperation = "faas.document.operation";
+
+ ///
+ /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasDocumentTime = "faas.document.time";
+
+ ///
+ /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
+ ///
+ ///
+ ///
+ /// - AWS Lambda: Use the (full) log stream name
+ ///
.
+ ///
+ public const string AttributeFaasInstance = "faas.instance";
+
+ ///
+ /// The invocation ID of the current function invocation.
+ ///
+ public const string AttributeFaasInvocationId = "faas.invocation_id";
+
+ ///
+ /// The name of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the faas.name resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedName = "faas.invoked_name";
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
+
+ ///
+ /// The cloud region of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedRegion = "faas.invoked_region";
+
+ ///
+ /// The amount of memory available to the serverless function converted to Bytes.
+ ///
+ ///
+ /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576).
+ ///
+ public const string AttributeFaasMaxMemory = "faas.max_memory";
+
+ ///
+ /// The name of the single function that this runtime instance executes.
+ ///
+ ///
+ /// This is the name of the function as configured/deployed on the FaaS
+ /// platform and is usually different from the name of the callback
+ /// function (which may be stored in the
+ /// code.namespace/code.function
+ /// span attributes).For some cloud providers, the above definition is ambiguous. The following
+ /// definition of function name MUST be used for this attribute
+ /// (and consequently the span name) for the listed cloud providers/products:
+ /// - Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name
+ /// followed by a forward slash followed by the function name (this form
+ /// can also be seen in the resource JSON for the function).
+ /// This means that a span attribute MUST be used, as an Azure function
+ /// app can host multiple functions that would usually share
+ /// a TracerProvider (see also the cloud.resource_id attribute)
+ ///
.
+ ///
+ public const string AttributeFaasName = "faas.name";
+
+ ///
+ /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasTime = "faas.time";
+
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public const string AttributeFaasTrigger = "faas.trigger";
+
+ ///
+ /// The immutable version of the function being executed.
+ ///
+ ///
+ /// Depending on the cloud provider and platform, use:
+ /// - AWS Lambda: The function version
+ /// (an integer represented as a decimal string).
+ /// - Google Cloud Run (Services): The revision
+ /// (i.e., the function name plus the revision suffix).
+ /// - Google Cloud Functions: The value of the
+ /// K_REVISION environment variable.
+ /// - Azure Functions: Not applicable. Do not set this attribute
+ ///
.
+ ///
+ public const string AttributeFaasVersion = "faas.version";
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public static class FaasDocumentOperationValues
+ {
+ ///
+ /// When a new object is created.
+ ///
+ public const string Insert = "insert";
+
+ ///
+ /// When an object is modified.
+ ///
+ public const string Edit = "edit";
+
+ ///
+ /// When an object is deleted.
+ ///
+ public const string Delete = "delete";
+ }
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ public static class FaasInvokedProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public static class FaasTriggerValues
+ {
+ ///
+ /// A response to some data source operation such as a database or filesystem read/write.
+ ///
+ public const string Datasource = "datasource";
+
+ ///
+ /// To provide an answer to an inbound HTTP request.
+ ///
+ public const string Http = "http";
+
+ ///
+ /// A function is set to be executed when messages are sent to a messaging system.
+ ///
+ public const string Pubsub = "pubsub";
+
+ ///
+ /// A function is scheduled to be executed regularly.
+ ///
+ public const string Timer = "timer";
+
+ ///
+ /// If none of the others apply.
+ ///
+ public const string Other = "other";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs b/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
new file mode 100644
index 0000000000..ab0715e6db
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
@@ -0,0 +1,40 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class FeatureFlagAttributes
+ {
+ ///
+ /// The unique identifier of the feature flag.
+ ///
+ public const string AttributeFeatureFlagKey = "feature_flag.key";
+
+ ///
+ /// The name of the service provider that performs the flag evaluation.
+ ///
+ public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name";
+
+ ///
+ /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
+ ///
+ ///
+ /// A semantic identifier, commonly referred to as a variant, provides a means
+ /// for referring to a value without including the value itself. This can
+ /// provide additional context for understanding the meaning behind a value.
+ /// For example, the variant red maybe be used for the value #c05543.A stringified version of the value can be used in situations where a
+ /// semantic identifier is unavailable. String representation of the value
+ /// should be determined by the implementer.
+ ///
+ public const string AttributeFeatureFlagVariant = "feature_flag.variant";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/FileAttributes.cs b/src/OpenTelemetry.SemanticConventions/FileAttributes.cs
new file mode 100644
index 0000000000..86dd3cbe26
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/FileAttributes.cs
@@ -0,0 +1,45 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class FileAttributes
+ {
+ ///
+ /// Directory where the file is located. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFileDirectory = "file.directory";
+
+ ///
+ /// File extension, excluding the leading dot.
+ ///
+ ///
+ /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
+ ///
+ public const string AttributeFileExtension = "file.extension";
+
+ ///
+ /// Name of the file including the extension, without the directory.
+ ///
+ public const string AttributeFileName = "file.name";
+
+ ///
+ /// Full path to the file, including the file name. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFilePath = "file.path";
+
+ ///
+ /// File size in bytes.
+ ///
+ public const string AttributeFileSize = "file.size";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs b/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
new file mode 100644
index 0000000000..449135b5ed
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
@@ -0,0 +1,37 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class GcpAttributes
+ {
+ ///
+ /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
+
+ ///
+ /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
+
+ ///
+ /// The hostname of a GCE instance. This is the full value of the default or custom hostname.
+ ///
+ public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname";
+
+ ///
+ /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name.
+ ///
+ public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs b/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
new file mode 100644
index 0000000000..a5ae036306
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
@@ -0,0 +1,56 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class GraphqlAttributes
+ {
+ ///
+ /// The GraphQL document being executed.
+ ///
+ ///
+ /// The value may be sanitized to exclude sensitive information.
+ ///
+ public const string AttributeGraphqlDocument = "graphql.document";
+
+ ///
+ /// The name of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationName = "graphql.operation.name";
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationType = "graphql.operation.type";
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public static class GraphqlOperationTypeValues
+ {
+ ///
+ /// GraphQL query.
+ ///
+ public const string Query = "query";
+
+ ///
+ /// GraphQL mutation.
+ ///
+ public const string Mutation = "mutation";
+
+ ///
+ /// GraphQL subscription.
+ ///
+ public const string Subscription = "subscription";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs b/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
new file mode 100644
index 0000000000..6315f2b446
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
@@ -0,0 +1,32 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class HerokuAttributes
+ {
+ ///
+ /// Unique identifier for the application.
+ ///
+ public const string AttributeHerokuAppId = "heroku.app.id";
+
+ ///
+ /// Commit hash for the current release.
+ ///
+ public const string AttributeHerokuReleaseCommit = "heroku.release.commit";
+
+ ///
+ /// Time and date the release was created.
+ ///
+ public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/HostAttributes.cs b/src/OpenTelemetry.SemanticConventions/HostAttributes.cs
new file mode 100644
index 0000000000..83871a4994
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/HostAttributes.cs
@@ -0,0 +1,147 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class HostAttributes
+ {
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public const string AttributeHostArch = "host.arch";
+
+ ///
+ /// The amount of level 2 memory cache available to the processor (in Bytes).
+ ///
+ public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size";
+
+ ///
+ /// Family or generation of the CPU.
+ ///
+ public const string AttributeHostCpuFamily = "host.cpu.family";
+
+ ///
+ /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family.
+ ///
+ public const string AttributeHostCpuModelId = "host.cpu.model.id";
+
+ ///
+ /// Model designation of the processor.
+ ///
+ public const string AttributeHostCpuModelName = "host.cpu.model.name";
+
+ ///
+ /// Stepping or core revisions.
+ ///
+ public const string AttributeHostCpuStepping = "host.cpu.stepping";
+
+ ///
+ /// Processor manufacturer identifier. A maximum 12-character string.
+ ///
+ ///
+ /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
+ ///
+ public const string AttributeHostCpuVendorId = "host.cpu.vendor.id";
+
+ ///
+ /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system.
+ ///
+ public const string AttributeHostId = "host.id";
+
+ ///
+ /// VM image ID or host OS image ID. For Cloud, this value is from the provider.
+ ///
+ public const string AttributeHostImageId = "host.image.id";
+
+ ///
+ /// Name of the VM image or OS install the host was instantiated from.
+ ///
+ public const string AttributeHostImageName = "host.image.name";
+
+ ///
+ /// The version string of the VM image or host OS as defined in Version Attributes.
+ ///
+ public const string AttributeHostImageVersion = "host.image.version";
+
+ ///
+ /// Available IP addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format.
+ ///
+ public const string AttributeHostIp = "host.ip";
+
+ ///
+ /// Available MAC addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.
+ ///
+ public const string AttributeHostMac = "host.mac";
+
+ ///
+ /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
+ ///
+ public const string AttributeHostName = "host.name";
+
+ ///
+ /// Type of host. For Cloud, this must be the machine type.
+ ///
+ public const string AttributeHostType = "host.type";
+
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public static class HostArchValues
+ {
+ ///
+ /// AMD64.
+ ///
+ public const string Amd64 = "amd64";
+
+ ///
+ /// ARM32.
+ ///
+ public const string Arm32 = "arm32";
+
+ ///
+ /// ARM64.
+ ///
+ public const string Arm64 = "arm64";
+
+ ///
+ /// Itanium.
+ ///
+ public const string Ia64 = "ia64";
+
+ ///
+ /// 32-bit PowerPC.
+ ///
+ public const string Ppc32 = "ppc32";
+
+ ///
+ /// 64-bit PowerPC.
+ ///
+ public const string Ppc64 = "ppc64";
+
+ ///
+ /// IBM z/Architecture.
+ ///
+ public const string S390x = "s390x";
+
+ ///
+ /// 32-bit x86.
+ ///
+ public const string X86 = "x86";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs b/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
new file mode 100644
index 0000000000..dd8269f838
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
@@ -0,0 +1,266 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class HttpAttributes
+ {
+ ///
+ /// State of the HTTP connection in the HTTP connection pool.
+ ///
+ public const string AttributeHttpConnectionState = "http.connection.state";
+
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeHttpFlavor = "http.flavor";
+
+ ///
+ /// Deprecated, use http.request.method instead.
+ ///
+ [Obsolete("Replaced by `http.request.method`")]
+ public const string AttributeHttpMethod = "http.method";
+
+ ///
+ /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpRequestBodySize = "http.request.body.size";
+
+ ///
+ /// HTTP request headers, being the normalized HTTP Header name (lowercase), the value being the header values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ /// The User-Agent header is already captured in the user_agent.original attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended.
+ /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers.
+ ///
+ public const string AttributeHttpRequestHeader = "http.request.header";
+
+ ///
+ /// HTTP request method.
+ ///
+ ///
+ /// HTTP request method value SHOULD be "known" to the instrumentation.
+ /// By default, this convention defines "known" methods as the ones listed in RFC9110
+ /// and the PATCH method defined in RFC5789.If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER.If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override
+ /// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named
+ /// OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods
+ /// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults).HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly.
+ /// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent.
+ /// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value.
+ ///
+ public const string AttributeHttpRequestMethod = "http.request.method";
+
+ ///
+ /// Original HTTP method sent by the client in the request line.
+ ///
+ public const string AttributeHttpRequestMethodOriginal = "http.request.method_original";
+
+ ///
+ /// The ordinal number of request resending attempt (for any reason, including redirects).
+ ///
+ ///
+ /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).
+ ///
+ public const string AttributeHttpRequestResendCount = "http.request.resend_count";
+
+ ///
+ /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any.
+ ///
+ public const string AttributeHttpRequestSize = "http.request.size";
+
+ ///
+ /// Deprecated, use http.request.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.request.header.content-length`")]
+ public const string AttributeHttpRequestContentLength = "http.request_content_length";
+
+ ///
+ /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpResponseBodySize = "http.response.body.size";
+
+ ///
+ /// HTTP response headers, being the normalized HTTP Header name (lowercase), the value being the header values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ /// Users MAY explicitly configure instrumentations to capture them even though it is not recommended.
+ /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers.
+ ///
+ public const string AttributeHttpResponseHeader = "http.response.header";
+
+ ///
+ /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
+ ///
+ public const string AttributeHttpResponseSize = "http.response.size";
+
+ ///
+ /// HTTP response status code.
+ ///
+ public const string AttributeHttpResponseStatusCode = "http.response.status_code";
+
+ ///
+ /// Deprecated, use http.response.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.response.header.content-length`")]
+ public const string AttributeHttpResponseContentLength = "http.response_content_length";
+
+ ///
+ /// The matched route, that is, the path template in the format used by the respective server framework.
+ ///
+ ///
+ /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
+ /// SHOULD include the application root if there is one.
+ ///
+ public const string AttributeHttpRoute = "http.route";
+
+ ///
+ /// Deprecated, use url.scheme instead.
+ ///
+ [Obsolete("Replaced by `url.scheme` instead")]
+ public const string AttributeHttpScheme = "http.scheme";
+
+ ///
+ /// Deprecated, use http.response.status_code instead.
+ ///
+ [Obsolete("Replaced by `http.response.status_code`")]
+ public const string AttributeHttpStatusCode = "http.status_code";
+
+ ///
+ /// Deprecated, use url.path and url.query instead.
+ ///
+ [Obsolete("Split to `url.path` and `url.query")]
+ public const string AttributeHttpTarget = "http.target";
+
+ ///
+ /// Deprecated, use url.full instead.
+ ///
+ [Obsolete("Replaced by `url.full`")]
+ public const string AttributeHttpUrl = "http.url";
+
+ ///
+ /// Deprecated, use user_agent.original instead.
+ ///
+ [Obsolete("Replaced by `user_agent.original`")]
+ public const string AttributeHttpUserAgent = "http.user_agent";
+
+ ///
+ /// State of the HTTP connection in the HTTP connection pool.
+ ///
+ public static class HttpConnectionStateValues
+ {
+ ///
+ /// active state.
+ ///
+ public const string Active = "active";
+
+ ///
+ /// idle state.
+ ///
+ public const string Idle = "idle";
+ }
+
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ public static class HttpFlavorValues
+ {
+ ///
+ /// HTTP/1.0.
+ ///
+ public const string Http10 = "1.0";
+
+ ///
+ /// HTTP/1.1.
+ ///
+ public const string Http11 = "1.1";
+
+ ///
+ /// HTTP/2.
+ ///
+ public const string Http20 = "2.0";
+
+ ///
+ /// HTTP/3.
+ ///
+ public const string Http30 = "3.0";
+
+ ///
+ /// SPDY protocol.
+ ///
+ public const string Spdy = "SPDY";
+
+ ///
+ /// QUIC protocol.
+ ///
+ public const string Quic = "QUIC";
+ }
+
+ ///
+ /// HTTP request method.
+ ///
+ public static class HttpRequestMethodValues
+ {
+ ///
+ /// CONNECT method.
+ ///
+ public const string Connect = "CONNECT";
+
+ ///
+ /// DELETE method.
+ ///
+ public const string Delete = "DELETE";
+
+ ///
+ /// GET method.
+ ///
+ public const string Get = "GET";
+
+ ///
+ /// HEAD method.
+ ///
+ public const string Head = "HEAD";
+
+ ///
+ /// OPTIONS method.
+ ///
+ public const string Options = "OPTIONS";
+
+ ///
+ /// PATCH method.
+ ///
+ public const string Patch = "PATCH";
+
+ ///
+ /// POST method.
+ ///
+ public const string Post = "POST";
+
+ ///
+ /// PUT method.
+ ///
+ public const string Put = "PUT";
+
+ ///
+ /// TRACE method.
+ ///
+ public const string Trace = "TRACE";
+
+ ///
+ /// Any HTTP method that the instrumentation has no prior knowledge of.
+ ///
+ public const string Other = "_OTHER";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/IosAttributes.cs b/src/OpenTelemetry.SemanticConventions/IosAttributes.cs
new file mode 100644
index 0000000000..0b635006ec
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/IosAttributes.cs
@@ -0,0 +1,56 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class IosAttributes
+ {
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived.
+ ///
+ public const string AttributeIosState = "ios.state";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ public static class IosStateValues
+ {
+ ///
+ /// The app has become active. Associated with UIKit notification applicationDidBecomeActive.
+ ///
+ public const string Active = "active";
+
+ ///
+ /// The app is now inactive. Associated with UIKit notification applicationWillResignActive.
+ ///
+ public const string Inactive = "inactive";
+
+ ///
+ /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground.
+ ///
+ public const string Background = "background";
+
+ ///
+ /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground.
+ ///
+ public const string Foreground = "foreground";
+
+ ///
+ /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate.
+ ///
+ public const string Terminate = "terminate";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs b/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
new file mode 100644
index 0000000000..a8f86aff09
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
@@ -0,0 +1,116 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class JvmAttributes
+ {
+ ///
+ /// Name of the buffer pool.
+ ///
+ ///
+ /// Pool names are generally obtained via BufferPoolMXBean#getName().
+ ///
+ public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name";
+
+ ///
+ /// Name of the garbage collector action.
+ ///
+ ///
+ /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction().
+ ///
+ public const string AttributeJvmGcAction = "jvm.gc.action";
+
+ ///
+ /// Name of the garbage collector.
+ ///
+ ///
+ /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName().
+ ///
+ public const string AttributeJvmGcName = "jvm.gc.name";
+
+ ///
+ /// Name of the memory pool.
+ ///
+ ///
+ /// Pool names are generally obtained via MemoryPoolMXBean#getName().
+ ///
+ public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name";
+
+ ///
+ /// The type of memory.
+ ///
+ public const string AttributeJvmMemoryType = "jvm.memory.type";
+
+ ///
+ /// Whether the thread is daemon or not.
+ ///
+ public const string AttributeJvmThreadDaemon = "jvm.thread.daemon";
+
+ ///
+ /// State of the thread.
+ ///
+ public const string AttributeJvmThreadState = "jvm.thread.state";
+
+ ///
+ /// The type of memory.
+ ///
+ public static class JvmMemoryTypeValues
+ {
+ ///
+ /// Heap memory.
+ ///
+ public const string Heap = "heap";
+
+ ///
+ /// Non-heap memory.
+ ///
+ public const string NonHeap = "non_heap";
+ }
+
+ ///
+ /// State of the thread.
+ ///
+ public static class JvmThreadStateValues
+ {
+ ///
+ /// A thread that has not yet started is in this state.
+ ///
+ public const string New = "new";
+
+ ///
+ /// A thread executing in the Java virtual machine is in this state.
+ ///
+ public const string Runnable = "runnable";
+
+ ///
+ /// A thread that is blocked waiting for a monitor lock is in this state.
+ ///
+ public const string Blocked = "blocked";
+
+ ///
+ /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
+ ///
+ public const string Waiting = "waiting";
+
+ ///
+ /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
+ ///
+ public const string TimedWaiting = "timed_waiting";
+
+ ///
+ /// A thread that has exited is in this state.
+ ///
+ public const string Terminated = "terminated";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs b/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
new file mode 100644
index 0000000000..9d43b5ca0f
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
@@ -0,0 +1,156 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class K8sAttributes
+ {
+ ///
+ /// The name of the cluster.
+ ///
+ public const string AttributeK8sClusterName = "k8s.cluster.name";
+
+ ///
+ /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace.
+ ///
+ ///
+ /// K8s doesn't have support for obtaining a cluster ID. If this is ever
+ /// added, we will recommend collecting the k8s.cluster.uid through the
+ /// official APIs. In the meantime, we are able to use the uid of the
+ /// kube-system namespace as a proxy for cluster ID. Read on for the
+ /// rationale.Every object created in a K8s cluster is assigned a distinct UID. The
+ /// kube-system namespace is used by Kubernetes itself and will exist
+ /// for the lifetime of the cluster. Using the uid of the kube-system
+ /// namespace is a reasonable proxy for the K8s ClusterID as it will only
+ /// change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are
+ /// UUIDs as standardized by
+ /// ISO/IEC 9834-8 and ITU-T X.667.
+ /// Which states:> If generated according to one of the mechanisms defined in Rec.
+ /// ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be
+ /// different from all other UUIDs generated before 3603 A.D., or is
+ /// extremely likely to be different (depending on the mechanism chosen).Therefore, UIDs between clusters should be extremely unlikely to
+ /// conflict.
+ ///
+ public const string AttributeK8sClusterUid = "k8s.cluster.uid";
+
+ ///
+ /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
+ ///
+ public const string AttributeK8sContainerName = "k8s.container.name";
+
+ ///
+ /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
+ ///
+ public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
+
+ ///
+ /// The name of the CronJob.
+ ///
+ public const string AttributeK8sCronjobName = "k8s.cronjob.name";
+
+ ///
+ /// The UID of the CronJob.
+ ///
+ public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
+
+ ///
+ /// The name of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
+
+ ///
+ /// The UID of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
+
+ ///
+ /// The name of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentName = "k8s.deployment.name";
+
+ ///
+ /// The UID of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
+
+ ///
+ /// The name of the Job.
+ ///
+ public const string AttributeK8sJobName = "k8s.job.name";
+
+ ///
+ /// The UID of the Job.
+ ///
+ public const string AttributeK8sJobUid = "k8s.job.uid";
+
+ ///
+ /// The name of the namespace that the pod is running in.
+ ///
+ public const string AttributeK8sNamespaceName = "k8s.namespace.name";
+
+ ///
+ /// The name of the Node.
+ ///
+ public const string AttributeK8sNodeName = "k8s.node.name";
+
+ ///
+ /// The UID of the Node.
+ ///
+ public const string AttributeK8sNodeUid = "k8s.node.uid";
+
+ ///
+ /// The annotation key-value pairs placed on the Pod, the being the annotation name, the value being the annotation value.
+ ///
+ public const string AttributeK8sPodAnnotation = "k8s.pod.annotation";
+
+ ///
+ /// The label key-value pairs placed on the Pod, the being the label name, the value being the label value.
+ ///
+ public const string AttributeK8sPodLabel = "k8s.pod.label";
+
+ ///
+ /// Deprecated, use k8s.pod.label instead.
+ ///
+ [Obsolete("Replaced by `k8s.pod.label`")]
+ public const string AttributeK8sPodLabels = "k8s.pod.labels";
+
+ ///
+ /// The name of the Pod.
+ ///
+ public const string AttributeK8sPodName = "k8s.pod.name";
+
+ ///
+ /// The UID of the Pod.
+ ///
+ public const string AttributeK8sPodUid = "k8s.pod.uid";
+
+ ///
+ /// The name of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
+
+ ///
+ /// The UID of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
+
+ ///
+ /// The name of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
+
+ ///
+ /// The UID of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/LogAttributes.cs b/src/OpenTelemetry.SemanticConventions/LogAttributes.cs
new file mode 100644
index 0000000000..9a08262b13
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/LogAttributes.cs
@@ -0,0 +1,67 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class LogAttributes
+ {
+ ///
+ /// The basename of the file.
+ ///
+ public const string AttributeLogFileName = "log.file.name";
+
+ ///
+ /// The basename of the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFileNameResolved = "log.file.name_resolved";
+
+ ///
+ /// The full path to the file.
+ ///
+ public const string AttributeLogFilePath = "log.file.path";
+
+ ///
+ /// The full path to the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFilePathResolved = "log.file.path_resolved";
+
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public const string AttributeLogIostream = "log.iostream";
+
+ ///
+ /// A unique identifier for the Log Record.
+ ///
+ ///
+ /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
+ /// The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed.
+ ///
+ public const string AttributeLogRecordUid = "log.record.uid";
+
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public static class LogIostreamValues
+ {
+ ///
+ /// Logs from stdout stream.
+ ///
+ public const string Stdout = "stdout";
+
+ ///
+ /// Events from stderr stream.
+ ///
+ public const string Stderr = "stderr";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs b/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
new file mode 100644
index 0000000000..49c5f9764d
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
@@ -0,0 +1,56 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class MessageAttributes
+ {
+ ///
+ /// Compressed size of the message in bytes.
+ ///
+ public const string AttributeMessageCompressedSize = "message.compressed_size";
+
+ ///
+ /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
+ ///
+ ///
+ /// This way we guarantee that the values will be consistent between different implementations.
+ ///
+ public const string AttributeMessageId = "message.id";
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public const string AttributeMessageType = "message.type";
+
+ ///
+ /// Uncompressed size of the message in bytes.
+ ///
+ public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public static class MessageTypeValues
+ {
+ ///
+ /// sent.
+ ///
+ public const string Sent = "SENT";
+
+ ///
+ /// received.
+ ///
+ public const string Received = "RECEIVED";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs b/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
new file mode 100644
index 0000000000..343aca6151
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
@@ -0,0 +1,391 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class MessagingAttributes
+ {
+ ///
+ /// The number of messages sent, received, or processed in the scope of the batching operation.
+ ///
+ ///
+ /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs.
+ ///
+ public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count";
+
+ ///
+ /// A unique identifier for the client that consumes or produces a message.
+ ///
+ public const string AttributeMessagingClientId = "messaging.client_id";
+
+ ///
+ /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous";
+
+ ///
+ /// The message destination name.
+ ///
+ ///
+ /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
+ /// the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
+ ///
+ public const string AttributeMessagingDestinationName = "messaging.destination.name";
+
+ ///
+ /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.
+ ///
+ public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id";
+
+ ///
+ /// Low cardinality representation of the messaging destination name.
+ ///
+ ///
+ /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
+ ///
+ public const string AttributeMessagingDestinationTemplate = "messaging.destination.template";
+
+ ///
+ /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
+ ///
+ public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary";
+
+ ///
+ /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous";
+
+ ///
+ /// The name of the original destination the message was published to.
+ ///
+ ///
+ /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If
+ /// the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker.
+ ///
+ public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name";
+
+ ///
+ /// The name of the consumer group the event consumer is associated with.
+ ///
+ public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
+
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
+
+ ///
+ /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
+ ///
+ public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
+
+ ///
+ /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
+ ///
+ public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group";
+
+ ///
+ /// "Deprecated, use messaging.destination.partition.id instead.".
+ ///
+ [Obsolete("Replaced by `messaging.destination.partition.id`")]
+ public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition";
+
+ ///
+ /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.
+ ///
+ ///
+ /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
+ ///
+ public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key";
+
+ ///
+ /// The offset of a record in the corresponding Kafka partition.
+ ///
+ public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset";
+
+ ///
+ /// A boolean that is true if the message is a tombstone.
+ ///
+ public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
+
+ ///
+ /// The size of the message body in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
+ /// body size should be used.
+ ///
+ public const string AttributeMessagingMessageBodySize = "messaging.message.body.size";
+
+ ///
+ /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
+ ///
+ public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id";
+
+ ///
+ /// The size of the message body and metadata in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
+ /// size should be used.
+ ///
+ public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
+
+ ///
+ /// A value used by the messaging system as an identifier for the message, represented as a string.
+ ///
+ public const string AttributeMessagingMessageId = "messaging.message.id";
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ ///
+ /// If a custom value is used, it MUST be of low cardinality.
+ ///
+ public const string AttributeMessagingOperation = "messaging.operation";
+
+ ///
+ /// RabbitMQ message routing key.
+ ///
+ public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
+
+ ///
+ /// RabbitMQ message delivery tag.
+ ///
+ public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
+
+ ///
+ /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
+ ///
+ public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
+
+ ///
+ /// The delay time level for delay message, which determines the message delay time.
+ ///
+ public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
+
+ ///
+ /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
+ ///
+ public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
+
+ ///
+ /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
+ ///
+ public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
+
+ ///
+ /// Key(s) of message, another way to mark message besides message id.
+ ///
+ public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
+
+ ///
+ /// The secondary classifier of message besides topic.
+ ///
+ public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
+
+ ///
+ /// Type of message.
+ ///
+ public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
+
+ ///
+ /// Namespace of RocketMQ resources, resources in different namespaces are individual.
+ ///
+ public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
+
+ ///
+ /// The name of the subscription in the topic messages are received from.
+ ///
+ public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
+
+ ///
+ /// Describes the settlement type.
+ ///
+ public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status";
+
+ ///
+ /// Number of deliveries that have been attempted for this message.
+ ///
+ public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
+
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
+
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeMessagingSystem = "messaging.system";
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ public static class MessagingOperationValues
+ {
+ ///
+ /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
+ ///
+ public const string Publish = "publish";
+
+ ///
+ /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
+ ///
+ public const string Create = "create";
+
+ ///
+ /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.
+ ///
+ public const string Receive = "receive";
+
+ ///
+ /// One or more messages are delivered to or processed by a consumer.
+ ///
+ public const string Deliver = "process";
+
+ ///
+ /// One or more messages are settled.
+ ///
+ public const string Settle = "settle";
+ }
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public static class MessagingRocketmqConsumptionModelValues
+ {
+ ///
+ /// Clustering consumption model.
+ ///
+ public const string Clustering = "clustering";
+
+ ///
+ /// Broadcasting consumption model.
+ ///
+ public const string Broadcasting = "broadcasting";
+ }
+
+ ///
+ /// Type of message.
+ ///
+ public static class MessagingRocketmqMessageTypeValues
+ {
+ ///
+ /// Normal message.
+ ///
+ public const string Normal = "normal";
+
+ ///
+ /// FIFO message.
+ ///
+ public const string Fifo = "fifo";
+
+ ///
+ /// Delay message.
+ ///
+ public const string Delay = "delay";
+
+ ///
+ /// Transaction message.
+ ///
+ public const string Transaction = "transaction";
+ }
+
+ ///
+ /// Describes the settlement type.
+ ///
+ public static class MessagingServicebusDispositionStatusValues
+ {
+ ///
+ /// Message is completed.
+ ///
+ public const string Complete = "complete";
+
+ ///
+ /// Message is abandoned.
+ ///
+ public const string Abandon = "abandon";
+
+ ///
+ /// Message is sent to dead letter queue.
+ ///
+ public const string DeadLetter = "dead_letter";
+
+ ///
+ /// Message is deferred.
+ ///
+ public const string Defer = "defer";
+ }
+
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public static class MessagingSystemValues
+ {
+ ///
+ /// Apache ActiveMQ.
+ ///
+ public const string Activemq = "activemq";
+
+ ///
+ /// Amazon Simple Queue Service (SQS).
+ ///
+ public const string AwsSqs = "aws_sqs";
+
+ ///
+ /// Azure Event Grid.
+ ///
+ public const string Eventgrid = "eventgrid";
+
+ ///
+ /// Azure Event Hubs.
+ ///
+ public const string Eventhubs = "eventhubs";
+
+ ///
+ /// Azure Service Bus.
+ ///
+ public const string Servicebus = "servicebus";
+
+ ///
+ /// Google Cloud Pub/Sub.
+ ///
+ public const string GcpPubsub = "gcp_pubsub";
+
+ ///
+ /// Java Message Service.
+ ///
+ public const string Jms = "jms";
+
+ ///
+ /// Apache Kafka.
+ ///
+ public const string Kafka = "kafka";
+
+ ///
+ /// RabbitMQ.
+ ///
+ public const string Rabbitmq = "rabbitmq";
+
+ ///
+ /// Apache RocketMQ.
+ ///
+ public const string Rocketmq = "rocketmq";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/NetAttributes.cs b/src/OpenTelemetry.SemanticConventions/NetAttributes.cs
new file mode 100644
index 0000000000..b33b0b734c
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/NetAttributes.cs
@@ -0,0 +1,147 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class NetAttributes
+ {
+ ///
+ /// Deprecated, use server.address.
+ ///
+ [Obsolete("Replaced by `server.address`")]
+ public const string AttributeNetHostName = "net.host.name";
+
+ ///
+ /// Deprecated, use server.port.
+ ///
+ [Obsolete("Replaced by `server.port`")]
+ public const string AttributeNetHostPort = "net.host.port";
+
+ ///
+ /// Deprecated, use server.address on client spans and client.address on server spans.
+ ///
+ [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")]
+ public const string AttributeNetPeerName = "net.peer.name";
+
+ ///
+ /// Deprecated, use server.port on client spans and client.port on server spans.
+ ///
+ [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")]
+ public const string AttributeNetPeerPort = "net.peer.port";
+
+ ///
+ /// Deprecated, use network.protocol.name.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeNetProtocolName = "net.protocol.name";
+
+ ///
+ /// Deprecated, use network.protocol.version.
+ ///
+ [Obsolete("Replaced by `network.protocol.version`")]
+ public const string AttributeNetProtocolVersion = "net.protocol.version";
+
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ [Obsolete("Split to `network.transport` and `network.type`")]
+ public const string AttributeNetSockFamily = "net.sock.family";
+
+ ///
+ /// Deprecated, use network.local.address.
+ ///
+ [Obsolete("Replaced by `network.local.address`")]
+ public const string AttributeNetSockHostAddr = "net.sock.host.addr";
+
+ ///
+ /// Deprecated, use network.local.port.
+ ///
+ [Obsolete("Replaced by `network.local.port`")]
+ public const string AttributeNetSockHostPort = "net.sock.host.port";
+
+ ///
+ /// Deprecated, use network.peer.address.
+ ///
+ [Obsolete("Replaced by `network.peer.address`")]
+ public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
+
+ ///
+ /// Deprecated, no replacement at this time.
+ ///
+ [Obsolete("Removed")]
+ public const string AttributeNetSockPeerName = "net.sock.peer.name";
+
+ ///
+ /// Deprecated, use network.peer.port.
+ ///
+ [Obsolete("Replaced by `network.peer.port`")]
+ public const string AttributeNetSockPeerPort = "net.sock.peer.port";
+
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ [Obsolete("Replaced by `network.transport`")]
+ public const string AttributeNetTransport = "net.transport";
+
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ public static class NetSockFamilyValues
+ {
+ ///
+ /// IPv4 address.
+ ///
+ public const string Inet = "inet";
+
+ ///
+ /// IPv6 address.
+ ///
+ public const string Inet6 = "inet6";
+
+ ///
+ /// Unix domain socket path.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ public static class NetTransportValues
+ {
+ ///
+ /// ip_tcp.
+ ///
+ public const string IpTcp = "ip_tcp";
+
+ ///
+ /// ip_udp.
+ ///
+ public const string IpUdp = "ip_udp";
+
+ ///
+ /// Named or anonymous pipe.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// In-process communication.
+ ///
+ public const string Inproc = "inproc";
+
+ ///
+ /// Something else (non IP-based).
+ ///
+ public const string Other = "other";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs b/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
new file mode 100644
index 0000000000..cec861628e
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
@@ -0,0 +1,306 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class NetworkAttributes
+ {
+ ///
+ /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
+ ///
+ public const string AttributeNetworkCarrierIcc = "network.carrier.icc";
+
+ ///
+ /// The mobile carrier country code.
+ ///
+ public const string AttributeNetworkCarrierMcc = "network.carrier.mcc";
+
+ ///
+ /// The mobile carrier network code.
+ ///
+ public const string AttributeNetworkCarrierMnc = "network.carrier.mnc";
+
+ ///
+ /// The name of the mobile carrier.
+ ///
+ public const string AttributeNetworkCarrierName = "network.carrier.name";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public const string AttributeNetworkConnectionSubtype = "network.connection.subtype";
+
+ ///
+ /// The internet connection type.
+ ///
+ public const string AttributeNetworkConnectionType = "network.connection.type";
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public const string AttributeNetworkIoDirection = "network.io.direction";
+
+ ///
+ /// Local address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkLocalAddress = "network.local.address";
+
+ ///
+ /// Local port number of the network connection.
+ ///
+ public const string AttributeNetworkLocalPort = "network.local.port";
+
+ ///
+ /// Peer address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkPeerAddress = "network.peer.address";
+
+ ///
+ /// Peer port number of the network connection.
+ ///
+ public const string AttributeNetworkPeerPort = "network.peer.port";
+
+ ///
+ /// OSI application layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkProtocolName = "network.protocol.name";
+
+ ///
+ /// The actual version of the protocol used for network communication.
+ ///
+ ///
+ /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set.
+ ///
+ public const string AttributeNetworkProtocolVersion = "network.protocol.version";
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since
+ /// a port number is ambiguous without knowing the transport. For example
+ /// different processes could be listening on TCP port 12345 and UDP port 12345.
+ ///
+ public const string AttributeNetworkTransport = "network.transport";
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkType = "network.type";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public static class NetworkConnectionSubtypeValues
+ {
+ ///
+ /// GPRS.
+ ///
+ public const string Gprs = "gprs";
+
+ ///
+ /// EDGE.
+ ///
+ public const string Edge = "edge";
+
+ ///
+ /// UMTS.
+ ///
+ public const string Umts = "umts";
+
+ ///
+ /// CDMA.
+ ///
+ public const string Cdma = "cdma";
+
+ ///
+ /// EVDO Rel. 0.
+ ///
+ public const string Evdo0 = "evdo_0";
+
+ ///
+ /// EVDO Rev. A.
+ ///
+ public const string EvdoA = "evdo_a";
+
+ ///
+ /// CDMA2000 1XRTT.
+ ///
+ public const string Cdma20001xrtt = "cdma2000_1xrtt";
+
+ ///
+ /// HSDPA.
+ ///
+ public const string Hsdpa = "hsdpa";
+
+ ///
+ /// HSUPA.
+ ///
+ public const string Hsupa = "hsupa";
+
+ ///
+ /// HSPA.
+ ///
+ public const string Hspa = "hspa";
+
+ ///
+ /// IDEN.
+ ///
+ public const string Iden = "iden";
+
+ ///
+ /// EVDO Rev. B.
+ ///
+ public const string EvdoB = "evdo_b";
+
+ ///
+ /// LTE.
+ ///
+ public const string Lte = "lte";
+
+ ///
+ /// EHRPD.
+ ///
+ public const string Ehrpd = "ehrpd";
+
+ ///
+ /// HSPAP.
+ ///
+ public const string Hspap = "hspap";
+
+ ///
+ /// GSM.
+ ///
+ public const string Gsm = "gsm";
+
+ ///
+ /// TD-SCDMA.
+ ///
+ public const string TdScdma = "td_scdma";
+
+ ///
+ /// IWLAN.
+ ///
+ public const string Iwlan = "iwlan";
+
+ ///
+ /// 5G NR (New Radio).
+ ///
+ public const string Nr = "nr";
+
+ ///
+ /// 5G NRNSA (New Radio Non-Standalone).
+ ///
+ public const string Nrnsa = "nrnsa";
+
+ ///
+ /// LTE CA.
+ ///
+ public const string LteCa = "lte_ca";
+ }
+
+ ///
+ /// The internet connection type.
+ ///
+ public static class NetworkConnectionTypeValues
+ {
+ ///
+ /// wifi.
+ ///
+ public const string Wifi = "wifi";
+
+ ///
+ /// wired.
+ ///
+ public const string Wired = "wired";
+
+ ///
+ /// cell.
+ ///
+ public const string Cell = "cell";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+ }
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public static class NetworkIoDirectionValues
+ {
+ ///
+ /// transmit.
+ ///
+ public const string Transmit = "transmit";
+
+ ///
+ /// receive.
+ ///
+ public const string Receive = "receive";
+ }
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ public static class NetworkTransportValues
+ {
+ ///
+ /// TCP.
+ ///
+ public const string Tcp = "tcp";
+
+ ///
+ /// UDP.
+ ///
+ public const string Udp = "udp";
+
+ ///
+ /// Named or anonymous pipe.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// Unix domain socket.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ public static class NetworkTypeValues
+ {
+ ///
+ /// IPv4.
+ ///
+ public const string Ipv4 = "ipv4";
+
+ ///
+ /// IPv6.
+ ///
+ public const string Ipv6 = "ipv6";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/OciAttributes.cs b/src/OpenTelemetry.SemanticConventions/OciAttributes.cs
new file mode 100644
index 0000000000..7e80c298c5
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OciAttributes.cs
@@ -0,0 +1,26 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class OciAttributes
+ {
+ ///
+ /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
+ ///
+ ///
+ /// Follows OCI Image Manifest Specification, and specifically the Digest property.
+ /// An example can be found in Example Image Manifest.
+ ///
+ public const string AttributeOciManifestDigest = "oci.manifest.digest";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs b/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
new file mode 100644
index 0000000000..21aa19dbc5
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
@@ -0,0 +1,41 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class OpentracingAttributes
+ {
+ ///
+ /// Parent-child Reference type.
+ ///
+ ///
+ /// The causal relationship between a child Span and a parent Span.
+ ///
+ public const string AttributeOpentracingRefType = "opentracing.ref_type";
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ public static class OpentracingRefTypeValues
+ {
+ ///
+ /// The parent Span depends on the child Span in some capacity.
+ ///
+ public const string ChildOf = "child_of";
+
+ ///
+ /// The parent Span doesn't depend in any way on the result of the child Span.
+ ///
+ public const string FollowsFrom = "follows_from";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/OsAttributes.cs b/src/OpenTelemetry.SemanticConventions/OsAttributes.cs
new file mode 100644
index 0000000000..10bb12aa0a
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OsAttributes.cs
@@ -0,0 +1,103 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class OsAttributes
+ {
+ ///
+ /// Unique identifier for a particular build or compilation of the operating system.
+ ///
+ public const string AttributeOsBuildId = "os.build_id";
+
+ ///
+ /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+ ///
+ public const string AttributeOsDescription = "os.description";
+
+ ///
+ /// Human readable operating system name.
+ ///
+ public const string AttributeOsName = "os.name";
+
+ ///
+ /// The operating system type.
+ ///
+ public const string AttributeOsType = "os.type";
+
+ ///
+ /// The version string of the operating system as defined in Version Attributes.
+ ///
+ public const string AttributeOsVersion = "os.version";
+
+ ///
+ /// The operating system type.
+ ///
+ public static class OsTypeValues
+ {
+ ///
+ /// Microsoft Windows.
+ ///
+ public const string Windows = "windows";
+
+ ///
+ /// Linux.
+ ///
+ public const string Linux = "linux";
+
+ ///
+ /// Apple Darwin.
+ ///
+ public const string Darwin = "darwin";
+
+ ///
+ /// FreeBSD.
+ ///
+ public const string Freebsd = "freebsd";
+
+ ///
+ /// NetBSD.
+ ///
+ public const string Netbsd = "netbsd";
+
+ ///
+ /// OpenBSD.
+ ///
+ public const string Openbsd = "openbsd";
+
+ ///
+ /// DragonFly BSD.
+ ///
+ public const string Dragonflybsd = "dragonflybsd";
+
+ ///
+ /// HP-UX (Hewlett Packard Unix).
+ ///
+ public const string Hpux = "hpux";
+
+ ///
+ /// AIX (Advanced Interactive eXecutive).
+ ///
+ public const string Aix = "aix";
+
+ ///
+ /// SunOS, Oracle Solaris.
+ ///
+ public const string Solaris = "solaris";
+
+ ///
+ /// IBM z/OS.
+ ///
+ public const string ZOs = "z_os";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs b/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
new file mode 100644
index 0000000000..20b4e0d7a8
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
@@ -0,0 +1,65 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class OtelAttributes
+ {
+ ///
+ /// None.
+ ///
+ [Obsolete("use the `otel.scope.name` attribute")]
+ public const string AttributeOtelLibraryName = "otel.library.name";
+
+ ///
+ /// None.
+ ///
+ [Obsolete("use the `otel.scope.version` attribute")]
+ public const string AttributeOtelLibraryVersion = "otel.library.version";
+
+ ///
+ /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
+ ///
+ public const string AttributeOtelScopeName = "otel.scope.name";
+
+ ///
+ /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
+ ///
+ public const string AttributeOtelScopeVersion = "otel.scope.version";
+
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public const string AttributeOtelStatusCode = "otel.status_code";
+
+ ///
+ /// Description of the Status if it has a value, otherwise not set.
+ ///
+ public const string AttributeOtelStatusDescription = "otel.status_description";
+
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public static class OtelStatusCodeValues
+ {
+ ///
+ /// The operation has been validated by an Application developer or Operator to have completed successfully.
+ ///
+ public const string Ok = "OK";
+
+ ///
+ /// The operation contains an error.
+ ///
+ public const string Error = "ERROR";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs b/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
new file mode 100644
index 0000000000..206e6cf0e8
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
@@ -0,0 +1,38 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class OtherAttributes
+ {
+ ///
+ /// The state of a connection in the pool.
+ ///
+ public const string AttributeState = "state";
+
+ ///
+ /// The state of a connection in the pool.
+ ///
+ public static class StateValues
+ {
+ ///
+ /// idle.
+ ///
+ public const string Idle = "idle";
+
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs b/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
new file mode 100644
index 0000000000..cc0d346df3
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
@@ -0,0 +1,22 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class PeerAttributes
+ {
+ ///
+ /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
+ ///
+ public const string AttributePeerService = "peer.service";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs b/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
new file mode 100644
index 0000000000..b6f50344f5
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
@@ -0,0 +1,22 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class PoolAttributes
+ {
+ ///
+ /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port.
+ ///
+ public const string AttributePoolName = "pool.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs b/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
new file mode 100644
index 0000000000..b7566a76f7
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
@@ -0,0 +1,140 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ProcessAttributes
+ {
+ ///
+ /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
+ ///
+ public const string AttributeProcessCommand = "process.command";
+
+ ///
+ /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
+ ///
+ public const string AttributeProcessCommandArgs = "process.command_args";
+
+ ///
+ /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
+ ///
+ public const string AttributeProcessCommandLine = "process.command_line";
+
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public const string AttributeProcessContextSwitchType = "process.context_switch_type";
+
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeProcessCpuState = "process.cpu.state";
+
+ ///
+ /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutableName = "process.executable.name";
+
+ ///
+ /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutablePath = "process.executable.path";
+
+ ///
+ /// The username of the user that owns the process.
+ ///
+ public const string AttributeProcessOwner = "process.owner";
+
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public const string AttributeProcessPagingFaultType = "process.paging.fault_type";
+
+ ///
+ /// Parent Process identifier (PPID).
+ ///
+ public const string AttributeProcessParentPid = "process.parent_pid";
+
+ ///
+ /// Process identifier (PID).
+ ///
+ public const string AttributeProcessPid = "process.pid";
+
+ ///
+ /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
+ ///
+ public const string AttributeProcessRuntimeDescription = "process.runtime.description";
+
+ ///
+ /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
+ ///
+ public const string AttributeProcessRuntimeName = "process.runtime.name";
+
+ ///
+ /// The version of the runtime of this process, as returned by the runtime without modification.
+ ///
+ public const string AttributeProcessRuntimeVersion = "process.runtime.version";
+
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public static class ProcessContextSwitchTypeValues
+ {
+ ///
+ /// voluntary.
+ ///
+ public const string Voluntary = "voluntary";
+
+ ///
+ /// involuntary.
+ ///
+ public const string Involuntary = "involuntary";
+ }
+
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class ProcessCpuStateValues
+ {
+ ///
+ /// system.
+ ///
+ public const string System = "system";
+
+ ///
+ /// user.
+ ///
+ public const string User = "user";
+
+ ///
+ /// wait.
+ ///
+ public const string Wait = "wait";
+ }
+
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public static class ProcessPagingFaultTypeValues
+ {
+ ///
+ /// major.
+ ///
+ public const string Major = "major";
+
+ ///
+ /// minor.
+ ///
+ public const string Minor = "minor";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs b/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
new file mode 100644
index 0000000000..8188513e41
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
@@ -0,0 +1,308 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class RpcAttributes
+ {
+ ///
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
+
+ ///
+ /// Connect request metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata";
+
+ ///
+ /// Connect response metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata";
+
+ ///
+ /// gRPC request metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata";
+
+ ///
+ /// gRPC response metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata";
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
+
+ ///
+ /// error.code property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
+
+ ///
+ /// error.message property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
+
+ ///
+ /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
+ ///
+ public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
+
+ ///
+ /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted.
+ ///
+ public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
+
+ ///
+ /// The name of the (logical) method being called, must be equal to the $method part in the span name.
+ ///
+ ///
+ /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
+ ///
+ public const string AttributeRpcMethod = "rpc.method";
+
+ ///
+ /// The full (logical) name of the service being called, including its package name, if applicable.
+ ///
+ ///
+ /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
+ ///
+ public const string AttributeRpcService = "rpc.service";
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeRpcSystem = "rpc.system";
+
+ ///
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public static class RpcConnectRpcErrorCodeValues
+ {
+ ///
+ /// cancelled.
+ ///
+ public const string Cancelled = "cancelled";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+
+ ///
+ /// invalid_argument.
+ ///
+ public const string InvalidArgument = "invalid_argument";
+
+ ///
+ /// deadline_exceeded.
+ ///
+ public const string DeadlineExceeded = "deadline_exceeded";
+
+ ///
+ /// not_found.
+ ///
+ public const string NotFound = "not_found";
+
+ ///
+ /// already_exists.
+ ///
+ public const string AlreadyExists = "already_exists";
+
+ ///
+ /// permission_denied.
+ ///
+ public const string PermissionDenied = "permission_denied";
+
+ ///
+ /// resource_exhausted.
+ ///
+ public const string ResourceExhausted = "resource_exhausted";
+
+ ///
+ /// failed_precondition.
+ ///
+ public const string FailedPrecondition = "failed_precondition";
+
+ ///
+ /// aborted.
+ ///
+ public const string Aborted = "aborted";
+
+ ///
+ /// out_of_range.
+ ///
+ public const string OutOfRange = "out_of_range";
+
+ ///
+ /// unimplemented.
+ ///
+ public const string Unimplemented = "unimplemented";
+
+ ///
+ /// internal.
+ ///
+ public const string Internal = "internal";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// data_loss.
+ ///
+ public const string DataLoss = "data_loss";
+
+ ///
+ /// unauthenticated.
+ ///
+ public const string Unauthenticated = "unauthenticated";
+ }
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public static class RpcGrpcStatusCodeValues
+ {
+ ///
+ /// OK.
+ ///
+ public const int Ok = 0;
+
+ ///
+ /// CANCELLED.
+ ///
+ public const int Cancelled = 1;
+
+ ///
+ /// UNKNOWN.
+ ///
+ public const int Unknown = 2;
+
+ ///
+ /// INVALID_ARGUMENT.
+ ///
+ public const int InvalidArgument = 3;
+
+ ///
+ /// DEADLINE_EXCEEDED.
+ ///
+ public const int DeadlineExceeded = 4;
+
+ ///
+ /// NOT_FOUND.
+ ///
+ public const int NotFound = 5;
+
+ ///
+ /// ALREADY_EXISTS.
+ ///
+ public const int AlreadyExists = 6;
+
+ ///
+ /// PERMISSION_DENIED.
+ ///
+ public const int PermissionDenied = 7;
+
+ ///
+ /// RESOURCE_EXHAUSTED.
+ ///
+ public const int ResourceExhausted = 8;
+
+ ///
+ /// FAILED_PRECONDITION.
+ ///
+ public const int FailedPrecondition = 9;
+
+ ///
+ /// ABORTED.
+ ///
+ public const int Aborted = 10;
+
+ ///
+ /// OUT_OF_RANGE.
+ ///
+ public const int OutOfRange = 11;
+
+ ///
+ /// UNIMPLEMENTED.
+ ///
+ public const int Unimplemented = 12;
+
+ ///
+ /// INTERNAL.
+ ///
+ public const int Internal = 13;
+
+ ///
+ /// UNAVAILABLE.
+ ///
+ public const int Unavailable = 14;
+
+ ///
+ /// DATA_LOSS.
+ ///
+ public const int DataLoss = 15;
+
+ ///
+ /// UNAUTHENTICATED.
+ ///
+ public const int Unauthenticated = 16;
+ }
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public static class RpcSystemValues
+ {
+ ///
+ /// gRPC.
+ ///
+ public const string Grpc = "grpc";
+
+ ///
+ /// Java RMI.
+ ///
+ public const string JavaRmi = "java_rmi";
+
+ ///
+ /// .NET WCF.
+ ///
+ public const string DotnetWcf = "dotnet_wcf";
+
+ ///
+ /// Apache Dubbo.
+ ///
+ public const string ApacheDubbo = "apache_dubbo";
+
+ ///
+ /// Connect RPC.
+ ///
+ public const string ConnectRpc = "connect_rpc";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs b/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
deleted file mode 100644
index 6b96809427..0000000000
--- a/src/OpenTelemetry.SemanticConventions/SemanticConventionsAttributes.cs
+++ /dev/null
@@ -1,4990 +0,0 @@
-// Copyright The OpenTelemetry Authors
-// SPDX-License-Identifier: Apache-2.0
-
-// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
-
-#pragma warning disable CS1570 // XML comment has badly formed XML
-
-using System;
-
-namespace OpenTelemetry.SemanticConventions
-{
- ///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
- ///
- ///
- /// Schema and specification version: https://opentelemetry.io/schemas/1.25.0.
- ///
- public static class SemanticConventionsAttributes
- {
- ///
- /// Identifies the class / type of event.
- ///
- ///
- /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes.
- ///
- public const string AttributeEventName = "event.name";
-
- ///
- /// A unique identifier for the Log Record.
- ///
- ///
- /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
- /// The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed.
- ///
- public const string AttributeLogRecordUid = "log.record.uid";
-
- ///
- /// The stream associated with the log. See below for a list of well-known values.
- ///
- public const string AttributeLogIostream = "log.iostream";
-
- ///
- /// The basename of the file.
- ///
- public const string AttributeLogFileName = "log.file.name";
-
- ///
- /// The basename of the file, with symlinks resolved.
- ///
- public const string AttributeLogFileNameResolved = "log.file.name_resolved";
-
- ///
- /// The full path to the file.
- ///
- public const string AttributeLogFilePath = "log.file.path";
-
- ///
- /// The full path to the file, with symlinks resolved.
- ///
- public const string AttributeLogFilePathResolved = "log.file.path_resolved";
-
- ///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
- ///
- ///
- /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived.
- ///
- public const string AttributeIosState = "ios.state";
-
- ///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
- ///
- ///
- /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived.
- ///
- public const string AttributeAndroidState = "android.state";
-
- ///
- /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port.
- ///
- public const string AttributePoolName = "pool.name";
-
- ///
- /// The state of a connection in the pool.
- ///
- public const string AttributeState = "state";
-
- ///
- /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
- ///
- public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
-
- ///
- /// Full type name of the IExceptionHandler implementation that handled the exception.
- ///
- public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
-
- ///
- /// Rate limiting policy name.
- ///
- public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
-
- ///
- /// Flag indicating if request was handled by the application pipeline.
- ///
- public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
-
- ///
- /// A value that indicates whether the matched route is a fallback route.
- ///
- public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
-
- ///
- /// Match result - success or failure.
- ///
- public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
-
- ///
- /// ASP.NET Core exception middleware handling result.
- ///
- public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
-
- ///
- /// SignalR HTTP connection closure status.
- ///
- public const string AttributeSignalrConnectionStatus = "signalr.connection.status";
-
- ///
- /// SignalR transport type.
- ///
- public const string AttributeSignalrTransport = "signalr.transport";
-
- ///
- /// Name of the buffer pool.
- ///
- ///
- /// Pool names are generally obtained via BufferPoolMXBean#getName().
- ///
- public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name";
-
- ///
- /// Name of the memory pool.
- ///
- ///
- /// Pool names are generally obtained via MemoryPoolMXBean#getName().
- ///
- public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name";
-
- ///
- /// The type of memory.
- ///
- public const string AttributeJvmMemoryType = "jvm.memory.type";
-
- ///
- /// Name of the garbage collector action.
- ///
- ///
- /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction().
- ///
- public const string AttributeJvmGcAction = "jvm.gc.action";
-
- ///
- /// Name of the garbage collector.
- ///
- ///
- /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName().
- ///
- public const string AttributeJvmGcName = "jvm.gc.name";
-
- ///
- /// Whether the thread is daemon or not.
- ///
- public const string AttributeJvmThreadDaemon = "jvm.thread.daemon";
-
- ///
- /// State of the thread.
- ///
- public const string AttributeJvmThreadState = "jvm.thread.state";
-
- ///
- /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
- ///
- public const string AttributeProcessCpuState = "process.cpu.state";
-
- ///
- /// Specifies whether the context switches for this data point were voluntary or involuntary.
- ///
- public const string AttributeProcessContextSwitchType = "process.context_switch_type";
-
- ///
- /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
- ///
- public const string AttributeProcessPagingFaultType = "process.paging.fault_type";
-
- ///
- /// The device identifier.
- ///
- public const string AttributeSystemDevice = "system.device";
-
- ///
- /// The logical CPU number [0..n-1].
- ///
- public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number";
-
- ///
- /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
- ///
- public const string AttributeSystemCpuState = "system.cpu.state";
-
- ///
- /// The memory state.
- ///
- public const string AttributeSystemMemoryState = "system.memory.state";
-
- ///
- /// The paging access direction.
- ///
- public const string AttributeSystemPagingDirection = "system.paging.direction";
-
- ///
- /// The memory paging state.
- ///
- public const string AttributeSystemPagingState = "system.paging.state";
-
- ///
- /// The memory paging type.
- ///
- public const string AttributeSystemPagingType = "system.paging.type";
-
- ///
- /// The filesystem mode.
- ///
- public const string AttributeSystemFilesystemMode = "system.filesystem.mode";
-
- ///
- /// The filesystem mount path.
- ///
- public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint";
-
- ///
- /// The filesystem state.
- ///
- public const string AttributeSystemFilesystemState = "system.filesystem.state";
-
- ///
- /// The filesystem type.
- ///
- public const string AttributeSystemFilesystemType = "system.filesystem.type";
-
- ///
- /// A stateless protocol MUST NOT set this attribute.
- ///
- public const string AttributeSystemNetworkState = "system.network.state";
-
- ///
- /// The process state, e.g., Linux Process State Codes.
- ///
- public const string AttributeSystemProcessStatus = "system.process.status";
-
- ///
- /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here.
- ///
- public const string AttributeAndroidOsApiLevel = "android.os.api_level";
-
- ///
- /// The JSON-serialized value of each item in the AttributeDefinitions request field.
- ///
- public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
-
- ///
- /// The value of the AttributesToGet request parameter.
- ///
- public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
-
- ///
- /// The value of the ConsistentRead request parameter.
- ///
- public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
-
- ///
- /// The JSON-serialized value of each item in the ConsumedCapacity response field.
- ///
- public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
-
- ///
- /// The value of the Count response parameter.
- ///
- public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
-
- ///
- /// The value of the ExclusiveStartTableName request parameter.
- ///
- public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
-
- ///
- /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
-
- ///
- /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
-
- ///
- /// The value of the IndexName request parameter.
- ///
- public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
-
- ///
- /// The JSON-serialized value of the ItemCollectionMetrics response field.
- ///
- public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
-
- ///
- /// The value of the Limit request parameter.
- ///
- public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
-
- ///
- /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
-
- ///
- /// The value of the ProjectionExpression request parameter.
- ///
- public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
-
- ///
- /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
-
- ///
- /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
-
- ///
- /// The value of the ScanIndexForward request parameter.
- ///
- public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
-
- ///
- /// The value of the ScannedCount response parameter.
- ///
- public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
-
- ///
- /// The value of the Segment request parameter.
- ///
- public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
-
- ///
- /// The value of the Select request parameter.
- ///
- public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
-
- ///
- /// The number of items in the TableNames response parameter.
- ///
- public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
-
- ///
- /// The keys in the RequestItems object field.
- ///
- public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
-
- ///
- /// The value of the TotalSegments request parameter.
- ///
- public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
-
- ///
- /// Array of brand name and version separated by a space.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
- ///
- public const string AttributeBrowserBrands = "browser.brands";
-
- ///
- /// Preferred language of the user using the browser.
- ///
- ///
- /// This value is intended to be taken from the Navigator API navigator.language.
- ///
- public const string AttributeBrowserLanguage = "browser.language";
-
- ///
- /// A boolean that is true if the browser is running on a mobile device.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset.
- ///
- public const string AttributeBrowserMobile = "browser.mobile";
-
- ///
- /// The platform on which the browser is running.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
- /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
- ///
- public const string AttributeBrowserPlatform = "browser.platform";
-
- ///
- /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeClientAddress = "client.address";
-
- ///
- /// Client port number.
- ///
- ///
- /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeClientPort = "client.port";
-
- ///
- /// The cloud account ID the resource is assigned to.
- ///
- public const string AttributeCloudAccountId = "cloud.account.id";
-
- ///
- /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
- ///
- ///
- /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
- ///
- public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
-
- ///
- /// The cloud platform in use.
- ///
- ///
- /// The prefix of the service SHOULD match the one specified in cloud.provider.
- ///
- public const string AttributeCloudPlatform = "cloud.platform";
-
- ///
- /// Name of the cloud provider.
- ///
- public const string AttributeCloudProvider = "cloud.provider";
-
- ///
- /// The geographical region the resource is running.
- ///
- ///
- /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
- ///
- public const string AttributeCloudRegion = "cloud.region";
-
- ///
- /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
- ///
- ///
- /// On some cloud providers, it may not be possible to determine the full ID at startup,
- /// so it may be necessary to set cloud.resource_id as a span attribute instead.The exact value to use for cloud.resource_id depends on the cloud provider.
- /// The following well-known definitions MUST be used if you set this attribute and they apply:
- /// - AWS Lambda: The function ARN.
- /// Take care not to use the "invoked ARN" directly but replace any
- /// alias suffix
- /// with the resolved function version, as the same runtime instance may be invokable with
- /// multiple different aliases.
- /// - GCP: The URI of the resource
- /// - Azure: The Fully Qualified Resource ID of the invoked function,
- /// not the function app, having the form
- /// /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>.
- /// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
- /// a TracerProvider
- ///
.
- ///
- public const string AttributeCloudResourceId = "cloud.resource_id";
-
- ///
- /// The event_id uniquely identifies the event.
- ///
- public const string AttributeCloudeventsEventId = "cloudevents.event_id";
-
- ///
- /// The source identifies the context in which an event happened.
- ///
- public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
-
- ///
- /// The version of the CloudEvents specification which the event uses.
- ///
- public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
-
- ///
- /// The subject of the event in the context of the event producer (identified by source).
- ///
- public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
-
- ///
- /// The event_type contains a value describing the type of event related to the originating occurrence.
- ///
- public const string AttributeCloudeventsEventType = "cloudevents.event_type";
-
- ///
- /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
- ///
- public const string AttributeCodeColumn = "code.column";
-
- ///
- /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
- ///
- public const string AttributeCodeFilepath = "code.filepath";
-
- ///
- /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
- ///
- public const string AttributeCodeFunction = "code.function";
-
- ///
- /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
- ///
- public const string AttributeCodeLineno = "code.lineno";
-
- ///
- /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
- ///
- public const string AttributeCodeNamespace = "code.namespace";
-
- ///
- /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- ///
- public const string AttributeCodeStacktrace = "code.stacktrace";
-
- ///
- /// The command used to run the container (i.e. the command name).
- ///
- ///
- /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
- ///
- public const string AttributeContainerCommand = "container.command";
-
- ///
- /// All the command arguments (including the command/executable itself) run by the container. [2].
- ///
- public const string AttributeContainerCommandArgs = "container.command_args";
-
- ///
- /// The full command run by the container as a single string representing the full command. [2].
- ///
- public const string AttributeContainerCommandLine = "container.command_line";
-
- ///
- /// The CPU state for this data point.
- ///
- public const string AttributeContainerCpuState = "container.cpu.state";
-
- ///
- /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
- ///
- public const string AttributeContainerId = "container.id";
-
- ///
- /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
- ///
- ///
- /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint.
- /// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625".
- /// The ID is assinged by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes.
- ///
- public const string AttributeContainerImageId = "container.image.id";
-
- ///
- /// Name of the image the container was built on.
- ///
- public const string AttributeContainerImageName = "container.image.name";
-
- ///
- /// Repo digests of the container image as provided by the container runtime.
- ///
- ///
- /// Docker and CRI report those under the RepoDigests field.
- ///
- public const string AttributeContainerImageRepoDigests = "container.image.repo_digests";
-
- ///
- /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:.
- ///
- public const string AttributeContainerImageTags = "container.image.tags";
-
- ///
- /// Container name used by container runtime.
- ///
- public const string AttributeContainerName = "container.name";
-
- ///
- /// The container runtime managing this container.
- ///
- public const string AttributeContainerRuntime = "container.runtime";
-
- ///
- /// The consistency level of the query. Based on consistency values from CQL.
- ///
- public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
-
- ///
- /// The data center of the coordinating node for a query.
- ///
- public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
-
- ///
- /// The ID of the coordinating node for a query.
- ///
- public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
-
- ///
- /// Whether or not the query is idempotent.
- ///
- public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
-
- ///
- /// The fetch size used for paging, i.e. how many rows will be returned at once.
- ///
- public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
-
- ///
- /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
- ///
- public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
-
- ///
- /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable).
- ///
- ///
- /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbCassandraTable = "db.cassandra.table";
-
- ///
- /// Unique Cosmos client instance id.
- ///
- public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id";
-
- ///
- /// Cosmos client connection mode.
- ///
- public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
-
- ///
- /// Cosmos DB container name.
- ///
- public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container";
-
- ///
- /// CosmosDB Operation Type.
- ///
- public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type";
-
- ///
- /// RU consumed for that operation.
- ///
- public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
-
- ///
- /// Request payload size in bytes.
- ///
- public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
-
- ///
- /// Cosmos DB status code.
- ///
- public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code";
-
- ///
- /// Cosmos DB sub status code.
- ///
- public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
-
- ///
- /// Represents the identifier of an Elasticsearch cluster.
- ///
- public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name";
-
- ///
- /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname.
- ///
- public const string AttributeDbInstanceId = "db.instance.id";
-
- ///
- /// The MongoDB collection being accessed within the database stated in db.name.
- ///
- public const string AttributeDbMongodbCollection = "db.mongodb.collection";
-
- ///
- /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
- ///
- ///
- /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard).
- ///
- public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
-
- ///
- /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
- ///
- ///
- /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
- ///
- public const string AttributeDbName = "db.name";
-
- ///
- /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
- ///
- ///
- /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
- ///
- public const string AttributeDbOperation = "db.operation";
-
- ///
- /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
- ///
- public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
-
- ///
- /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
- ///
- ///
- /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbSqlTable = "db.sql.table";
-
- ///
- /// The database statement being executed.
- ///
- public const string AttributeDbStatement = "db.statement";
-
- ///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- ///
- public const string AttributeDbSystem = "db.system";
-
- ///
- /// Username for accessing the database.
- ///
- public const string AttributeDbUser = "db.user";
-
- ///
- /// Name of the deployment environment (aka deployment tier).
- ///
- ///
- /// deployment.environment does not affect the uniqueness constraints defined through
- /// the service.namespace, service.name and service.instance.id resource attributes.
- /// This implies that resources carrying the following attribute combinations MUST be
- /// considered to be identifying the same service:
- /// - service.name=frontend, deployment.environment=production
- /// - service.name=frontend, deployment.environment=staging
- ///
.
- ///
- public const string AttributeDeploymentEnvironment = "deployment.environment";
-
- ///
- /// Deprecated, use server.address, server.port attributes instead.
- ///
- [Obsolete("Replaced by `server.address` and `server.port`.")]
- public const string AttributeDbConnectionString = "db.connection_string";
-
- ///
- /// Deprecated, use db.instance.id instead.
- ///
- [Obsolete("Replaced by `db.instance.id`")]
- public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name";
-
- ///
- /// Removed, no replacement at this time.
- ///
- [Obsolete("Removed as not used")]
- public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
-
- ///
- /// Deprecated, use network.protocol.name instead.
- ///
- [Obsolete("Replaced by `network.protocol.name`")]
- public const string AttributeHttpFlavor = "http.flavor";
-
- ///
- /// Deprecated, use http.request.method instead.
- ///
- [Obsolete("Replaced by `http.request.method`")]
- public const string AttributeHttpMethod = "http.method";
-
- ///
- /// Deprecated, use http.request.header.content-length instead.
- ///
- [Obsolete("Replaced by `http.request.header.content-length`")]
- public const string AttributeHttpRequestContentLength = "http.request_content_length";
-
- ///
- /// Deprecated, use http.response.header.content-length instead.
- ///
- [Obsolete("Replaced by `http.response.header.content-length`")]
- public const string AttributeHttpResponseContentLength = "http.response_content_length";
-
- ///
- /// Deprecated, use url.scheme instead.
- ///
- [Obsolete("Replaced by `url.scheme` instead")]
- public const string AttributeHttpScheme = "http.scheme";
-
- ///
- /// Deprecated, use http.response.status_code instead.
- ///
- [Obsolete("Replaced by `http.response.status_code`")]
- public const string AttributeHttpStatusCode = "http.status_code";
-
- ///
- /// Deprecated, use url.path and url.query instead.
- ///
- [Obsolete("Split to `url.path` and `url.query")]
- public const string AttributeHttpTarget = "http.target";
-
- ///
- /// Deprecated, use url.full instead.
- ///
- [Obsolete("Replaced by `url.full`")]
- public const string AttributeHttpUrl = "http.url";
-
- ///
- /// Deprecated, use user_agent.original instead.
- ///
- [Obsolete("Replaced by `user_agent.original`")]
- public const string AttributeHttpUserAgent = "http.user_agent";
-
- ///
- /// "Deprecated, use messaging.destination.partition.id instead.".
- ///
- [Obsolete("Replaced by `messaging.destination.partition.id`")]
- public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition";
-
- ///
- /// Deprecated, use server.address.
- ///
- [Obsolete("Replaced by `server.address`")]
- public const string AttributeNetHostName = "net.host.name";
-
- ///
- /// Deprecated, use server.port.
- ///
- [Obsolete("Replaced by `server.port`")]
- public const string AttributeNetHostPort = "net.host.port";
-
- ///
- /// Deprecated, use server.address on client spans and client.address on server spans.
- ///
- [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")]
- public const string AttributeNetPeerName = "net.peer.name";
-
- ///
- /// Deprecated, use server.port on client spans and client.port on server spans.
- ///
- [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")]
- public const string AttributeNetPeerPort = "net.peer.port";
-
- ///
- /// Deprecated, use network.protocol.name.
- ///
- [Obsolete("Replaced by `network.protocol.name`")]
- public const string AttributeNetProtocolName = "net.protocol.name";
-
- ///
- /// Deprecated, use network.protocol.version.
- ///
- [Obsolete("Replaced by `network.protocol.version`")]
- public const string AttributeNetProtocolVersion = "net.protocol.version";
-
- ///
- /// Deprecated, use network.transport and network.type.
- ///
- [Obsolete("Split to `network.transport` and `network.type`")]
- public const string AttributeNetSockFamily = "net.sock.family";
-
- ///
- /// Deprecated, use network.local.address.
- ///
- [Obsolete("Replaced by `network.local.address`")]
- public const string AttributeNetSockHostAddr = "net.sock.host.addr";
-
- ///
- /// Deprecated, use network.local.port.
- ///
- [Obsolete("Replaced by `network.local.port`")]
- public const string AttributeNetSockHostPort = "net.sock.host.port";
-
- ///
- /// Deprecated, use network.peer.address.
- ///
- [Obsolete("Replaced by `network.peer.address`")]
- public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
-
- ///
- /// Deprecated, no replacement at this time.
- ///
- [Obsolete("Removed")]
- public const string AttributeNetSockPeerName = "net.sock.peer.name";
-
- ///
- /// Deprecated, use network.peer.port.
- ///
- [Obsolete("Replaced by `network.peer.port`")]
- public const string AttributeNetSockPeerPort = "net.sock.peer.port";
-
- ///
- /// Deprecated, use network.transport.
- ///
- [Obsolete("Replaced by `network.transport`")]
- public const string AttributeNetTransport = "net.transport";
-
- ///
- /// Deprecated, use system.process.status instead.
- ///
- [Obsolete("Replaced by `system.process.status`")]
- public const string AttributeSystemProcessesStatus = "system.processes.status";
-
- ///
- /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeDestinationAddress = "destination.address";
-
- ///
- /// Destination port number.
- ///
- public const string AttributeDestinationPort = "destination.port";
-
- ///
- /// A unique identifier representing the device.
- ///
- ///
- /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
- ///
- public const string AttributeDeviceId = "device.id";
-
- ///
- /// The name of the device manufacturer.
- ///
- ///
- /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
- ///
- public const string AttributeDeviceManufacturer = "device.manufacturer";
-
- ///
- /// The model identifier for the device.
- ///
- ///
- /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device.
- ///
- public const string AttributeDeviceModelIdentifier = "device.model.identifier";
-
- ///
- /// The marketing name for the device model.
- ///
- ///
- /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative.
- ///
- public const string AttributeDeviceModelName = "device.model.name";
-
- ///
- /// The disk IO operation direction.
- ///
- public const string AttributeDiskIoDirection = "disk.io.direction";
-
- ///
- /// The name being queried.
- ///
- ///
- /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.
- ///
- public const string AttributeDnsQuestionName = "dns.question.name";
-
- ///
- /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
- ///
- public const string AttributeEnduserId = "enduser.id";
-
- ///
- /// Actual/assumed role the client is making the request under extracted from token or application security context.
- ///
- public const string AttributeEnduserRole = "enduser.role";
-
- ///
- /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
- ///
- public const string AttributeEnduserScope = "enduser.scope";
-
- ///
- /// Describes a class of error the operation ended with.
- ///
- ///
- /// The error.type SHOULD be predictable and SHOULD have low cardinality.
- /// Instrumentations SHOULD document the list of errors they report.The cardinality of error.type within one instrumentation library SHOULD be low.
- /// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications
- /// should be prepared for error.type to have high cardinality at query time when no
- /// additional filters are applied.If the operation has completed successfully, instrumentations SHOULD NOT set error.type.If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes),
- /// it's RECOMMENDED to:
- /// - Use a domain-specific attribute
- /// - Set error.type to capture all errors, regardless of whether they are defined within the domain-specific set or not
- ///
.
- ///
- public const string AttributeErrorType = "error.type";
-
- ///
- /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
- ///
- ///
- /// An exception is considered to have escaped (or left) the scope of a span,
- /// if that span is ended while the exception is still logically "in flight".
- /// This may be actually "in flight" in some languages (e.g. if the exception
- /// is passed to a Context manager's __exit__ method in Python) but will
- /// usually be caught at the point of recording the exception in most languages.It is usually not possible to determine at the point where an exception is thrown
- /// whether it will escape the scope of a span.
- /// However, it is trivial to know that an exception
- /// will escape, if one checks for an active exception just before ending the span,
- /// as done in the example for recording span exceptions.It follows that an exception may still escape the scope of the span
- /// even if the exception.escaped attribute was not set or set to false,
- /// since the event might have been recorded at a time where it was not
- /// clear whether the exception will escape.
- ///
- public const string AttributeExceptionEscaped = "exception.escaped";
-
- ///
- /// The exception message.
- ///
- public const string AttributeExceptionMessage = "exception.message";
-
- ///
- /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- ///
- public const string AttributeExceptionStacktrace = "exception.stacktrace";
-
- ///
- /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
- ///
- public const string AttributeExceptionType = "exception.type";
-
- ///
- /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
- ///
- public const string AttributeFaasColdstart = "faas.coldstart";
-
- ///
- /// A string containing the schedule period as Cron Expression.
- ///
- public const string AttributeFaasCron = "faas.cron";
-
- ///
- /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
- ///
- public const string AttributeFaasDocumentCollection = "faas.document.collection";
-
- ///
- /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
- ///
- public const string AttributeFaasDocumentName = "faas.document.name";
-
- ///
- /// Describes the type of the operation that was performed on the data.
- ///
- public const string AttributeFaasDocumentOperation = "faas.document.operation";
-
- ///
- /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasDocumentTime = "faas.document.time";
-
- ///
- /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
- ///
- ///
- ///
- /// - AWS Lambda: Use the (full) log stream name
- ///
.
- ///
- public const string AttributeFaasInstance = "faas.instance";
-
- ///
- /// The invocation ID of the current function invocation.
- ///
- public const string AttributeFaasInvocationId = "faas.invocation_id";
-
- ///
- /// The name of the invoked function.
- ///
- ///
- /// SHOULD be equal to the faas.name resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedName = "faas.invoked_name";
-
- ///
- /// The cloud provider of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
-
- ///
- /// The cloud region of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedRegion = "faas.invoked_region";
-
- ///
- /// The amount of memory available to the serverless function converted to Bytes.
- ///
- ///
- /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576).
- ///
- public const string AttributeFaasMaxMemory = "faas.max_memory";
-
- ///
- /// The name of the single function that this runtime instance executes.
- ///
- ///
- /// This is the name of the function as configured/deployed on the FaaS
- /// platform and is usually different from the name of the callback
- /// function (which may be stored in the
- /// code.namespace/code.function
- /// span attributes).For some cloud providers, the above definition is ambiguous. The following
- /// definition of function name MUST be used for this attribute
- /// (and consequently the span name) for the listed cloud providers/products:
- /// - Azure: The full name <FUNCAPP>/<FUNC>, i.e., function app name
- /// followed by a forward slash followed by the function name (this form
- /// can also be seen in the resource JSON for the function).
- /// This means that a span attribute MUST be used, as an Azure function
- /// app can host multiple functions that would usually share
- /// a TracerProvider (see also the cloud.resource_id attribute)
- ///
.
- ///
- public const string AttributeFaasName = "faas.name";
-
- ///
- /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasTime = "faas.time";
-
- ///
- /// Type of the trigger which caused this function invocation.
- ///
- public const string AttributeFaasTrigger = "faas.trigger";
-
- ///
- /// The immutable version of the function being executed.
- ///
- ///
- /// Depending on the cloud provider and platform, use:
- /// - AWS Lambda: The function version
- /// (an integer represented as a decimal string).
- /// - Google Cloud Run (Services): The revision
- /// (i.e., the function name plus the revision suffix).
- /// - Google Cloud Functions: The value of the
- /// K_REVISION environment variable.
- /// - Azure Functions: Not applicable. Do not set this attribute
- ///
.
- ///
- public const string AttributeFaasVersion = "faas.version";
-
- ///
- /// The unique identifier of the feature flag.
- ///
- public const string AttributeFeatureFlagKey = "feature_flag.key";
-
- ///
- /// The name of the service provider that performs the flag evaluation.
- ///
- public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name";
-
- ///
- /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
- ///
- ///
- /// A semantic identifier, commonly referred to as a variant, provides a means
- /// for referring to a value without including the value itself. This can
- /// provide additional context for understanding the meaning behind a value.
- /// For example, the variant red maybe be used for the value #c05543.A stringified version of the value can be used in situations where a
- /// semantic identifier is unavailable. String representation of the value
- /// should be determined by the implementer.
- ///
- public const string AttributeFeatureFlagVariant = "feature_flag.variant";
-
- ///
- /// Directory where the file is located. It should include the drive letter, when appropriate.
- ///
- public const string AttributeFileDirectory = "file.directory";
-
- ///
- /// File extension, excluding the leading dot.
- ///
- ///
- /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
- ///
- public const string AttributeFileExtension = "file.extension";
-
- ///
- /// Name of the file including the extension, without the directory.
- ///
- public const string AttributeFileName = "file.name";
-
- ///
- /// Full path to the file, including the file name. It should include the drive letter, when appropriate.
- ///
- public const string AttributeFilePath = "file.path";
-
- ///
- /// File size in bytes.
- ///
- public const string AttributeFileSize = "file.size";
-
- ///
- /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable.
- ///
- public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
-
- ///
- /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable.
- ///
- public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
-
- ///
- /// The hostname of a GCE instance. This is the full value of the default or custom hostname.
- ///
- public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname";
-
- ///
- /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name.
- ///
- public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name";
-
- ///
- /// The CPU architecture the host system is running on.
- ///
- public const string AttributeHostArch = "host.arch";
-
- ///
- /// The amount of level 2 memory cache available to the processor (in Bytes).
- ///
- public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size";
-
- ///
- /// Family or generation of the CPU.
- ///
- public const string AttributeHostCpuFamily = "host.cpu.family";
-
- ///
- /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family.
- ///
- public const string AttributeHostCpuModelId = "host.cpu.model.id";
-
- ///
- /// Model designation of the processor.
- ///
- public const string AttributeHostCpuModelName = "host.cpu.model.name";
-
- ///
- /// Stepping or core revisions.
- ///
- public const string AttributeHostCpuStepping = "host.cpu.stepping";
-
- ///
- /// Processor manufacturer identifier. A maximum 12-character string.
- ///
- ///
- /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
- ///
- public const string AttributeHostCpuVendorId = "host.cpu.vendor.id";
-
- ///
- /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system.
- ///
- public const string AttributeHostId = "host.id";
-
- ///
- /// VM image ID or host OS image ID. For Cloud, this value is from the provider.
- ///
- public const string AttributeHostImageId = "host.image.id";
-
- ///
- /// Name of the VM image or OS install the host was instantiated from.
- ///
- public const string AttributeHostImageName = "host.image.name";
-
- ///
- /// The version string of the VM image or host OS as defined in Version Attributes.
- ///
- public const string AttributeHostImageVersion = "host.image.version";
-
- ///
- /// Available IP addresses of the host, excluding loopback interfaces.
- ///
- ///
- /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format.
- ///
- public const string AttributeHostIp = "host.ip";
-
- ///
- /// Available MAC addresses of the host, excluding loopback interfaces.
- ///
- ///
- /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.
- ///
- public const string AttributeHostMac = "host.mac";
-
- ///
- /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
- ///
- public const string AttributeHostName = "host.name";
-
- ///
- /// Type of host. For Cloud, this must be the machine type.
- ///
- public const string AttributeHostType = "host.type";
-
- ///
- /// State of the HTTP connection in the HTTP connection pool.
- ///
- public const string AttributeHttpConnectionState = "http.connection.state";
-
- ///
- /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- ///
- public const string AttributeHttpRequestBodySize = "http.request.body.size";
-
- ///
- /// HTTP request method.
- ///
- ///
- /// HTTP request method value SHOULD be "known" to the instrumentation.
- /// By default, this convention defines "known" methods as the ones listed in RFC9110
- /// and the PATCH method defined in RFC5789.If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER.If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override
- /// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named
- /// OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods
- /// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults).HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly.
- /// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent.
- /// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value.
- ///
- public const string AttributeHttpRequestMethod = "http.request.method";
-
- ///
- /// Original HTTP method sent by the client in the request line.
- ///
- public const string AttributeHttpRequestMethodOriginal = "http.request.method_original";
-
- ///
- /// The ordinal number of request resending attempt (for any reason, including redirects).
- ///
- ///
- /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).
- ///
- public const string AttributeHttpRequestResendCount = "http.request.resend_count";
-
- ///
- /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any.
- ///
- public const string AttributeHttpRequestSize = "http.request.size";
-
- ///
- /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- ///
- public const string AttributeHttpResponseBodySize = "http.response.body.size";
-
- ///
- /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
- ///
- public const string AttributeHttpResponseSize = "http.response.size";
-
- ///
- /// HTTP response status code.
- ///
- public const string AttributeHttpResponseStatusCode = "http.response.status_code";
-
- ///
- /// The matched route, that is, the path template in the format used by the respective server framework.
- ///
- ///
- /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
- /// SHOULD include the application root if there is one.
- ///
- public const string AttributeHttpRoute = "http.route";
-
- ///
- /// The name of the cluster.
- ///
- public const string AttributeK8sClusterName = "k8s.cluster.name";
-
- ///
- /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace.
- ///
- ///
- /// K8s doesn't have support for obtaining a cluster ID. If this is ever
- /// added, we will recommend collecting the k8s.cluster.uid through the
- /// official APIs. In the meantime, we are able to use the uid of the
- /// kube-system namespace as a proxy for cluster ID. Read on for the
- /// rationale.Every object created in a K8s cluster is assigned a distinct UID. The
- /// kube-system namespace is used by Kubernetes itself and will exist
- /// for the lifetime of the cluster. Using the uid of the kube-system
- /// namespace is a reasonable proxy for the K8s ClusterID as it will only
- /// change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are
- /// UUIDs as standardized by
- /// ISO/IEC 9834-8 and ITU-T X.667.
- /// Which states:> If generated according to one of the mechanisms defined in Rec.
- /// ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be
- /// different from all other UUIDs generated before 3603 A.D., or is
- /// extremely likely to be different (depending on the mechanism chosen).Therefore, UIDs between clusters should be extremely unlikely to
- /// conflict.
- ///
- public const string AttributeK8sClusterUid = "k8s.cluster.uid";
-
- ///
- /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
- ///
- public const string AttributeK8sContainerName = "k8s.container.name";
-
- ///
- /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
- ///
- public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
-
- ///
- /// The name of the CronJob.
- ///
- public const string AttributeK8sCronjobName = "k8s.cronjob.name";
-
- ///
- /// The UID of the CronJob.
- ///
- public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
-
- ///
- /// The name of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
-
- ///
- /// The UID of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
-
- ///
- /// The name of the Deployment.
- ///
- public const string AttributeK8sDeploymentName = "k8s.deployment.name";
-
- ///
- /// The UID of the Deployment.
- ///
- public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
-
- ///
- /// The name of the Job.
- ///
- public const string AttributeK8sJobName = "k8s.job.name";
-
- ///
- /// The UID of the Job.
- ///
- public const string AttributeK8sJobUid = "k8s.job.uid";
-
- ///
- /// The name of the namespace that the pod is running in.
- ///
- public const string AttributeK8sNamespaceName = "k8s.namespace.name";
-
- ///
- /// The name of the Node.
- ///
- public const string AttributeK8sNodeName = "k8s.node.name";
-
- ///
- /// The UID of the Node.
- ///
- public const string AttributeK8sNodeUid = "k8s.node.uid";
-
- ///
- /// The name of the Pod.
- ///
- public const string AttributeK8sPodName = "k8s.pod.name";
-
- ///
- /// The UID of the Pod.
- ///
- public const string AttributeK8sPodUid = "k8s.pod.uid";
-
- ///
- /// The name of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
-
- ///
- /// The UID of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
-
- ///
- /// The name of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
-
- ///
- /// The UID of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
-
- ///
- /// The number of messages sent, received, or processed in the scope of the batching operation.
- ///
- ///
- /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs.
- ///
- public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count";
-
- ///
- /// A unique identifier for the client that consumes or produces a message.
- ///
- public const string AttributeMessagingClientId = "messaging.client_id";
-
- ///
- /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
- ///
- public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous";
-
- ///
- /// The message destination name.
- ///
- ///
- /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
- /// the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
- ///
- public const string AttributeMessagingDestinationName = "messaging.destination.name";
-
- ///
- /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.
- ///
- public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id";
-
- ///
- /// Low cardinality representation of the messaging destination name.
- ///
- ///
- /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
- ///
- public const string AttributeMessagingDestinationTemplate = "messaging.destination.template";
-
- ///
- /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
- ///
- public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary";
-
- ///
- /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).
- ///
- public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous";
-
- ///
- /// The name of the original destination the message was published to.
- ///
- ///
- /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If
- /// the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker.
- ///
- public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name";
-
- ///
- /// The name of the consumer group the event consumer is associated with.
- ///
- public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
-
- ///
- /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
- ///
- public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
-
- ///
- /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
- ///
- public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
-
- ///
- /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
- ///
- public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group";
-
- ///
- /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.
- ///
- ///
- /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
- ///
- public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key";
-
- ///
- /// The offset of a record in the corresponding Kafka partition.
- ///
- public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset";
-
- ///
- /// A boolean that is true if the message is a tombstone.
- ///
- public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
-
- ///
- /// The size of the message body in bytes.
- ///
- ///
- /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
- /// body size should be used.
- ///
- public const string AttributeMessagingMessageBodySize = "messaging.message.body.size";
-
- ///
- /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
- ///
- public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id";
-
- ///
- /// The size of the message body and metadata in bytes.
- ///
- ///
- /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
- /// size should be used.
- ///
- public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
-
- ///
- /// A value used by the messaging system as an identifier for the message, represented as a string.
- ///
- public const string AttributeMessagingMessageId = "messaging.message.id";
-
- ///
- /// A string identifying the kind of messaging operation.
- ///
- ///
- /// If a custom value is used, it MUST be of low cardinality.
- ///
- public const string AttributeMessagingOperation = "messaging.operation";
-
- ///
- /// RabbitMQ message routing key.
- ///
- public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
-
- ///
- /// RabbitMQ message delivery tag.
- ///
- public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
-
- ///
- /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
- ///
- public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
-
- ///
- /// Model of message consumption. This only applies to consumer spans.
- ///
- public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
-
- ///
- /// The delay time level for delay message, which determines the message delay time.
- ///
- public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
-
- ///
- /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
- ///
- public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
-
- ///
- /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
- ///
- public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
-
- ///
- /// Key(s) of message, another way to mark message besides message id.
- ///
- public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
-
- ///
- /// The secondary classifier of message besides topic.
- ///
- public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
-
- ///
- /// Type of message.
- ///
- public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
-
- ///
- /// Namespace of RocketMQ resources, resources in different namespaces are individual.
- ///
- public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
-
- ///
- /// The name of the subscription in the topic messages are received from.
- ///
- public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
-
- ///
- /// Describes the settlement type.
- ///
- public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status";
-
- ///
- /// Number of deliveries that have been attempted for this message.
- ///
- public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
-
- ///
- /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
- ///
- public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
-
- ///
- /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
- ///
- public const string AttributeMessagingSystem = "messaging.system";
-
- ///
- /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
- ///
- public const string AttributeNetworkCarrierIcc = "network.carrier.icc";
-
- ///
- /// The mobile carrier country code.
- ///
- public const string AttributeNetworkCarrierMcc = "network.carrier.mcc";
-
- ///
- /// The mobile carrier network code.
- ///
- public const string AttributeNetworkCarrierMnc = "network.carrier.mnc";
-
- ///
- /// The name of the mobile carrier.
- ///
- public const string AttributeNetworkCarrierName = "network.carrier.name";
-
- ///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- ///
- public const string AttributeNetworkConnectionSubtype = "network.connection.subtype";
-
- ///
- /// The internet connection type.
- ///
- public const string AttributeNetworkConnectionType = "network.connection.type";
-
- ///
- /// The network IO operation direction.
- ///
- public const string AttributeNetworkIoDirection = "network.io.direction";
-
- ///
- /// Local address of the network connection - IP address or Unix domain socket name.
- ///
- public const string AttributeNetworkLocalAddress = "network.local.address";
-
- ///
- /// Local port number of the network connection.
- ///
- public const string AttributeNetworkLocalPort = "network.local.port";
-
- ///
- /// Peer address of the network connection - IP address or Unix domain socket name.
- ///
- public const string AttributeNetworkPeerAddress = "network.peer.address";
-
- ///
- /// Peer port number of the network connection.
- ///
- public const string AttributeNetworkPeerPort = "network.peer.port";
-
- ///
- /// OSI application layer or non-OSI equivalent.
- ///
- ///
- /// The value SHOULD be normalized to lowercase.
- ///
- public const string AttributeNetworkProtocolName = "network.protocol.name";
-
- ///
- /// The actual version of the protocol used for network communication.
- ///
- ///
- /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set.
- ///
- public const string AttributeNetworkProtocolVersion = "network.protocol.version";
-
- ///
- /// OSI transport layer or inter-process communication method.
- ///
- ///
- /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since
- /// a port number is ambiguous without knowing the transport. For example
- /// different processes could be listening on TCP port 12345 and UDP port 12345.
- ///
- public const string AttributeNetworkTransport = "network.transport";
-
- ///
- /// OSI network layer or non-OSI equivalent.
- ///
- ///
- /// The value SHOULD be normalized to lowercase.
- ///
- public const string AttributeNetworkType = "network.type";
-
- ///
- /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
- ///
- ///
- /// Follows OCI Image Manifest Specification, and specifically the Digest property.
- /// An example can be found in Example Image Manifest.
- ///
- public const string AttributeOciManifestDigest = "oci.manifest.digest";
-
- ///
- /// Unique identifier for a particular build or compilation of the operating system.
- ///
- public const string AttributeOsBuildId = "os.build_id";
-
- ///
- /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
- ///
- public const string AttributeOsDescription = "os.description";
-
- ///
- /// Human readable operating system name.
- ///
- public const string AttributeOsName = "os.name";
-
- ///
- /// The operating system type.
- ///
- public const string AttributeOsType = "os.type";
-
- ///
- /// The version string of the operating system as defined in Version Attributes.
- ///
- public const string AttributeOsVersion = "os.version";
-
- ///
- /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
- ///
- public const string AttributePeerService = "peer.service";
-
- ///
- /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
- ///
- public const string AttributeProcessCommand = "process.command";
-
- ///
- /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
- ///
- public const string AttributeProcessCommandArgs = "process.command_args";
-
- ///
- /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
- ///
- public const string AttributeProcessCommandLine = "process.command_line";
-
- ///
- /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutableName = "process.executable.name";
-
- ///
- /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutablePath = "process.executable.path";
-
- ///
- /// The username of the user that owns the process.
- ///
- public const string AttributeProcessOwner = "process.owner";
-
- ///
- /// Parent Process identifier (PPID).
- ///
- public const string AttributeProcessParentPid = "process.parent_pid";
-
- ///
- /// Process identifier (PID).
- ///
- public const string AttributeProcessPid = "process.pid";
-
- ///
- /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
- ///
- public const string AttributeProcessRuntimeDescription = "process.runtime.description";
-
- ///
- /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
- ///
- public const string AttributeProcessRuntimeName = "process.runtime.name";
-
- ///
- /// The version of the runtime of this process, as returned by the runtime without modification.
- ///
- public const string AttributeProcessRuntimeVersion = "process.runtime.version";
-
- ///
- /// The error codes of the Connect request. Error codes are always string values.
- ///
- public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
-
- ///
- /// The numeric status code of the gRPC request.
- ///
- public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
-
- ///
- /// error.code property of response if it is an error response.
- ///
- public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
-
- ///
- /// error.message property of response if it is an error response.
- ///
- public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
-
- ///
- /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
- ///
- public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
-
- ///
- /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted.
- ///
- public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
-
- ///
- /// The name of the (logical) method being called, must be equal to the $method part in the span name.
- ///
- ///
- /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
- ///
- public const string AttributeRpcMethod = "rpc.method";
-
- ///
- /// The full (logical) name of the service being called, including its package name, if applicable.
- ///
- ///
- /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
- ///
- public const string AttributeRpcService = "rpc.service";
-
- ///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
- ///
- public const string AttributeRpcSystem = "rpc.system";
-
- ///
- /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeServerAddress = "server.address";
-
- ///
- /// Server port number.
- ///
- ///
- /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeServerPort = "server.port";
-
- ///
- /// The string ID of the service instance.
- ///
- ///
- /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words
- /// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to
- /// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled
- /// service).Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC
- /// 4122 UUID, but are free to use an inherent unique ID as the source of
- /// this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and
- /// SHOULD use the following UUID as the namespace: 4d63009a-8d0f-11ee-aad7-4c796ed8e320.UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is
- /// needed. Similar to what can be seen in the man page for the
- /// /etc/machine-id file, the underlying
- /// data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it
- /// or not via another resource attribute.For applications running behind an application server (like unicorn), we do not recommend using one identifier
- /// for all processes participating in the application. Instead, it's recommended each division (e.g. a worker
- /// thread in unicorn) to have its own instance.id.It's not recommended for a Collector to set service.instance.id if it can't unambiguously determine the
- /// service instance that is generating that telemetry. For instance, creating an UUID based on pod.name will
- /// likely be wrong, as the Collector might not know from which container within that pod the telemetry originated.
- /// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance
- /// for that telemetry. This is typically the case for scraping receivers, as they know the target address and
- /// port.
- ///
- public const string AttributeServiceInstanceId = "service.instance.id";
-
- ///
- /// Logical name of the service.
- ///
- ///
- /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
- ///
- public const string AttributeServiceName = "service.name";
-
- ///
- /// A namespace for service.name.
- ///
- ///
- /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
- ///
- public const string AttributeServiceNamespace = "service.namespace";
-
- ///
- /// The version string of the service API or implementation. The format is not defined by these conventions.
- ///
- public const string AttributeServiceVersion = "service.version";
-
- ///
- /// A unique id to identify a session.
- ///
- public const string AttributeSessionId = "session.id";
-
- ///
- /// The previous session.id for this user, when known.
- ///
- public const string AttributeSessionPreviousId = "session.previous_id";
-
- ///
- /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeSourceAddress = "source.address";
-
- ///
- /// Source port number.
- ///
- public const string AttributeSourcePort = "source.port";
-
- ///
- /// The language of the telemetry SDK.
- ///
- public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
-
- ///
- /// The name of the telemetry SDK as defined above.
- ///
- ///
- /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry.
- /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the
- /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point
- /// or another suitable identifier depending on the language.
- /// The identifier opentelemetry is reserved and MUST NOT be used in this case.
- /// All custom identifiers SHOULD be stable across different versions of an implementation.
- ///
- public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
-
- ///
- /// The version string of the telemetry SDK.
- ///
- public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
-
- ///
- /// The name of the auto instrumentation agent or distribution, if used.
- ///
- ///
- /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to
- /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.
- ///
- public const string AttributeTelemetryDistroName = "telemetry.distro.name";
-
- ///
- /// The version string of the auto instrumentation agent or distribution, if used.
- ///
- public const string AttributeTelemetryDistroVersion = "telemetry.distro.version";
-
- ///
- /// Current "managed" thread ID (as opposed to OS thread ID).
- ///
- public const string AttributeThreadId = "thread.id";
-
- ///
- /// Current thread name.
- ///
- public const string AttributeThreadName = "thread.name";
-
- ///
- /// String indicating the cipher used during the current connection.
- ///
- ///
- /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits.
- ///
- public const string AttributeTlsCipher = "tls.cipher";
-
- ///
- /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list.
- ///
- public const string AttributeTlsClientCertificate = "tls.client.certificate";
-
- ///
- /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain.
- ///
- public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain";
-
- ///
- /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5";
-
- ///
- /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1";
-
- ///
- /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256";
-
- ///
- /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsClientIssuer = "tls.client.issuer";
-
- ///
- /// A hash that identifies clients based on how they perform an SSL/TLS handshake.
- ///
- public const string AttributeTlsClientJa3 = "tls.client.ja3";
-
- ///
- /// Date/Time indicating when client certificate is no longer considered valid.
- ///
- public const string AttributeTlsClientNotAfter = "tls.client.not_after";
-
- ///
- /// Date/Time indicating when client certificate is first considered valid.
- ///
- public const string AttributeTlsClientNotBefore = "tls.client.not_before";
-
- ///
- /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.
- ///
- public const string AttributeTlsClientServerName = "tls.client.server_name";
-
- ///
- /// Distinguished name of subject of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsClientSubject = "tls.client.subject";
-
- ///
- /// Array of ciphers offered by the client during the client hello.
- ///
- public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers";
-
- ///
- /// String indicating the curve used for the given cipher, when applicable.
- ///
- public const string AttributeTlsCurve = "tls.curve";
-
- ///
- /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.
- ///
- public const string AttributeTlsEstablished = "tls.established";
-
- ///
- /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case.
- ///
- public const string AttributeTlsNextProtocol = "tls.next_protocol";
-
- ///
- /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
- ///
- public const string AttributeTlsProtocolName = "tls.protocol.name";
-
- ///
- /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version.
- ///
- public const string AttributeTlsProtocolVersion = "tls.protocol.version";
-
- ///
- /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
- ///
- public const string AttributeTlsResumed = "tls.resumed";
-
- ///
- /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list.
- ///
- public const string AttributeTlsServerCertificate = "tls.server.certificate";
-
- ///
- /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain.
- ///
- public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain";
-
- ///
- /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5";
-
- ///
- /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1";
-
- ///
- /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256";
-
- ///
- /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsServerIssuer = "tls.server.issuer";
-
- ///
- /// A hash that identifies servers based on how they perform an SSL/TLS handshake.
- ///
- public const string AttributeTlsServerJa3s = "tls.server.ja3s";
-
- ///
- /// Date/Time indicating when server certificate is no longer considered valid.
- ///
- public const string AttributeTlsServerNotAfter = "tls.server.not_after";
-
- ///
- /// Date/Time indicating when server certificate is first considered valid.
- ///
- public const string AttributeTlsServerNotBefore = "tls.server.not_before";
-
- ///
- /// Distinguished name of subject of the x.509 certificate presented by the server.
- ///
- public const string AttributeTlsServerSubject = "tls.server.subject";
-
- ///
- /// Domain extracted from the url.full, such as "opentelemetry.io".
- ///
- ///
- /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field.
- ///
- public const string AttributeUrlDomain = "url.domain";
-
- ///
- /// The file extension extracted from the url.full, excluding the leading dot.
- ///
- ///
- /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz.
- ///
- public const string AttributeUrlExtension = "url.extension";
-
- ///
- /// The URI fragment component.
- ///
- public const string AttributeUrlFragment = "url.fragment";
-
- ///
- /// Absolute URL describing a network resource according to RFC3986.
- ///
- ///
- /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.
- /// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute's value SHOULD be https://REDACTED:REDACTED@www.example.com/.
- /// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlFull = "url.full";
-
- ///
- /// Unmodified original URL as seen in the event source.
- ///
- ///
- /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
- /// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same.
- ///
- public const string AttributeUrlOriginal = "url.original";
-
- ///
- /// The URI path component.
- ///
- ///
- /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlPath = "url.path";
-
- ///
- /// Port extracted from the url.full.
- ///
- public const string AttributeUrlPort = "url.port";
-
- ///
- /// The URI query component.
- ///
- ///
- /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlQuery = "url.query";
-
- ///
- /// The highest registered url domain, stripped of the subdomain.
- ///
- ///
- /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk.
- ///
- public const string AttributeUrlRegisteredDomain = "url.registered_domain";
-
- ///
- /// The URI scheme component identifying the used protocol.
- ///
- public const string AttributeUrlScheme = "url.scheme";
-
- ///
- /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.
- ///
- ///
- /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period.
- ///
- public const string AttributeUrlSubdomain = "url.subdomain";
-
- ///
- /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com.
- ///
- ///
- /// This value can be determined precisely with the public suffix list.
- ///
- public const string AttributeUrlTopLevelDomain = "url.top_level_domain";
-
- ///
- /// Name of the user-agent extracted from original. Usually refers to the browser's name.
- ///
- ///
- /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version.
- ///
- public const string AttributeUserAgentName = "user_agent.name";
-
- ///
- /// Value of the HTTP User-Agent header sent by the client.
- ///
- public const string AttributeUserAgentOriginal = "user_agent.original";
-
- ///
- /// Version of the user-agent extracted from original. Usually refers to the browser's version.
- ///
- ///
- /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name.
- ///
- public const string AttributeUserAgentVersion = "user_agent.version";
-
- ///
- /// The ID of a running ECS task. The ID MUST be extracted from task.arn.
- ///
- public const string AttributeAwsEcsTaskId = "aws.ecs.task.id";
-
- ///
- /// The ARN of an ECS cluster.
- ///
- public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
-
- ///
- /// The Amazon Resource Name (ARN) of an ECS container instance.
- ///
- public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
-
- ///
- /// The launch type for an ECS task.
- ///
- public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
-
- ///
- /// The ARN of a running ECS task.
- ///
- public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
-
- ///
- /// The family name of the ECS task definition used to create the ECS task.
- ///
- public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
-
- ///
- /// The revision for the task definition used to create the ECS task.
- ///
- public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
-
- ///
- /// The ARN of an EKS cluster.
- ///
- public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
-
- ///
- /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
- ///
- ///
- /// See the log group ARN format documentation.
- ///
- public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
-
- ///
- /// The name(s) of the AWS log group(s) an application is writing to.
- ///
- ///
- /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
- ///
- public const string AttributeAwsLogGroupNames = "aws.log.group.names";
-
- ///
- /// The ARN(s) of the AWS log stream(s).
- ///
- ///
- /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
- ///
- public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
-
- ///
- /// The name(s) of the AWS log stream(s) an application is writing to.
- ///
- public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
-
- ///
- /// Unique identifier for the application.
- ///
- public const string AttributeHerokuAppId = "heroku.app.id";
-
- ///
- /// Commit hash for the current release.
- ///
- public const string AttributeHerokuReleaseCommit = "heroku.release.commit";
-
- ///
- /// Time and date the release was created.
- ///
- public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
-
- ///
- /// The name of the web engine.
- ///
- public const string AttributeWebengineName = "webengine.name";
-
- ///
- /// Additional description of the web engine (e.g. detailed version and edition information).
- ///
- public const string AttributeWebengineDescription = "webengine.description";
-
- ///
- /// The version of the web engine.
- ///
- public const string AttributeWebengineVersion = "webengine.version";
-
- ///
- /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
- ///
- public const string AttributeOtelScopeName = "otel.scope.name";
-
- ///
- /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
- ///
- public const string AttributeOtelScopeVersion = "otel.scope.version";
-
- ///
- /// None.
- ///
- [Obsolete("use the `otel.scope.name` attribute")]
- public const string AttributeOtelLibraryName = "otel.library.name";
-
- ///
- /// None.
- ///
- [Obsolete("use the `otel.scope.version` attribute")]
- public const string AttributeOtelLibraryVersion = "otel.library.version";
-
- ///
- /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
- ///
- ///
- /// This may be different from cloud.resource_id if an alias is involved.
- ///
- public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
-
- ///
- /// Parent-child Reference type.
- ///
- ///
- /// The causal relationship between a child Span and a parent Span.
- ///
- public const string AttributeOpentracingRefType = "opentracing.ref_type";
-
- ///
- /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
- ///
- public const string AttributeOtelStatusCode = "otel.status_code";
-
- ///
- /// Description of the Status if it has a value, otherwise not set.
- ///
- public const string AttributeOtelStatusDescription = "otel.status_description";
-
- ///
- /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.
- ///
- public const string AttributeAwsRequestId = "aws.request_id";
-
- ///
- /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations.
- ///
- ///
- /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
- /// This applies to almost all S3 operations except list-buckets.
- ///
- public const string AttributeAwsS3Bucket = "aws.s3.bucket";
-
- ///
- /// The source object (in the form bucket/key) for the copy operation.
- ///
- ///
- /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter
- /// of the copy-object operation within the S3 API.
- /// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3CopySource = "aws.s3.copy_source";
-
- ///
- /// The delete request container that specifies the objects to be deleted.
- ///
- ///
- /// The delete attribute is only applicable to the delete-object operation.
- /// The delete attribute corresponds to the --delete parameter of the
- /// delete-objects operation within the S3 API.
- ///
- public const string AttributeAwsS3Delete = "aws.s3.delete";
-
- ///
- /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.
- ///
- ///
- /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
- /// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3Key = "aws.s3.key";
-
- ///
- /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
- ///
- ///
- /// The part_number attribute is only applicable to the upload-part
- /// and upload-part-copy operations.
- /// The part_number attribute corresponds to the --part-number parameter of the
- /// upload-part operation within the S3 API.
- ///
- public const string AttributeAwsS3PartNumber = "aws.s3.part_number";
-
- ///
- /// Upload ID that identifies the multipart upload.
- ///
- ///
- /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter
- /// of the S3 API multipart operations.
- /// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3UploadId = "aws.s3.upload_id";
-
- ///
- /// The GraphQL document being executed.
- ///
- ///
- /// The value may be sanitized to exclude sensitive information.
- ///
- public const string AttributeGraphqlDocument = "graphql.document";
-
- ///
- /// The name of the operation being executed.
- ///
- public const string AttributeGraphqlOperationName = "graphql.operation.name";
-
- ///
- /// The type of the operation being executed.
- ///
- public const string AttributeGraphqlOperationType = "graphql.operation.type";
-
- ///
- /// Compressed size of the message in bytes.
- ///
- public const string AttributeMessageCompressedSize = "message.compressed_size";
-
- ///
- /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
- ///
- ///
- /// This way we guarantee that the values will be consistent between different implementations.
- ///
- public const string AttributeMessageId = "message.id";
-
- ///
- /// Whether this is a received or sent message.
- ///
- public const string AttributeMessageType = "message.type";
-
- ///
- /// Uncompressed size of the message in bytes.
- ///
- public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
-
- ///
- /// Event name for 'log-feature_flag'.
- ///
- public static readonly string EventLogFeatureFlag = "feature_flag";
-
- ///
- /// Event name for 'ios.lifecycle.events'.
- ///
- public static readonly string EventIosLifecycleEvents = "device.app.lifecycle";
-
- ///
- /// Event name for 'android.lifecycle.events'.
- ///
- public static readonly string EventAndroidLifecycleEvents = "device.app.lifecycle";
-
- ///
- /// Event name for 'feature_flag'.
- ///
- public static readonly string EventFeatureFlag = "feature_flag";
-
- ///
- /// Event name for 'rpc.message'.
- ///
- public static readonly string EventRpcMessage = "message";
-
- ///
- /// Event name for 'trace-exception'.
- ///
- public static readonly string EventTraceException = "exception";
-
- ///
- /// The stream associated with the log. See below for a list of well-known values.
- ///
- public static class LogIostreamValues
- {
- ///
- /// Logs from stdout stream.
- ///
- public const string Stdout = "stdout";
-
- ///
- /// Events from stderr stream.
- ///
- public const string Stderr = "stderr";
- }
-
- ///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
- ///
- public static class IosStateValues
- {
- ///
- /// The app has become active. Associated with UIKit notification applicationDidBecomeActive.
- ///
- public const string Active = "active";
-
- ///
- /// The app is now inactive. Associated with UIKit notification applicationWillResignActive.
- ///
- public const string Inactive = "inactive";
-
- ///
- /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground.
- ///
- public const string Background = "background";
-
- ///
- /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground.
- ///
- public const string Foreground = "foreground";
-
- ///
- /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate.
- ///
- public const string Terminate = "terminate";
- }
-
- ///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
- ///
- public static class AndroidStateValues
- {
- ///
- /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
- ///
- public const string Created = "created";
-
- ///
- /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
- ///
- public const string Background = "background";
-
- ///
- /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
- ///
- public const string Foreground = "foreground";
- }
-
- ///
- /// The state of a connection in the pool.
- ///
- public static class StateValues
- {
- ///
- /// idle.
- ///
- public const string Idle = "idle";
-
- ///
- /// used.
- ///
- public const string Used = "used";
- }
-
- ///
- /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
- ///
- public static class AspnetcoreRateLimitingResultValues
- {
- ///
- /// Lease was acquired.
- ///
- public const string Acquired = "acquired";
-
- ///
- /// Lease request was rejected by the endpoint limiter.
- ///
- public const string EndpointLimiter = "endpoint_limiter";
-
- ///
- /// Lease request was rejected by the global limiter.
- ///
- public const string GlobalLimiter = "global_limiter";
-
- ///
- /// Lease request was canceled.
- ///
- public const string RequestCanceled = "request_canceled";
- }
-
- ///
- /// Match result - success or failure.
- ///
- public static class AspnetcoreRoutingMatchStatusValues
- {
- ///
- /// Match succeeded.
- ///
- public const string Success = "success";
-
- ///
- /// Match failed.
- ///
- public const string Failure = "failure";
- }
-
- ///
- /// ASP.NET Core exception middleware handling result.
- ///
- public static class AspnetcoreDiagnosticsExceptionResultValues
- {
- ///
- /// Exception was handled by the exception handling middleware.
- ///
- public const string Handled = "handled";
-
- ///
- /// Exception was not handled by the exception handling middleware.
- ///
- public const string Unhandled = "unhandled";
-
- ///
- /// Exception handling was skipped because the response had started.
- ///
- public const string Skipped = "skipped";
-
- ///
- /// Exception handling didn't run because the request was aborted.
- ///
- public const string Aborted = "aborted";
- }
-
- ///
- /// SignalR HTTP connection closure status.
- ///
- public static class SignalrConnectionStatusValues
- {
- ///
- /// The connection was closed normally.
- ///
- public const string NormalClosure = "normal_closure";
-
- ///
- /// The connection was closed due to a timeout.
- ///
- public const string Timeout = "timeout";
-
- ///
- /// The connection was closed because the app is shutting down.
- ///
- public const string AppShutdown = "app_shutdown";
- }
-
- ///
- /// SignalR transport type.
- ///
- public static class SignalrTransportValues
- {
- ///
- /// ServerSentEvents protocol.
- ///
- public const string ServerSentEvents = "server_sent_events";
-
- ///
- /// LongPolling protocol.
- ///
- public const string LongPolling = "long_polling";
-
- ///
- /// WebSockets protocol.
- ///
- public const string WebSockets = "web_sockets";
- }
-
- ///
- /// The type of memory.
- ///
- public static class JvmMemoryTypeValues
- {
- ///
- /// Heap memory.
- ///
- public const string Heap = "heap";
-
- ///
- /// Non-heap memory.
- ///
- public const string NonHeap = "non_heap";
- }
-
- ///
- /// State of the thread.
- ///
- public static class JvmThreadStateValues
- {
- ///
- /// A thread that has not yet started is in this state.
- ///
- public const string New = "new";
-
- ///
- /// A thread executing in the Java virtual machine is in this state.
- ///
- public const string Runnable = "runnable";
-
- ///
- /// A thread that is blocked waiting for a monitor lock is in this state.
- ///
- public const string Blocked = "blocked";
-
- ///
- /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
- ///
- public const string Waiting = "waiting";
-
- ///
- /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
- ///
- public const string TimedWaiting = "timed_waiting";
-
- ///
- /// A thread that has exited is in this state.
- ///
- public const string Terminated = "terminated";
- }
-
- ///
- /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
- ///
- public static class ProcessCpuStateValues
- {
- ///
- /// system.
- ///
- public const string System = "system";
-
- ///
- /// user.
- ///
- public const string User = "user";
-
- ///
- /// wait.
- ///
- public const string Wait = "wait";
- }
-
- ///
- /// Specifies whether the context switches for this data point were voluntary or involuntary.
- ///
- public static class ProcessContextSwitchTypeValues
- {
- ///
- /// voluntary.
- ///
- public const string Voluntary = "voluntary";
-
- ///
- /// involuntary.
- ///
- public const string Involuntary = "involuntary";
- }
-
- ///
- /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
- ///
- public static class ProcessPagingFaultTypeValues
- {
- ///
- /// major.
- ///
- public const string Major = "major";
-
- ///
- /// minor.
- ///
- public const string Minor = "minor";
- }
-
- ///
- /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
- ///
- public static class SystemCpuStateValues
- {
- ///
- /// user.
- ///
- public const string User = "user";
-
- ///
- /// system.
- ///
- public const string System = "system";
-
- ///
- /// nice.
- ///
- public const string Nice = "nice";
-
- ///
- /// idle.
- ///
- public const string Idle = "idle";
-
- ///
- /// iowait.
- ///
- public const string Iowait = "iowait";
-
- ///
- /// interrupt.
- ///
- public const string Interrupt = "interrupt";
-
- ///
- /// steal.
- ///
- public const string Steal = "steal";
- }
-
- ///
- /// The memory state.
- ///
- public static class SystemMemoryStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
-
- ///
- /// free.
- ///
- public const string Free = "free";
-
- ///
- /// shared.
- ///
- public const string Shared = "shared";
-
- ///
- /// buffers.
- ///
- public const string Buffers = "buffers";
-
- ///
- /// cached.
- ///
- public const string Cached = "cached";
- }
-
- ///
- /// The paging access direction.
- ///
- public static class SystemPagingDirectionValues
- {
- ///
- /// in.
- ///
- public const string In = "in";
-
- ///
- /// out.
- ///
- public const string Out = "out";
- }
-
- ///
- /// The memory paging state.
- ///
- public static class SystemPagingStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
-
- ///
- /// free.
- ///
- public const string Free = "free";
- }
-
- ///
- /// The memory paging type.
- ///
- public static class SystemPagingTypeValues
- {
- ///
- /// major.
- ///
- public const string Major = "major";
-
- ///
- /// minor.
- ///
- public const string Minor = "minor";
- }
-
- ///
- /// The filesystem state.
- ///
- public static class SystemFilesystemStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
-
- ///
- /// free.
- ///
- public const string Free = "free";
-
- ///
- /// reserved.
- ///
- public const string Reserved = "reserved";
- }
-
- ///
- /// The filesystem type.
- ///
- public static class SystemFilesystemTypeValues
- {
- ///
- /// fat32.
- ///
- public const string Fat32 = "fat32";
-
- ///
- /// exfat.
- ///
- public const string Exfat = "exfat";
-
- ///
- /// ntfs.
- ///
- public const string Ntfs = "ntfs";
-
- ///
- /// refs.
- ///
- public const string Refs = "refs";
-
- ///
- /// hfsplus.
- ///
- public const string Hfsplus = "hfsplus";
-
- ///
- /// ext4.
- ///
- public const string Ext4 = "ext4";
- }
-
- ///
- /// A stateless protocol MUST NOT set this attribute.
- ///
- public static class SystemNetworkStateValues
- {
- ///
- /// close.
- ///
- public const string Close = "close";
-
- ///
- /// close_wait.
- ///
- public const string CloseWait = "close_wait";
-
- ///
- /// closing.
- ///
- public const string Closing = "closing";
-
- ///
- /// delete.
- ///
- public const string Delete = "delete";
-
- ///
- /// established.
- ///
- public const string Established = "established";
-
- ///
- /// fin_wait_1.
- ///
- public const string FinWait1 = "fin_wait_1";
-
- ///
- /// fin_wait_2.
- ///
- public const string FinWait2 = "fin_wait_2";
-
- ///
- /// last_ack.
- ///
- public const string LastAck = "last_ack";
-
- ///
- /// listen.
- ///
- public const string Listen = "listen";
-
- ///
- /// syn_recv.
- ///
- public const string SynRecv = "syn_recv";
-
- ///
- /// syn_sent.
- ///
- public const string SynSent = "syn_sent";
-
- ///
- /// time_wait.
- ///
- public const string TimeWait = "time_wait";
- }
-
- ///
- /// The process state, e.g., Linux Process State Codes.
- ///
- public static class SystemProcessStatusValues
- {
- ///
- /// running.
- ///
- public const string Running = "running";
-
- ///
- /// sleeping.
- ///
- public const string Sleeping = "sleeping";
-
- ///
- /// stopped.
- ///
- public const string Stopped = "stopped";
-
- ///
- /// defunct.
- ///
- public const string Defunct = "defunct";
- }
-
- ///
- /// The cloud platform in use.
- ///
- public static class CloudPlatformValues
- {
- ///
- /// Alibaba Cloud Elastic Compute Service.
- ///
- public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
-
- ///
- /// Alibaba Cloud Function Compute.
- ///
- public const string AlibabaCloudFc = "alibaba_cloud_fc";
-
- ///
- /// Red Hat OpenShift on Alibaba Cloud.
- ///
- public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
-
- ///
- /// AWS Elastic Compute Cloud.
- ///
- public const string AwsEc2 = "aws_ec2";
-
- ///
- /// AWS Elastic Container Service.
- ///
- public const string AwsEcs = "aws_ecs";
-
- ///
- /// AWS Elastic Kubernetes Service.
- ///
- public const string AwsEks = "aws_eks";
-
- ///
- /// AWS Lambda.
- ///
- public const string AwsLambda = "aws_lambda";
-
- ///
- /// AWS Elastic Beanstalk.
- ///
- public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
-
- ///
- /// AWS App Runner.
- ///
- public const string AwsAppRunner = "aws_app_runner";
-
- ///
- /// Red Hat OpenShift on AWS (ROSA).
- ///
- public const string AwsOpenshift = "aws_openshift";
-
- ///
- /// Azure Virtual Machines.
- ///
- public const string AzureVm = "azure_vm";
-
- ///
- /// Azure Container Apps.
- ///
- public const string AzureContainerApps = "azure_container_apps";
-
- ///
- /// Azure Container Instances.
- ///
- public const string AzureContainerInstances = "azure_container_instances";
-
- ///
- /// Azure Kubernetes Service.
- ///
- public const string AzureAks = "azure_aks";
-
- ///
- /// Azure Functions.
- ///
- public const string AzureFunctions = "azure_functions";
-
- ///
- /// Azure App Service.
- ///
- public const string AzureAppService = "azure_app_service";
-
- ///
- /// Azure Red Hat OpenShift.
- ///
- public const string AzureOpenshift = "azure_openshift";
-
- ///
- /// Google Bare Metal Solution (BMS).
- ///
- public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
-
- ///
- /// Google Cloud Compute Engine (GCE).
- ///
- public const string GcpComputeEngine = "gcp_compute_engine";
-
- ///
- /// Google Cloud Run.
- ///
- public const string GcpCloudRun = "gcp_cloud_run";
-
- ///
- /// Google Cloud Kubernetes Engine (GKE).
- ///
- public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
-
- ///
- /// Google Cloud Functions (GCF).
- ///
- public const string GcpCloudFunctions = "gcp_cloud_functions";
-
- ///
- /// Google Cloud App Engine (GAE).
- ///
- public const string GcpAppEngine = "gcp_app_engine";
-
- ///
- /// Red Hat OpenShift on Google Cloud.
- ///
- public const string GcpOpenshift = "gcp_openshift";
-
- ///
- /// Red Hat OpenShift on IBM Cloud.
- ///
- public const string IbmCloudOpenshift = "ibm_cloud_openshift";
-
- ///
- /// Tencent Cloud Cloud Virtual Machine (CVM).
- ///
- public const string TencentCloudCvm = "tencent_cloud_cvm";
-
- ///
- /// Tencent Cloud Elastic Kubernetes Service (EKS).
- ///
- public const string TencentCloudEks = "tencent_cloud_eks";
-
- ///
- /// Tencent Cloud Serverless Cloud Function (SCF).
- ///
- public const string TencentCloudScf = "tencent_cloud_scf";
- }
-
- ///
- /// Name of the cloud provider.
- ///
- public static class CloudProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Heroku Platform as a Service.
- ///
- public const string Heroku = "heroku";
-
- ///
- /// IBM Cloud.
- ///
- public const string IbmCloud = "ibm_cloud";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
-
- ///
- /// The CPU state for this data point.
- ///
- public static class ContainerCpuStateValues
- {
- ///
- /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).
- ///
- public const string User = "user";
-
- ///
- /// When CPU is used by the system (host OS).
- ///
- public const string System = "system";
-
- ///
- /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).
- ///
- public const string Kernel = "kernel";
- }
-
- ///
- /// The consistency level of the query. Based on consistency values from CQL.
- ///
- public static class DbCassandraConsistencyLevelValues
- {
- ///
- /// all.
- ///
- public const string All = "all";
-
- ///
- /// each_quorum.
- ///
- public const string EachQuorum = "each_quorum";
-
- ///
- /// quorum.
- ///
- public const string Quorum = "quorum";
-
- ///
- /// local_quorum.
- ///
- public const string LocalQuorum = "local_quorum";
-
- ///
- /// one.
- ///
- public const string One = "one";
-
- ///
- /// two.
- ///
- public const string Two = "two";
-
- ///
- /// three.
- ///
- public const string Three = "three";
-
- ///
- /// local_one.
- ///
- public const string LocalOne = "local_one";
-
- ///
- /// any.
- ///
- public const string Any = "any";
-
- ///
- /// serial.
- ///
- public const string Serial = "serial";
-
- ///
- /// local_serial.
- ///
- public const string LocalSerial = "local_serial";
- }
-
- ///
- /// Cosmos client connection mode.
- ///
- public static class DbCosmosdbConnectionModeValues
- {
- ///
- /// Gateway (HTTP) connections mode.
- ///
- public const string Gateway = "gateway";
-
- ///
- /// Direct connection.
- ///
- public const string Direct = "direct";
- }
-
- ///
- /// CosmosDB Operation Type.
- ///
- public static class DbCosmosdbOperationTypeValues
- {
- ///
- /// invalid.
- ///
- public const string Invalid = "Invalid";
-
- ///
- /// create.
- ///
- public const string Create = "Create";
-
- ///
- /// patch.
- ///
- public const string Patch = "Patch";
-
- ///
- /// read.
- ///
- public const string Read = "Read";
-
- ///
- /// read_feed.
- ///
- public const string ReadFeed = "ReadFeed";
-
- ///
- /// delete.
- ///
- public const string Delete = "Delete";
-
- ///
- /// replace.
- ///
- public const string Replace = "Replace";
-
- ///
- /// execute.
- ///
- public const string Execute = "Execute";
-
- ///
- /// query.
- ///
- public const string Query = "Query";
-
- ///
- /// head.
- ///
- public const string Head = "Head";
-
- ///
- /// head_feed.
- ///
- public const string HeadFeed = "HeadFeed";
-
- ///
- /// upsert.
- ///
- public const string Upsert = "Upsert";
-
- ///
- /// batch.
- ///
- public const string Batch = "Batch";
-
- ///
- /// query_plan.
- ///
- public const string QueryPlan = "QueryPlan";
-
- ///
- /// execute_javascript.
- ///
- public const string ExecuteJavascript = "ExecuteJavaScript";
- }
-
- ///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- ///
- public static class DbSystemValues
- {
- ///
- /// Some other SQL database. Fallback only. See notes.
- ///
- public const string OtherSql = "other_sql";
-
- ///
- /// Microsoft SQL Server.
- ///
- public const string Mssql = "mssql";
-
- ///
- /// Microsoft SQL Server Compact.
- ///
- public const string Mssqlcompact = "mssqlcompact";
-
- ///
- /// MySQL.
- ///
- public const string Mysql = "mysql";
-
- ///
- /// Oracle Database.
- ///
- public const string Oracle = "oracle";
-
- ///
- /// IBM Db2.
- ///
- public const string Db2 = "db2";
-
- ///
- /// PostgreSQL.
- ///
- public const string Postgresql = "postgresql";
-
- ///
- /// Amazon Redshift.
- ///
- public const string Redshift = "redshift";
-
- ///
- /// Apache Hive.
- ///
- public const string Hive = "hive";
-
- ///
- /// Cloudscape.
- ///
- public const string Cloudscape = "cloudscape";
-
- ///
- /// HyperSQL DataBase.
- ///
- public const string Hsqldb = "hsqldb";
-
- ///
- /// Progress Database.
- ///
- public const string Progress = "progress";
-
- ///
- /// SAP MaxDB.
- ///
- public const string Maxdb = "maxdb";
-
- ///
- /// SAP HANA.
- ///
- public const string Hanadb = "hanadb";
-
- ///
- /// Ingres.
- ///
- public const string Ingres = "ingres";
-
- ///
- /// FirstSQL.
- ///
- public const string Firstsql = "firstsql";
-
- ///
- /// EnterpriseDB.
- ///
- public const string Edb = "edb";
-
- ///
- /// InterSystems Caché.
- ///
- public const string Cache = "cache";
-
- ///
- /// Adabas (Adaptable Database System).
- ///
- public const string Adabas = "adabas";
-
- ///
- /// Firebird.
- ///
- public const string Firebird = "firebird";
-
- ///
- /// Apache Derby.
- ///
- public const string Derby = "derby";
-
- ///
- /// FileMaker.
- ///
- public const string Filemaker = "filemaker";
-
- ///
- /// Informix.
- ///
- public const string Informix = "informix";
-
- ///
- /// InstantDB.
- ///
- public const string Instantdb = "instantdb";
-
- ///
- /// InterBase.
- ///
- public const string Interbase = "interbase";
-
- ///
- /// MariaDB.
- ///
- public const string Mariadb = "mariadb";
-
- ///
- /// Netezza.
- ///
- public const string Netezza = "netezza";
-
- ///
- /// Pervasive PSQL.
- ///
- public const string Pervasive = "pervasive";
-
- ///
- /// PointBase.
- ///
- public const string Pointbase = "pointbase";
-
- ///
- /// SQLite.
- ///
- public const string Sqlite = "sqlite";
-
- ///
- /// Sybase.
- ///
- public const string Sybase = "sybase";
-
- ///
- /// Teradata.
- ///
- public const string Teradata = "teradata";
-
- ///
- /// Vertica.
- ///
- public const string Vertica = "vertica";
-
- ///
- /// H2.
- ///
- public const string H2 = "h2";
-
- ///
- /// ColdFusion IMQ.
- ///
- public const string Coldfusion = "coldfusion";
-
- ///
- /// Apache Cassandra.
- ///
- public const string Cassandra = "cassandra";
-
- ///
- /// Apache HBase.
- ///
- public const string Hbase = "hbase";
-
- ///
- /// MongoDB.
- ///
- public const string Mongodb = "mongodb";
-
- ///
- /// Redis.
- ///
- public const string Redis = "redis";
-
- ///
- /// Couchbase.
- ///
- public const string Couchbase = "couchbase";
-
- ///
- /// CouchDB.
- ///
- public const string Couchdb = "couchdb";
-
- ///
- /// Microsoft Azure Cosmos DB.
- ///
- public const string Cosmosdb = "cosmosdb";
-
- ///
- /// Amazon DynamoDB.
- ///
- public const string Dynamodb = "dynamodb";
-
- ///
- /// Neo4j.
- ///
- public const string Neo4j = "neo4j";
-
- ///
- /// Apache Geode.
- ///
- public const string Geode = "geode";
-
- ///
- /// Elasticsearch.
- ///
- public const string Elasticsearch = "elasticsearch";
-
- ///
- /// Memcached.
- ///
- public const string Memcached = "memcached";
-
- ///
- /// CockroachDB.
- ///
- public const string Cockroachdb = "cockroachdb";
-
- ///
- /// OpenSearch.
- ///
- public const string Opensearch = "opensearch";
-
- ///
- /// ClickHouse.
- ///
- public const string Clickhouse = "clickhouse";
-
- ///
- /// Cloud Spanner.
- ///
- public const string Spanner = "spanner";
-
- ///
- /// Trino.
- ///
- public const string Trino = "trino";
- }
-
- ///
- /// Deprecated, use network.protocol.name instead.
- ///
- public static class HttpFlavorValues
- {
- ///
- /// HTTP/1.0.
- ///
- public const string Http10 = "1.0";
-
- ///
- /// HTTP/1.1.
- ///
- public const string Http11 = "1.1";
-
- ///
- /// HTTP/2.
- ///
- public const string Http20 = "2.0";
-
- ///
- /// HTTP/3.
- ///
- public const string Http30 = "3.0";
-
- ///
- /// SPDY protocol.
- ///
- public const string Spdy = "SPDY";
-
- ///
- /// QUIC protocol.
- ///
- public const string Quic = "QUIC";
- }
-
- ///
- /// Deprecated, use network.transport and network.type.
- ///
- public static class NetSockFamilyValues
- {
- ///
- /// IPv4 address.
- ///
- public const string Inet = "inet";
-
- ///
- /// IPv6 address.
- ///
- public const string Inet6 = "inet6";
-
- ///
- /// Unix domain socket path.
- ///
- public const string Unix = "unix";
- }
-
- ///
- /// Deprecated, use network.transport.
- ///
- public static class NetTransportValues
- {
- ///
- /// ip_tcp.
- ///
- public const string IpTcp = "ip_tcp";
-
- ///
- /// ip_udp.
- ///
- public const string IpUdp = "ip_udp";
-
- ///
- /// Named or anonymous pipe.
- ///
- public const string Pipe = "pipe";
-
- ///
- /// In-process communication.
- ///
- public const string Inproc = "inproc";
-
- ///
- /// Something else (non IP-based).
- ///
- public const string Other = "other";
- }
-
- ///
- /// Deprecated, use system.process.status instead.
- ///
- public static class SystemProcessesStatusValues
- {
- ///
- /// running.
- ///
- public const string Running = "running";
-
- ///
- /// sleeping.
- ///
- public const string Sleeping = "sleeping";
-
- ///
- /// stopped.
- ///
- public const string Stopped = "stopped";
-
- ///
- /// defunct.
- ///
- public const string Defunct = "defunct";
- }
-
- ///
- /// The disk IO operation direction.
- ///
- public static class DiskIoDirectionValues
- {
- ///
- /// read.
- ///
- public const string Read = "read";
-
- ///
- /// write.
- ///
- public const string Write = "write";
- }
-
- ///
- /// Describes a class of error the operation ended with.
- ///
- public static class ErrorTypeValues
- {
- ///
- /// A fallback error value to be used when the instrumentation doesn't define a custom value.
- ///
- public const string Other = "_OTHER";
- }
-
- ///
- /// Describes the type of the operation that was performed on the data.
- ///
- public static class FaasDocumentOperationValues
- {
- ///
- /// When a new object is created.
- ///
- public const string Insert = "insert";
-
- ///
- /// When an object is modified.
- ///
- public const string Edit = "edit";
-
- ///
- /// When an object is deleted.
- ///
- public const string Delete = "delete";
- }
-
- ///
- /// The cloud provider of the invoked function.
- ///
- public static class FaasInvokedProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
-
- ///
- /// Type of the trigger which caused this function invocation.
- ///
- public static class FaasTriggerValues
- {
- ///
- /// A response to some data source operation such as a database or filesystem read/write.
- ///
- public const string Datasource = "datasource";
-
- ///
- /// To provide an answer to an inbound HTTP request.
- ///
- public const string Http = "http";
-
- ///
- /// A function is set to be executed when messages are sent to a messaging system.
- ///
- public const string Pubsub = "pubsub";
-
- ///
- /// A function is scheduled to be executed regularly.
- ///
- public const string Timer = "timer";
-
- ///
- /// If none of the others apply.
- ///
- public const string Other = "other";
- }
-
- ///
- /// The CPU architecture the host system is running on.
- ///
- public static class HostArchValues
- {
- ///
- /// AMD64.
- ///
- public const string Amd64 = "amd64";
-
- ///
- /// ARM32.
- ///
- public const string Arm32 = "arm32";
-
- ///
- /// ARM64.
- ///
- public const string Arm64 = "arm64";
-
- ///
- /// Itanium.
- ///
- public const string Ia64 = "ia64";
-
- ///
- /// 32-bit PowerPC.
- ///
- public const string Ppc32 = "ppc32";
-
- ///
- /// 64-bit PowerPC.
- ///
- public const string Ppc64 = "ppc64";
-
- ///
- /// IBM z/Architecture.
- ///
- public const string S390x = "s390x";
-
- ///
- /// 32-bit x86.
- ///
- public const string X86 = "x86";
- }
-
- ///
- /// State of the HTTP connection in the HTTP connection pool.
- ///
- public static class HttpConnectionStateValues
- {
- ///
- /// active state.
- ///
- public const string Active = "active";
-
- ///
- /// idle state.
- ///
- public const string Idle = "idle";
- }
-
- ///
- /// HTTP request method.
- ///
- public static class HttpRequestMethodValues
- {
- ///
- /// CONNECT method.
- ///
- public const string Connect = "CONNECT";
-
- ///
- /// DELETE method.
- ///
- public const string Delete = "DELETE";
-
- ///
- /// GET method.
- ///
- public const string Get = "GET";
-
- ///
- /// HEAD method.
- ///
- public const string Head = "HEAD";
-
- ///
- /// OPTIONS method.
- ///
- public const string Options = "OPTIONS";
-
- ///
- /// PATCH method.
- ///
- public const string Patch = "PATCH";
-
- ///
- /// POST method.
- ///
- public const string Post = "POST";
-
- ///
- /// PUT method.
- ///
- public const string Put = "PUT";
-
- ///
- /// TRACE method.
- ///
- public const string Trace = "TRACE";
-
- ///
- /// Any HTTP method that the instrumentation has no prior knowledge of.
- ///
- public const string Other = "_OTHER";
- }
-
- ///
- /// A string identifying the kind of messaging operation.
- ///
- public static class MessagingOperationValues
- {
- ///
- /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
- ///
- public const string Publish = "publish";
-
- ///
- /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
- ///
- public const string Create = "create";
-
- ///
- /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.
- ///
- public const string Receive = "receive";
-
- ///
- /// One or more messages are delivered to or processed by a consumer.
- ///
- public const string Deliver = "process";
-
- ///
- /// One or more messages are settled.
- ///
- public const string Settle = "settle";
- }
-
- ///
- /// Model of message consumption. This only applies to consumer spans.
- ///
- public static class MessagingRocketmqConsumptionModelValues
- {
- ///
- /// Clustering consumption model.
- ///
- public const string Clustering = "clustering";
-
- ///
- /// Broadcasting consumption model.
- ///
- public const string Broadcasting = "broadcasting";
- }
-
- ///
- /// Type of message.
- ///
- public static class MessagingRocketmqMessageTypeValues
- {
- ///
- /// Normal message.
- ///
- public const string Normal = "normal";
-
- ///
- /// FIFO message.
- ///
- public const string Fifo = "fifo";
-
- ///
- /// Delay message.
- ///
- public const string Delay = "delay";
-
- ///
- /// Transaction message.
- ///
- public const string Transaction = "transaction";
- }
-
- ///
- /// Describes the settlement type.
- ///
- public static class MessagingServicebusDispositionStatusValues
- {
- ///
- /// Message is completed.
- ///
- public const string Complete = "complete";
-
- ///
- /// Message is abandoned.
- ///
- public const string Abandon = "abandon";
-
- ///
- /// Message is sent to dead letter queue.
- ///
- public const string DeadLetter = "dead_letter";
-
- ///
- /// Message is deferred.
- ///
- public const string Defer = "defer";
- }
-
- ///
- /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
- ///
- public static class MessagingSystemValues
- {
- ///
- /// Apache ActiveMQ.
- ///
- public const string Activemq = "activemq";
-
- ///
- /// Amazon Simple Queue Service (SQS).
- ///
- public const string AwsSqs = "aws_sqs";
-
- ///
- /// Azure Event Grid.
- ///
- public const string Eventgrid = "eventgrid";
-
- ///
- /// Azure Event Hubs.
- ///
- public const string Eventhubs = "eventhubs";
-
- ///
- /// Azure Service Bus.
- ///
- public const string Servicebus = "servicebus";
-
- ///
- /// Google Cloud Pub/Sub.
- ///
- public const string GcpPubsub = "gcp_pubsub";
-
- ///
- /// Java Message Service.
- ///
- public const string Jms = "jms";
-
- ///
- /// Apache Kafka.
- ///
- public const string Kafka = "kafka";
-
- ///
- /// RabbitMQ.
- ///
- public const string Rabbitmq = "rabbitmq";
-
- ///
- /// Apache RocketMQ.
- ///
- public const string Rocketmq = "rocketmq";
- }
-
- ///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- ///
- public static class NetworkConnectionSubtypeValues
- {
- ///
- /// GPRS.
- ///
- public const string Gprs = "gprs";
-
- ///
- /// EDGE.
- ///
- public const string Edge = "edge";
-
- ///
- /// UMTS.
- ///
- public const string Umts = "umts";
-
- ///
- /// CDMA.
- ///
- public const string Cdma = "cdma";
-
- ///
- /// EVDO Rel. 0.
- ///
- public const string Evdo0 = "evdo_0";
-
- ///
- /// EVDO Rev. A.
- ///
- public const string EvdoA = "evdo_a";
-
- ///
- /// CDMA2000 1XRTT.
- ///
- public const string Cdma20001xrtt = "cdma2000_1xrtt";
-
- ///
- /// HSDPA.
- ///
- public const string Hsdpa = "hsdpa";
-
- ///
- /// HSUPA.
- ///
- public const string Hsupa = "hsupa";
-
- ///
- /// HSPA.
- ///
- public const string Hspa = "hspa";
-
- ///
- /// IDEN.
- ///
- public const string Iden = "iden";
-
- ///
- /// EVDO Rev. B.
- ///
- public const string EvdoB = "evdo_b";
-
- ///
- /// LTE.
- ///
- public const string Lte = "lte";
-
- ///
- /// EHRPD.
- ///
- public const string Ehrpd = "ehrpd";
-
- ///
- /// HSPAP.
- ///
- public const string Hspap = "hspap";
-
- ///
- /// GSM.
- ///
- public const string Gsm = "gsm";
-
- ///
- /// TD-SCDMA.
- ///
- public const string TdScdma = "td_scdma";
-
- ///
- /// IWLAN.
- ///
- public const string Iwlan = "iwlan";
-
- ///
- /// 5G NR (New Radio).
- ///
- public const string Nr = "nr";
-
- ///
- /// 5G NRNSA (New Radio Non-Standalone).
- ///
- public const string Nrnsa = "nrnsa";
-
- ///
- /// LTE CA.
- ///
- public const string LteCa = "lte_ca";
- }
-
- ///
- /// The internet connection type.
- ///
- public static class NetworkConnectionTypeValues
- {
- ///
- /// wifi.
- ///
- public const string Wifi = "wifi";
-
- ///
- /// wired.
- ///
- public const string Wired = "wired";
-
- ///
- /// cell.
- ///
- public const string Cell = "cell";
-
- ///
- /// unavailable.
- ///
- public const string Unavailable = "unavailable";
-
- ///
- /// unknown.
- ///
- public const string Unknown = "unknown";
- }
-
- ///
- /// The network IO operation direction.
- ///
- public static class NetworkIoDirectionValues
- {
- ///
- /// transmit.
- ///
- public const string Transmit = "transmit";
-
- ///
- /// receive.
- ///
- public const string Receive = "receive";
- }
-
- ///
- /// OSI transport layer or inter-process communication method.
- ///
- public static class NetworkTransportValues
- {
- ///
- /// TCP.
- ///
- public const string Tcp = "tcp";
-
- ///
- /// UDP.
- ///
- public const string Udp = "udp";
-
- ///
- /// Named or anonymous pipe.
- ///
- public const string Pipe = "pipe";
-
- ///
- /// Unix domain socket.
- ///
- public const string Unix = "unix";
- }
-
- ///
- /// OSI network layer or non-OSI equivalent.
- ///
- public static class NetworkTypeValues
- {
- ///
- /// IPv4.
- ///
- public const string Ipv4 = "ipv4";
-
- ///
- /// IPv6.
- ///
- public const string Ipv6 = "ipv6";
- }
-
- ///
- /// The operating system type.
- ///
- public static class OsTypeValues
- {
- ///
- /// Microsoft Windows.
- ///
- public const string Windows = "windows";
-
- ///
- /// Linux.
- ///
- public const string Linux = "linux";
-
- ///
- /// Apple Darwin.
- ///
- public const string Darwin = "darwin";
-
- ///
- /// FreeBSD.
- ///
- public const string Freebsd = "freebsd";
-
- ///
- /// NetBSD.
- ///
- public const string Netbsd = "netbsd";
-
- ///
- /// OpenBSD.
- ///
- public const string Openbsd = "openbsd";
-
- ///
- /// DragonFly BSD.
- ///
- public const string Dragonflybsd = "dragonflybsd";
-
- ///
- /// HP-UX (Hewlett Packard Unix).
- ///
- public const string Hpux = "hpux";
-
- ///
- /// AIX (Advanced Interactive eXecutive).
- ///
- public const string Aix = "aix";
-
- ///
- /// SunOS, Oracle Solaris.
- ///
- public const string Solaris = "solaris";
-
- ///
- /// IBM z/OS.
- ///
- public const string ZOs = "z_os";
- }
-
- ///
- /// The error codes of the Connect request. Error codes are always string values.
- ///
- public static class RpcConnectRpcErrorCodeValues
- {
- ///
- /// cancelled.
- ///
- public const string Cancelled = "cancelled";
-
- ///
- /// unknown.
- ///
- public const string Unknown = "unknown";
-
- ///
- /// invalid_argument.
- ///
- public const string InvalidArgument = "invalid_argument";
-
- ///
- /// deadline_exceeded.
- ///
- public const string DeadlineExceeded = "deadline_exceeded";
-
- ///
- /// not_found.
- ///
- public const string NotFound = "not_found";
-
- ///
- /// already_exists.
- ///
- public const string AlreadyExists = "already_exists";
-
- ///
- /// permission_denied.
- ///
- public const string PermissionDenied = "permission_denied";
-
- ///
- /// resource_exhausted.
- ///
- public const string ResourceExhausted = "resource_exhausted";
-
- ///
- /// failed_precondition.
- ///
- public const string FailedPrecondition = "failed_precondition";
-
- ///
- /// aborted.
- ///
- public const string Aborted = "aborted";
-
- ///
- /// out_of_range.
- ///
- public const string OutOfRange = "out_of_range";
-
- ///
- /// unimplemented.
- ///
- public const string Unimplemented = "unimplemented";
-
- ///
- /// internal.
- ///
- public const string Internal = "internal";
-
- ///
- /// unavailable.
- ///
- public const string Unavailable = "unavailable";
-
- ///
- /// data_loss.
- ///
- public const string DataLoss = "data_loss";
-
- ///
- /// unauthenticated.
- ///
- public const string Unauthenticated = "unauthenticated";
- }
-
- ///
- /// The numeric status code of the gRPC request.
- ///
- public static class RpcGrpcStatusCodeValues
- {
- ///
- /// OK.
- ///
- public const int Ok = 0;
-
- ///
- /// CANCELLED.
- ///
- public const int Cancelled = 1;
-
- ///
- /// UNKNOWN.
- ///
- public const int Unknown = 2;
-
- ///
- /// INVALID_ARGUMENT.
- ///
- public const int InvalidArgument = 3;
-
- ///
- /// DEADLINE_EXCEEDED.
- ///
- public const int DeadlineExceeded = 4;
-
- ///
- /// NOT_FOUND.
- ///
- public const int NotFound = 5;
-
- ///
- /// ALREADY_EXISTS.
- ///
- public const int AlreadyExists = 6;
-
- ///
- /// PERMISSION_DENIED.
- ///
- public const int PermissionDenied = 7;
-
- ///
- /// RESOURCE_EXHAUSTED.
- ///
- public const int ResourceExhausted = 8;
-
- ///
- /// FAILED_PRECONDITION.
- ///
- public const int FailedPrecondition = 9;
-
- ///
- /// ABORTED.
- ///
- public const int Aborted = 10;
-
- ///
- /// OUT_OF_RANGE.
- ///
- public const int OutOfRange = 11;
-
- ///
- /// UNIMPLEMENTED.
- ///
- public const int Unimplemented = 12;
-
- ///
- /// INTERNAL.
- ///
- public const int Internal = 13;
-
- ///
- /// UNAVAILABLE.
- ///
- public const int Unavailable = 14;
-
- ///
- /// DATA_LOSS.
- ///
- public const int DataLoss = 15;
-
- ///
- /// UNAUTHENTICATED.
- ///
- public const int Unauthenticated = 16;
- }
-
- ///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
- ///
- public static class RpcSystemValues
- {
- ///
- /// gRPC.
- ///
- public const string Grpc = "grpc";
-
- ///
- /// Java RMI.
- ///
- public const string JavaRmi = "java_rmi";
-
- ///
- /// .NET WCF.
- ///
- public const string DotnetWcf = "dotnet_wcf";
-
- ///
- /// Apache Dubbo.
- ///
- public const string ApacheDubbo = "apache_dubbo";
-
- ///
- /// Connect RPC.
- ///
- public const string ConnectRpc = "connect_rpc";
- }
-
- ///
- /// The language of the telemetry SDK.
- ///
- public static class TelemetrySdkLanguageValues
- {
- ///
- /// cpp.
- ///
- public const string Cpp = "cpp";
-
- ///
- /// dotnet.
- ///
- public const string Dotnet = "dotnet";
-
- ///
- /// erlang.
- ///
- public const string Erlang = "erlang";
-
- ///
- /// go.
- ///
- public const string Go = "go";
-
- ///
- /// java.
- ///
- public const string Java = "java";
-
- ///
- /// nodejs.
- ///
- public const string Nodejs = "nodejs";
-
- ///
- /// php.
- ///
- public const string Php = "php";
-
- ///
- /// python.
- ///
- public const string Python = "python";
-
- ///
- /// ruby.
- ///
- public const string Ruby = "ruby";
-
- ///
- /// rust.
- ///
- public const string Rust = "rust";
-
- ///
- /// swift.
- ///
- public const string Swift = "swift";
-
- ///
- /// webjs.
- ///
- public const string Webjs = "webjs";
- }
-
- ///
- /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
- ///
- public static class TlsProtocolNameValues
- {
- ///
- /// ssl.
- ///
- public const string Ssl = "ssl";
-
- ///
- /// tls.
- ///
- public const string Tls = "tls";
- }
-
- ///
- /// The launch type for an ECS task.
- ///
- public static class AwsEcsLaunchtypeValues
- {
- ///
- /// ec2.
- ///
- public const string Ec2 = "ec2";
-
- ///
- /// fargate.
- ///
- public const string Fargate = "fargate";
- }
-
- ///
- /// Parent-child Reference type.
- ///
- public static class OpentracingRefTypeValues
- {
- ///
- /// The parent Span depends on the child Span in some capacity.
- ///
- public const string ChildOf = "child_of";
-
- ///
- /// The parent Span doesn't depend in any way on the result of the child Span.
- ///
- public const string FollowsFrom = "follows_from";
- }
-
- ///
- /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
- ///
- public static class OtelStatusCodeValues
- {
- ///
- /// The operation has been validated by an Application developer or Operator to have completed successfully.
- ///
- public const string Ok = "OK";
-
- ///
- /// The operation contains an error.
- ///
- public const string Error = "ERROR";
- }
-
- ///
- /// The type of the operation being executed.
- ///
- public static class GraphqlOperationTypeValues
- {
- ///
- /// GraphQL query.
- ///
- public const string Query = "query";
-
- ///
- /// GraphQL mutation.
- ///
- public const string Mutation = "mutation";
-
- ///
- /// GraphQL subscription.
- ///
- public const string Subscription = "subscription";
- }
-
- ///
- /// Whether this is a received or sent message.
- ///
- public static class MessageTypeValues
- {
- ///
- /// sent.
- ///
- public const string Sent = "SENT";
-
- ///
- /// received.
- ///
- public const string Received = "RECEIVED";
- }
- }
-}
diff --git a/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs b/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
new file mode 100644
index 0000000000..f481888971
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
@@ -0,0 +1,33 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ServerAttributes
+ {
+ ///
+ /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerAddress = "server.address";
+
+ ///
+ /// Server port number.
+ ///
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerPort = "server.port";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs b/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
new file mode 100644
index 0000000000..7864a3630e
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
@@ -0,0 +1,63 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ServiceAttributes
+ {
+ ///
+ /// The string ID of the service instance.
+ ///
+ ///
+ /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words
+ /// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to
+ /// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled
+ /// service).Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC
+ /// 4122 UUID, but are free to use an inherent unique ID as the source of
+ /// this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and
+ /// SHOULD use the following UUID as the namespace: 4d63009a-8d0f-11ee-aad7-4c796ed8e320.UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is
+ /// needed. Similar to what can be seen in the man page for the
+ /// /etc/machine-id file, the underlying
+ /// data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it
+ /// or not via another resource attribute.For applications running behind an application server (like unicorn), we do not recommend using one identifier
+ /// for all processes participating in the application. Instead, it's recommended each division (e.g. a worker
+ /// thread in unicorn) to have its own instance.id.It's not recommended for a Collector to set service.instance.id if it can't unambiguously determine the
+ /// service instance that is generating that telemetry. For instance, creating an UUID based on pod.name will
+ /// likely be wrong, as the Collector might not know from which container within that pod the telemetry originated.
+ /// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance
+ /// for that telemetry. This is typically the case for scraping receivers, as they know the target address and
+ /// port.
+ ///
+ public const string AttributeServiceInstanceId = "service.instance.id";
+
+ ///
+ /// Logical name of the service.
+ ///
+ ///
+ /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
+ ///
+ public const string AttributeServiceName = "service.name";
+
+ ///
+ /// A namespace for service.name.
+ ///
+ ///
+ /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
+ ///
+ public const string AttributeServiceNamespace = "service.namespace";
+
+ ///
+ /// The version string of the service API or implementation. The format is not defined by these conventions.
+ ///
+ public const string AttributeServiceVersion = "service.version";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs b/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
new file mode 100644
index 0000000000..0b000e207f
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
@@ -0,0 +1,27 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class SessionAttributes
+ {
+ ///
+ /// A unique id to identify a session.
+ ///
+ public const string AttributeSessionId = "session.id";
+
+ ///
+ /// The previous session.id for this user, when known.
+ ///
+ public const string AttributeSessionPreviousId = "session.previous_id";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs b/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
new file mode 100644
index 0000000000..411c989ce0
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
@@ -0,0 +1,69 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class SignalrAttributes
+ {
+ ///
+ /// SignalR HTTP connection closure status.
+ ///
+ public const string AttributeSignalrConnectionStatus = "signalr.connection.status";
+
+ ///
+ /// SignalR transport type.
+ ///
+ public const string AttributeSignalrTransport = "signalr.transport";
+
+ ///
+ /// SignalR HTTP connection closure status.
+ ///
+ public static class SignalrConnectionStatusValues
+ {
+ ///
+ /// The connection was closed normally.
+ ///
+ public const string NormalClosure = "normal_closure";
+
+ ///
+ /// The connection was closed due to a timeout.
+ ///
+ public const string Timeout = "timeout";
+
+ ///
+ /// The connection was closed because the app is shutting down.
+ ///
+ public const string AppShutdown = "app_shutdown";
+ }
+
+ ///
+ /// SignalR transport type.
+ ///
+ public static class SignalrTransportValues
+ {
+ ///
+ /// ServerSentEvents protocol.
+ ///
+ public const string ServerSentEvents = "server_sent_events";
+
+ ///
+ /// LongPolling protocol.
+ ///
+ public const string LongPolling = "long_polling";
+
+ ///
+ /// WebSockets protocol.
+ ///
+ public const string WebSockets = "web_sockets";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs b/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
new file mode 100644
index 0000000000..72af728183
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
@@ -0,0 +1,30 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class SourceAttributes
+ {
+ ///
+ /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
+ ///
+ ///
+ /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeSourceAddress = "source.address";
+
+ ///
+ /// Source port number.
+ ///
+ public const string AttributeSourcePort = "source.port";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs b/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
new file mode 100644
index 0000000000..b14c9bdeec
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
@@ -0,0 +1,383 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class SystemAttributes
+ {
+ ///
+ /// The logical CPU number [0..n-1].
+ ///
+ public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number";
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeSystemCpuState = "system.cpu.state";
+
+ ///
+ /// The device identifier.
+ ///
+ public const string AttributeSystemDevice = "system.device";
+
+ ///
+ /// The filesystem mode.
+ ///
+ public const string AttributeSystemFilesystemMode = "system.filesystem.mode";
+
+ ///
+ /// The filesystem mount path.
+ ///
+ public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint";
+
+ ///
+ /// The filesystem state.
+ ///
+ public const string AttributeSystemFilesystemState = "system.filesystem.state";
+
+ ///
+ /// The filesystem type.
+ ///
+ public const string AttributeSystemFilesystemType = "system.filesystem.type";
+
+ ///
+ /// The memory state.
+ ///
+ public const string AttributeSystemMemoryState = "system.memory.state";
+
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public const string AttributeSystemNetworkState = "system.network.state";
+
+ ///
+ /// The paging access direction.
+ ///
+ public const string AttributeSystemPagingDirection = "system.paging.direction";
+
+ ///
+ /// The memory paging state.
+ ///
+ public const string AttributeSystemPagingState = "system.paging.state";
+
+ ///
+ /// The memory paging type.
+ ///
+ public const string AttributeSystemPagingType = "system.paging.type";
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public const string AttributeSystemProcessStatus = "system.process.status";
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ [Obsolete("Replaced by `system.process.status`")]
+ public const string AttributeSystemProcessesStatus = "system.processes.status";
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class SystemCpuStateValues
+ {
+ ///
+ /// user.
+ ///
+ public const string User = "user";
+
+ ///
+ /// system.
+ ///
+ public const string System = "system";
+
+ ///
+ /// nice.
+ ///
+ public const string Nice = "nice";
+
+ ///
+ /// idle.
+ ///
+ public const string Idle = "idle";
+
+ ///
+ /// iowait.
+ ///
+ public const string Iowait = "iowait";
+
+ ///
+ /// interrupt.
+ ///
+ public const string Interrupt = "interrupt";
+
+ ///
+ /// steal.
+ ///
+ public const string Steal = "steal";
+ }
+
+ ///
+ /// The filesystem state.
+ ///
+ public static class SystemFilesystemStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+
+ ///
+ /// reserved.
+ ///
+ public const string Reserved = "reserved";
+ }
+
+ ///
+ /// The filesystem type.
+ ///
+ public static class SystemFilesystemTypeValues
+ {
+ ///
+ /// fat32.
+ ///
+ public const string Fat32 = "fat32";
+
+ ///
+ /// exfat.
+ ///
+ public const string Exfat = "exfat";
+
+ ///
+ /// ntfs.
+ ///
+ public const string Ntfs = "ntfs";
+
+ ///
+ /// refs.
+ ///
+ public const string Refs = "refs";
+
+ ///
+ /// hfsplus.
+ ///
+ public const string Hfsplus = "hfsplus";
+
+ ///
+ /// ext4.
+ ///
+ public const string Ext4 = "ext4";
+ }
+
+ ///
+ /// The memory state.
+ ///
+ public static class SystemMemoryStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+
+ ///
+ /// shared.
+ ///
+ public const string Shared = "shared";
+
+ ///
+ /// buffers.
+ ///
+ public const string Buffers = "buffers";
+
+ ///
+ /// cached.
+ ///
+ public const string Cached = "cached";
+ }
+
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public static class SystemNetworkStateValues
+ {
+ ///
+ /// close.
+ ///
+ public const string Close = "close";
+
+ ///
+ /// close_wait.
+ ///
+ public const string CloseWait = "close_wait";
+
+ ///
+ /// closing.
+ ///
+ public const string Closing = "closing";
+
+ ///
+ /// delete.
+ ///
+ public const string Delete = "delete";
+
+ ///
+ /// established.
+ ///
+ public const string Established = "established";
+
+ ///
+ /// fin_wait_1.
+ ///
+ public const string FinWait1 = "fin_wait_1";
+
+ ///
+ /// fin_wait_2.
+ ///
+ public const string FinWait2 = "fin_wait_2";
+
+ ///
+ /// last_ack.
+ ///
+ public const string LastAck = "last_ack";
+
+ ///
+ /// listen.
+ ///
+ public const string Listen = "listen";
+
+ ///
+ /// syn_recv.
+ ///
+ public const string SynRecv = "syn_recv";
+
+ ///
+ /// syn_sent.
+ ///
+ public const string SynSent = "syn_sent";
+
+ ///
+ /// time_wait.
+ ///
+ public const string TimeWait = "time_wait";
+ }
+
+ ///
+ /// The paging access direction.
+ ///
+ public static class SystemPagingDirectionValues
+ {
+ ///
+ /// in.
+ ///
+ public const string In = "in";
+
+ ///
+ /// out.
+ ///
+ public const string Out = "out";
+ }
+
+ ///
+ /// The memory paging state.
+ ///
+ public static class SystemPagingStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+ }
+
+ ///
+ /// The memory paging type.
+ ///
+ public static class SystemPagingTypeValues
+ {
+ ///
+ /// major.
+ ///
+ public const string Major = "major";
+
+ ///
+ /// minor.
+ ///
+ public const string Minor = "minor";
+ }
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public static class SystemProcessStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
+ }
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ public static class SystemProcessesStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs b/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
new file mode 100644
index 0000000000..3b49c13b5b
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
@@ -0,0 +1,120 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class TelemetryAttributes
+ {
+ ///
+ /// The name of the auto instrumentation agent or distribution, if used.
+ ///
+ ///
+ /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to
+ /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.
+ ///
+ public const string AttributeTelemetryDistroName = "telemetry.distro.name";
+
+ ///
+ /// The version string of the auto instrumentation agent or distribution, if used.
+ ///
+ public const string AttributeTelemetryDistroVersion = "telemetry.distro.version";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
+
+ ///
+ /// The name of the telemetry SDK as defined above.
+ ///
+ ///
+ /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry.
+ /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the
+ /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point
+ /// or another suitable identifier depending on the language.
+ /// The identifier opentelemetry is reserved and MUST NOT be used in this case.
+ /// All custom identifiers SHOULD be stable across different versions of an implementation.
+ ///
+ public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
+
+ ///
+ /// The version string of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public static class TelemetrySdkLanguageValues
+ {
+ ///
+ /// cpp.
+ ///
+ public const string Cpp = "cpp";
+
+ ///
+ /// dotnet.
+ ///
+ public const string Dotnet = "dotnet";
+
+ ///
+ /// erlang.
+ ///
+ public const string Erlang = "erlang";
+
+ ///
+ /// go.
+ ///
+ public const string Go = "go";
+
+ ///
+ /// java.
+ ///
+ public const string Java = "java";
+
+ ///
+ /// nodejs.
+ ///
+ public const string Nodejs = "nodejs";
+
+ ///
+ /// php.
+ ///
+ public const string Php = "php";
+
+ ///
+ /// python.
+ ///
+ public const string Python = "python";
+
+ ///
+ /// ruby.
+ ///
+ public const string Ruby = "ruby";
+
+ ///
+ /// rust.
+ ///
+ public const string Rust = "rust";
+
+ ///
+ /// swift.
+ ///
+ public const string Swift = "swift";
+
+ ///
+ /// webjs.
+ ///
+ public const string Webjs = "webjs";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs b/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
new file mode 100644
index 0000000000..a020284784
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
@@ -0,0 +1,27 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class ThreadAttributes
+ {
+ ///
+ /// Current "managed" thread ID (as opposed to OS thread ID).
+ ///
+ public const string AttributeThreadId = "thread.id";
+
+ ///
+ /// Current thread name.
+ ///
+ public const string AttributeThreadName = "thread.name";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs b/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
new file mode 100644
index 0000000000..83ed0178e3
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
@@ -0,0 +1,181 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class TlsAttributes
+ {
+ ///
+ /// String indicating the cipher used during the current connection.
+ ///
+ ///
+ /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits.
+ ///
+ public const string AttributeTlsCipher = "tls.cipher";
+
+ ///
+ /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsClientCertificate = "tls.client.certificate";
+
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain";
+
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5";
+
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1";
+
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256";
+
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientIssuer = "tls.client.issuer";
+
+ ///
+ /// A hash that identifies clients based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsClientJa3 = "tls.client.ja3";
+
+ ///
+ /// Date/Time indicating when client certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsClientNotAfter = "tls.client.not_after";
+
+ ///
+ /// Date/Time indicating when client certificate is first considered valid.
+ ///
+ public const string AttributeTlsClientNotBefore = "tls.client.not_before";
+
+ ///
+ /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.
+ ///
+ public const string AttributeTlsClientServerName = "tls.client.server_name";
+
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientSubject = "tls.client.subject";
+
+ ///
+ /// Array of ciphers offered by the client during the client hello.
+ ///
+ public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers";
+
+ ///
+ /// String indicating the curve used for the given cipher, when applicable.
+ ///
+ public const string AttributeTlsCurve = "tls.curve";
+
+ ///
+ /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.
+ ///
+ public const string AttributeTlsEstablished = "tls.established";
+
+ ///
+ /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case.
+ ///
+ public const string AttributeTlsNextProtocol = "tls.next_protocol";
+
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolName = "tls.protocol.name";
+
+ ///
+ /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolVersion = "tls.protocol.version";
+
+ ///
+ /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
+ ///
+ public const string AttributeTlsResumed = "tls.resumed";
+
+ ///
+ /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsServerCertificate = "tls.server.certificate";
+
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain";
+
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5";
+
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1";
+
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256";
+
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsServerIssuer = "tls.server.issuer";
+
+ ///
+ /// A hash that identifies servers based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsServerJa3s = "tls.server.ja3s";
+
+ ///
+ /// Date/Time indicating when server certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsServerNotAfter = "tls.server.not_after";
+
+ ///
+ /// Date/Time indicating when server certificate is first considered valid.
+ ///
+ public const string AttributeTlsServerNotBefore = "tls.server.not_before";
+
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the server.
+ ///
+ public const string AttributeTlsServerSubject = "tls.server.subject";
+
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public static class TlsProtocolNameValues
+ {
+ ///
+ /// ssl.
+ ///
+ public const string Ssl = "ssl";
+
+ ///
+ /// tls.
+ ///
+ public const string Tls = "tls";
+ }
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs b/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
new file mode 100644
index 0000000000..66883eb3b6
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
@@ -0,0 +1,107 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class UrlAttributes
+ {
+ ///
+ /// Domain extracted from the url.full, such as "opentelemetry.io".
+ ///
+ ///
+ /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field.
+ ///
+ public const string AttributeUrlDomain = "url.domain";
+
+ ///
+ /// The file extension extracted from the url.full, excluding the leading dot.
+ ///
+ ///
+ /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz.
+ ///
+ public const string AttributeUrlExtension = "url.extension";
+
+ ///
+ /// The URI fragment component.
+ ///
+ public const string AttributeUrlFragment = "url.fragment";
+
+ ///
+ /// Absolute URL describing a network resource according to RFC3986.
+ ///
+ ///
+ /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.
+ /// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute's value SHOULD be https://REDACTED:REDACTED@www.example.com/.
+ /// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlFull = "url.full";
+
+ ///
+ /// Unmodified original URL as seen in the event source.
+ ///
+ ///
+ /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
+ /// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same.
+ ///
+ public const string AttributeUrlOriginal = "url.original";
+
+ ///
+ /// The URI path component.
+ ///
+ ///
+ /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlPath = "url.path";
+
+ ///
+ /// Port extracted from the url.full.
+ ///
+ public const string AttributeUrlPort = "url.port";
+
+ ///
+ /// The URI query component.
+ ///
+ ///
+ /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlQuery = "url.query";
+
+ ///
+ /// The highest registered url domain, stripped of the subdomain.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk.
+ ///
+ public const string AttributeUrlRegisteredDomain = "url.registered_domain";
+
+ ///
+ /// The URI scheme component identifying the used protocol.
+ ///
+ public const string AttributeUrlScheme = "url.scheme";
+
+ ///
+ /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.
+ ///
+ ///
+ /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period.
+ ///
+ public const string AttributeUrlSubdomain = "url.subdomain";
+
+ ///
+ /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list.
+ ///
+ public const string AttributeUrlTopLevelDomain = "url.top_level_domain";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs b/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
new file mode 100644
index 0000000000..b800068b94
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
@@ -0,0 +1,38 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class UserAgentAttributes
+ {
+ ///
+ /// Name of the user-agent extracted from original. Usually refers to the browser's name.
+ ///
+ ///
+ /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version.
+ ///
+ public const string AttributeUserAgentName = "user_agent.name";
+
+ ///
+ /// Value of the HTTP User-Agent header sent by the client.
+ ///
+ public const string AttributeUserAgentOriginal = "user_agent.original";
+
+ ///
+ /// Version of the user-agent extracted from original. Usually refers to the browser's version.
+ ///
+ ///
+ /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name.
+ ///
+ public const string AttributeUserAgentVersion = "user_agent.version";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs b/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
new file mode 100644
index 0000000000..5b9f846577
--- /dev/null
+++ b/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
@@ -0,0 +1,32 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2
+
+#pragma warning disable CS1570 // XML comment has badly formed XML
+
+using System;
+
+namespace OpenTelemetry.SemanticConventions
+{
+ ///
+ /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ ///
+ public static class WebengineAttributes
+ {
+ ///
+ /// Additional description of the web engine (e.g. detailed version and edition information).
+ ///
+ public const string AttributeWebengineDescription = "webengine.description";
+
+ ///
+ /// The name of the web engine.
+ ///
+ public const string AttributeWebengineName = "webengine.name";
+
+ ///
+ /// The version of the web engine.
+ ///
+ public const string AttributeWebengineVersion = "webengine.version";
+ }
+}
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
index cc20bcbf08..a55ebc73af 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -3,7 +3,6 @@ $ROOT_DIR = "${SCRIPT_DIR}/../"
# freeze the spec version to make SemanticAttributes generation reproducible
$SPEC_VERSION = "1.25.0"
-$SCHEMA_URL = "https://opentelemetry.io/schemas/$SPEC_VERSION"
$GENERATOR_VERSION = "latest"
Set-Location $SCRIPT_DIR
@@ -25,6 +24,6 @@ docker run --rm `
otel/semconvgen:$GENERATOR_VERSION `
-f /source code `
--template /templates/SemanticConventionsAttributes.cs.j2 `
- --output /output/SemanticConventionsAttributes.cs `
+ --output "/output/{{pascal_prefix}}Attributes.cs" `
--trim-whitespace `
- -D schemaUrl=$SCHEMA_URL `
+ --file-per-group root_namespace
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index 83fe5e8cc9..480ab7cc7f 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -6,7 +6,6 @@ ROOT_DIR="${SCRIPT_DIR}/../"
# freeze the spec version to make SemanticAttributes generation reproducible
SPEC_VERSION=1.25.0
-SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION
GENERATOR_VERSION=latest
cd ${SCRIPT_DIR}
@@ -28,6 +27,6 @@ docker run --rm \
otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/SemanticConventionsAttributes.cs.j2 \
- --output /output/SemanticConventionsAttributes.cs \
+ --output /output/{{pascal_prefix}}Attributes.cs \
--trim-whitespace \
- -DschemaUrl=$SCHEMA_URL
+ --file-per-group root_namespace
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index 99cc6de508..082d5c4140 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -30,12 +30,9 @@ namespace OpenTelemetry.SemanticConventions
///
/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
///
- ///
- /// Schema and specification version: {{schemaUrl}}.
- ///
- public static class SemanticConventionsAttributes
+ public static class {{ root_namespace | to_camelcase(True) }}Attributes
{
-{% for attribute in attributes if attribute.is_local and not attribute.ref %}
+{% for attribute in attributes_and_templates %}
{% if not loop.first %}{{"\n"}}{% endif %}
///
/// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
@@ -50,17 +47,7 @@ namespace OpenTelemetry.SemanticConventions
{% endif %}
public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
{% endfor %}
-{% for semconv in semconvs.values() %}
- {% if semconv.GROUP_TYPE_NAME == 'event' %}
-
- ///
- /// Event name for '{{semconv.semconv_id}}'.
- ///
- public static readonly string Event{{semconv.semconv_id | replace("-","_") | to_camelcase(True)}} = "{{semconv.name}}";
- {% endif %}
-{% endfor %}
-{% for attribute in attributes if attribute.is_local and not attribute.ref %}
- {% if attribute.is_enum %}
+{% for attribute in enum_attributes %}
{% set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %}
{% set type = attribute.attr_type.enum_type %}
@@ -77,7 +64,6 @@ namespace OpenTelemetry.SemanticConventions
{% if not loop.last %}{{"\n"}}{% endif %}
{% endfor %}
}
- {% endif %}
{% endfor %}
}
}
From fffdf411444e9ad6dcaabd603d6e9cf6b32a4096 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 10:23:17 +0000
Subject: [PATCH 18/26] Move to file-scoped namespace
---
.../AndroidAttributes.cs | 55 +-
.../AspnetcoreAttributes.cs | 151 ++-
.../AwsAttributes.cs | 429 ++++----
.../BrowserAttributes.cs | 71 +-
.../ClientAttributes.cs | 37 +-
.../CloudAttributes.cs | 453 ++++----
.../CloudeventsAttributes.cs | 57 +-
.../CodeAttributes.cs | 67 +-
.../ContainerAttributes.cs | 159 ++-
.../DbAttributes.cs | 975 +++++++++---------
.../DeploymentAttributes.cs | 23 +-
.../DestinationAttributes.cs | 31 +-
.../DeviceAttributes.cs | 71 +-
.../DiskAttributes.cs | 35 +-
.../DnsAttributes.cs | 23 +-
.../EnduserAttributes.cs | 33 +-
.../ErrorAttributes.cs | 37 +-
.../EventAttributes.cs | 23 +-
.../ExceptionAttributes.cs | 53 +-
.../FaasAttributes.cs | 325 +++---
.../FeatureFlagAttributes.cs | 39 +-
.../FileAttributes.cs | 63 +-
.../GcpAttributes.cs | 47 +-
.../GraphqlAttributes.cs | 65 +-
.../HerokuAttributes.cs | 33 +-
.../HostAttributes.cs | 203 ++--
.../HttpAttributes.cs | 367 ++++---
.../IosAttributes.cs | 71 +-
.../JvmAttributes.cs | 155 ++-
.../K8sAttributes.cs | 253 +++--
.../LogAttributes.cs | 85 +-
.../MessageAttributes.cs | 67 +-
.../MessagingAttributes.cs | 563 +++++-----
.../NetAttributes.cs | 205 ++--
.../NetworkAttributes.cs | 499 +++++----
.../OciAttributes.cs | 23 +-
.../OpentracingAttributes.cs | 41 +-
.../OsAttributes.cs | 141 ++-
.../OtelAttributes.cs | 81 +-
.../OtherAttributes.cs | 35 +-
.../PeerAttributes.cs | 17 +-
.../PoolAttributes.cs | 17 +-
.../ProcessAttributes.cs | 191 ++--
.../RpcAttributes.cs | 477 +++++----
.../ServerAttributes.cs | 37 +-
.../ServiceAttributes.cs | 65 +-
.../SessionAttributes.cs | 25 +-
.../SignalrAttributes.cs | 81 +-
.../SourceAttributes.cs | 31 +-
.../SystemAttributes.cs | 613 ++++++-----
.../TelemetryAttributes.cs | 175 ++--
.../ThreadAttributes.cs | 25 +-
.../TlsAttributes.cs | 267 +++--
.../UrlAttributes.cs | 181 ++--
.../UserAgentAttributes.cs | 45 +-
.../WebengineAttributes.cs | 33 +-
.../SemanticConventionsAttributes.cs.j2 | 63 +-
57 files changed, 4215 insertions(+), 4272 deletions(-)
diff --git a/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs b/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
index f8cf82c1f7..d03c767675 100644
--- a/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
@@ -7,45 +7,44 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class AndroidAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here.
+ ///
+ public const string AttributeAndroidOsApiLevel = "android.os.api_level";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived.
+ ///
+ public const string AttributeAndroidState = "android.state";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
///
- public static class AndroidAttributes
+ public static class AndroidStateValues
{
///
- /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here.
+ /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
///
- public const string AttributeAndroidOsApiLevel = "android.os.api_level";
+ public const string Created = "created";
///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
///
- ///
- /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived.
- ///
- public const string AttributeAndroidState = "android.state";
+ public const string Background = "background";
///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
///
- public static class AndroidStateValues
- {
- ///
- /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
- ///
- public const string Created = "created";
-
- ///
- /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
- ///
- public const string Background = "background";
-
- ///
- /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
- ///
- public const string Foreground = "foreground";
- }
+ public const string Foreground = "foreground";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs b/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
index fee0988623..cb436aacbb 100644
--- a/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
@@ -7,114 +7,113 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class AspnetcoreAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
+
+ ///
+ /// Full type name of the IExceptionHandler implementation that handled the exception.
+ ///
+ public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
+
+ ///
+ /// Rate limiting policy name.
+ ///
+ public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
+
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
+
+ ///
+ /// Flag indicating if request was handled by the application pipeline.
+ ///
+ public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
+
+ ///
+ /// A value that indicates whether the matched route is a fallback route.
+ ///
+ public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
+
+ ///
+ /// Match result - success or failure.
///
- public static class AspnetcoreAttributes
+ public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
+
+ ///
+ /// ASP.NET Core exception middleware handling result.
+ ///
+ public static class AspnetcoreDiagnosticsExceptionResultValues
{
///
- /// ASP.NET Core exception middleware handling result.
+ /// Exception was handled by the exception handling middleware.
///
- public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result";
+ public const string Handled = "handled";
///
- /// Full type name of the IExceptionHandler implementation that handled the exception.
+ /// Exception was not handled by the exception handling middleware.
///
- public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type";
+ public const string Unhandled = "unhandled";
///
- /// Rate limiting policy name.
+ /// Exception handling was skipped because the response had started.
///
- public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
+ public const string Skipped = "skipped";
///
- /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ /// Exception handling didn't run because the request was aborted.
///
- public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
+ public const string Aborted = "aborted";
+ }
+ ///
+ /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ ///
+ public static class AspnetcoreRateLimitingResultValues
+ {
///
- /// Flag indicating if request was handled by the application pipeline.
+ /// Lease was acquired.
///
- public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
+ public const string Acquired = "acquired";
///
- /// A value that indicates whether the matched route is a fallback route.
+ /// Lease request was rejected by the endpoint limiter.
///
- public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
+ public const string EndpointLimiter = "endpoint_limiter";
///
- /// Match result - success or failure.
+ /// Lease request was rejected by the global limiter.
///
- public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
+ public const string GlobalLimiter = "global_limiter";
///
- /// ASP.NET Core exception middleware handling result.
+ /// Lease request was canceled.
///
- public static class AspnetcoreDiagnosticsExceptionResultValues
- {
- ///
- /// Exception was handled by the exception handling middleware.
- ///
- public const string Handled = "handled";
-
- ///
- /// Exception was not handled by the exception handling middleware.
- ///
- public const string Unhandled = "unhandled";
-
- ///
- /// Exception handling was skipped because the response had started.
- ///
- public const string Skipped = "skipped";
-
- ///
- /// Exception handling didn't run because the request was aborted.
- ///
- public const string Aborted = "aborted";
- }
+ public const string RequestCanceled = "request_canceled";
+ }
+ ///
+ /// Match result - success or failure.
+ ///
+ public static class AspnetcoreRoutingMatchStatusValues
+ {
///
- /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason.
+ /// Match succeeded.
///
- public static class AspnetcoreRateLimitingResultValues
- {
- ///
- /// Lease was acquired.
- ///
- public const string Acquired = "acquired";
-
- ///
- /// Lease request was rejected by the endpoint limiter.
- ///
- public const string EndpointLimiter = "endpoint_limiter";
-
- ///
- /// Lease request was rejected by the global limiter.
- ///
- public const string GlobalLimiter = "global_limiter";
-
- ///
- /// Lease request was canceled.
- ///
- public const string RequestCanceled = "request_canceled";
- }
+ public const string Success = "success";
///
- /// Match result - success or failure.
+ /// Match failed.
///
- public static class AspnetcoreRoutingMatchStatusValues
- {
- ///
- /// Match succeeded.
- ///
- public const string Success = "success";
-
- ///
- /// Match failed.
- ///
- public const string Failure = "failure";
- }
+ public const string Failure = "failure";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs b/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
index 8348b944fb..fcaad1e8a7 100644
--- a/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
@@ -7,242 +7,242 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class AwsAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The JSON-serialized value of each item in the AttributeDefinitions request field.
///
- public static class AwsAttributes
- {
- ///
- /// The JSON-serialized value of each item in the AttributeDefinitions request field.
- ///
- public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
+ public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions";
- ///
- /// The value of the AttributesToGet request parameter.
- ///
- public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
+ ///
+ /// The value of the AttributesToGet request parameter.
+ ///
+ public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
- ///
- /// The value of the ConsistentRead request parameter.
- ///
- public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
+ ///
+ /// The value of the ConsistentRead request parameter.
+ ///
+ public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
- ///
- /// The JSON-serialized value of each item in the ConsumedCapacity response field.
- ///
- public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
+ ///
+ /// The JSON-serialized value of each item in the ConsumedCapacity response field.
+ ///
+ public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
- ///
- /// The value of the Count response parameter.
- ///
- public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
+ ///
+ /// The value of the Count response parameter.
+ ///
+ public const string AttributeAwsDynamodbCount = "aws.dynamodb.count";
- ///
- /// The value of the ExclusiveStartTableName request parameter.
- ///
- public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
+ ///
+ /// The value of the ExclusiveStartTableName request parameter.
+ ///
+ public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
- ///
- /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
+ ///
+ /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates";
- ///
- /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
+ ///
+ /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes";
- ///
- /// The value of the IndexName request parameter.
- ///
- public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
+ ///
+ /// The value of the IndexName request parameter.
+ ///
+ public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name";
- ///
- /// The JSON-serialized value of the ItemCollectionMetrics response field.
- ///
- public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
+ ///
+ /// The JSON-serialized value of the ItemCollectionMetrics response field.
+ ///
+ public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics";
- ///
- /// The value of the Limit request parameter.
- ///
- public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
+ ///
+ /// The value of the Limit request parameter.
+ ///
+ public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit";
- ///
- /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
- ///
- public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
+ ///
+ /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field.
+ ///
+ public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes";
- ///
- /// The value of the ProjectionExpression request parameter.
- ///
- public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
+ ///
+ /// The value of the ProjectionExpression request parameter.
+ ///
+ public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection";
- ///
- /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
+ ///
+ /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity";
- ///
- /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
- ///
- public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
+ ///
+ /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter.
+ ///
+ public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity";
- ///
- /// The value of the ScanIndexForward request parameter.
- ///
- public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
+ ///
+ /// The value of the ScanIndexForward request parameter.
+ ///
+ public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
- ///
- /// The value of the ScannedCount response parameter.
- ///
- public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
+ ///
+ /// The value of the ScannedCount response parameter.
+ ///
+ public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
- ///
- /// The value of the Segment request parameter.
- ///
- public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
+ ///
+ /// The value of the Segment request parameter.
+ ///
+ public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment";
- ///
- /// The value of the Select request parameter.
- ///
- public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
+ ///
+ /// The value of the Select request parameter.
+ ///
+ public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select";
- ///
- /// The number of items in the TableNames response parameter.
- ///
- public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
+ ///
+ /// The number of items in the TableNames response parameter.
+ ///
+ public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count";
- ///
- /// The keys in the RequestItems object field.
- ///
- public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
+ ///
+ /// The keys in the RequestItems object field.
+ ///
+ public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names";
- ///
- /// The value of the TotalSegments request parameter.
- ///
- public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
+ ///
+ /// The value of the TotalSegments request parameter.
+ ///
+ public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
- ///
- /// The ARN of an ECS cluster.
- ///
- public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
+ ///
+ /// The ARN of an ECS cluster.
+ ///
+ public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn";
- ///
- /// The Amazon Resource Name (ARN) of an ECS container instance.
- ///
- public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
+ ///
+ /// The Amazon Resource Name (ARN) of an ECS container instance.
+ ///
+ public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn";
- ///
- /// The launch type for an ECS task.
- ///
- public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype";
- ///
- /// The ARN of a running ECS task.
- ///
- public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
+ ///
+ /// The ARN of a running ECS task.
+ ///
+ public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn";
- ///
- /// The family name of the ECS task definition used to create the ECS task.
- ///
- public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
+ ///
+ /// The family name of the ECS task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family";
- ///
- /// The ID of a running ECS task. The ID MUST be extracted from task.arn.
- ///
- public const string AttributeAwsEcsTaskId = "aws.ecs.task.id";
+ ///
+ /// The ID of a running ECS task. The ID MUST be extracted from task.arn.
+ ///
+ public const string AttributeAwsEcsTaskId = "aws.ecs.task.id";
- ///
- /// The revision for the task definition used to create the ECS task.
- ///
- public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
+ ///
+ /// The revision for the task definition used to create the ECS task.
+ ///
+ public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision";
- ///
- /// The ARN of an EKS cluster.
- ///
- public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
+ ///
+ /// The ARN of an EKS cluster.
+ ///
+ public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn";
- ///
- /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
- ///
- ///
- /// This may be different from cloud.resource_id if an alias is involved.
- ///
- public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
+ ///
+ /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable).
+ ///
+ ///
+ /// This may be different from cloud.resource_id if an alias is involved.
+ ///
+ public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
- ///
- /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
- ///
- ///
- /// See the log group ARN format documentation.
- ///
- public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
+ ///
+ /// The Amazon Resource Name(s) (ARN) of the AWS log group(s).
+ ///
+ ///
+ /// See the log group ARN format documentation.
+ ///
+ public const string AttributeAwsLogGroupArns = "aws.log.group.arns";
- ///
- /// The name(s) of the AWS log group(s) an application is writing to.
- ///
- ///
- /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
- ///
- public const string AttributeAwsLogGroupNames = "aws.log.group.names";
+ ///
+ /// The name(s) of the AWS log group(s) an application is writing to.
+ ///
+ ///
+ /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group.
+ ///
+ public const string AttributeAwsLogGroupNames = "aws.log.group.names";
- ///
- /// The ARN(s) of the AWS log stream(s).
- ///
- ///
- /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
- ///
- public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
+ ///
+ /// The ARN(s) of the AWS log stream(s).
+ ///
+ ///
+ /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream.
+ ///
+ public const string AttributeAwsLogStreamArns = "aws.log.stream.arns";
- ///
- /// The name(s) of the AWS log stream(s) an application is writing to.
- ///
- public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
+ ///
+ /// The name(s) of the AWS log stream(s) an application is writing to.
+ ///
+ public const string AttributeAwsLogStreamNames = "aws.log.stream.names";
- ///
- /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.
- ///
- public const string AttributeAwsRequestId = "aws.request_id";
+ ///
+ /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid.
+ ///
+ public const string AttributeAwsRequestId = "aws.request_id";
- ///
- /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations.
- ///
- ///
- /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
+ ///
+ /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations.
+ ///
+ ///
+ /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
/// This applies to almost all S3 operations except list-buckets.
- ///
- public const string AttributeAwsS3Bucket = "aws.s3.bucket";
+ ///
+ public const string AttributeAwsS3Bucket = "aws.s3.bucket";
- ///
- /// The source object (in the form bucket/key) for the copy operation.
- ///
- ///
- /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter
+ ///
+ /// The source object (in the form bucket/key) for the copy operation.
+ ///
+ ///
+ /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter
/// of the copy-object operation within the S3 API.
/// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3CopySource = "aws.s3.copy_source";
+ ///
+ public const string AttributeAwsS3CopySource = "aws.s3.copy_source";
- ///
- /// The delete request container that specifies the objects to be deleted.
- ///
- ///
- /// The delete attribute is only applicable to the delete-object operation.
+ ///
+ /// The delete request container that specifies the objects to be deleted.
+ ///
+ ///
+ /// The delete attribute is only applicable to the delete-object operation.
/// The delete attribute corresponds to the --delete parameter of the
/// delete-objects operation within the S3 API.
- ///
- public const string AttributeAwsS3Delete = "aws.s3.delete";
+ ///
+ public const string AttributeAwsS3Delete = "aws.s3.delete";
- ///
- /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.
- ///
- ///
- /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
+ ///
+ /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.
+ ///
+ ///
+ /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter.
/// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3Key = "aws.s3.key";
+ ///
+ public const string AttributeAwsS3Key = "aws.s3.key";
- ///
- /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
- ///
- ///
- /// The part_number attribute is only applicable to the upload-part
+ ///
+ /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.
+ ///
+ ///
+ /// The part_number attribute is only applicable to the upload-part
/// and upload-part-copy operations.
/// The part_number attribute corresponds to the --part-number parameter of the
/// upload-part operation within the S3 API.
- ///
- public const string AttributeAwsS3PartNumber = "aws.s3.part_number";
+ ///
+ public const string AttributeAwsS3PartNumber = "aws.s3.part_number";
- ///
- /// Upload ID that identifies the multipart upload.
- ///
- ///
- /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter
+ ///
+ /// Upload ID that identifies the multipart upload.
+ ///
+ ///
+ /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter
/// of the S3 API multipart operations.
/// This applies in particular to the following operations:.
- ///
- public const string AttributeAwsS3UploadId = "aws.s3.upload_id";
+ ///
+ public const string AttributeAwsS3UploadId = "aws.s3.upload_id";
+
+ ///
+ /// The launch type for an ECS task.
+ ///
+ public static class AwsEcsLaunchtypeValues
+ {
+ ///
+ /// ec2.
+ ///
+ public const string Ec2 = "ec2";
///
- /// The launch type for an ECS task.
+ /// fargate.
///
- public static class AwsEcsLaunchtypeValues
- {
- ///
- /// ec2.
- ///
- public const string Ec2 = "ec2";
-
- ///
- /// fargate.
- ///
- public const string Fargate = "fargate";
- }
+ public const string Fargate = "fargate";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs b/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
index 9a0b09ffec..b4d81c70b5 100644
--- a/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
@@ -7,44 +7,43 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class BrowserAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Array of brand name and version separated by a space.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
+ ///
+ public const string AttributeBrowserBrands = "browser.brands";
+
+ ///
+ /// Preferred language of the user using the browser.
+ ///
+ ///
+ /// This value is intended to be taken from the Navigator API navigator.language.
+ ///
+ public const string AttributeBrowserLanguage = "browser.language";
+
+ ///
+ /// A boolean that is true if the browser is running on a mobile device.
+ ///
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset.
+ ///
+ public const string AttributeBrowserMobile = "browser.mobile";
+
+ ///
+ /// The platform on which the browser is running.
///
- public static class BrowserAttributes
- {
- ///
- /// Array of brand name and version separated by a space.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands).
- ///
- public const string AttributeBrowserBrands = "browser.brands";
-
- ///
- /// Preferred language of the user using the browser.
- ///
- ///
- /// This value is intended to be taken from the Navigator API navigator.language.
- ///
- public const string AttributeBrowserLanguage = "browser.language";
-
- ///
- /// A boolean that is true if the browser is running on a mobile device.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset.
- ///
- public const string AttributeBrowserMobile = "browser.mobile";
-
- ///
- /// The platform on which the browser is running.
- ///
- ///
- /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
+ ///
+ /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent.
/// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides.
- ///
- public const string AttributeBrowserPlatform = "browser.platform";
- }
+ ///
+ public const string AttributeBrowserPlatform = "browser.platform";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs b/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
index 6d35640fe6..724e0bd156 100644
--- a/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
@@ -7,27 +7,26 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ClientAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
///
- public static class ClientAttributes
- {
- ///
- /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeClientAddress = "client.address";
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientAddress = "client.address";
- ///
- /// Client port number.
- ///
- ///
- /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeClientPort = "client.port";
- }
+ ///
+ /// Client port number.
+ ///
+ ///
+ /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeClientPort = "client.port";
}
diff --git a/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs b/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
index 780108d1db..a85e786392 100644
--- a/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
@@ -7,52 +7,52 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class CloudAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The cloud account ID the resource is assigned to.
///
- public static class CloudAttributes
- {
- ///
- /// The cloud account ID the resource is assigned to.
- ///
- public const string AttributeCloudAccountId = "cloud.account.id";
+ public const string AttributeCloudAccountId = "cloud.account.id";
- ///
- /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
- ///
- ///
- /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
- ///
- public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
+ ///
+ /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running.
+ ///
+ ///
+ /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud.
+ ///
+ public const string AttributeCloudAvailabilityZone = "cloud.availability_zone";
- ///
- /// The cloud platform in use.
- ///
- ///
- /// The prefix of the service SHOULD match the one specified in cloud.provider.
- ///
- public const string AttributeCloudPlatform = "cloud.platform";
+ ///
+ /// The cloud platform in use.
+ ///
+ ///
+ /// The prefix of the service SHOULD match the one specified in cloud.provider.
+ ///
+ public const string AttributeCloudPlatform = "cloud.platform";
- ///
- /// Name of the cloud provider.
- ///
- public const string AttributeCloudProvider = "cloud.provider";
+ ///
+ /// Name of the cloud provider.
+ ///
+ public const string AttributeCloudProvider = "cloud.provider";
- ///
- /// The geographical region the resource is running.
- ///
- ///
- /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
- ///
- public const string AttributeCloudRegion = "cloud.region";
+ ///
+ /// The geographical region the resource is running.
+ ///
+ ///
+ /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions.
+ ///
+ public const string AttributeCloudRegion = "cloud.region";
- ///
- /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
- ///
- ///
- /// On some cloud providers, it may not be possible to determine the full ID at startup,
+ ///
+ /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP).
+ ///
+ ///
+ /// On some cloud providers, it may not be possible to determine the full ID at startup,
/// so it may be necessary to set cloud.resource_id as a span attribute instead.The exact value to use for cloud.resource_id depends on the cloud provider.
/// The following well-known definitions MUST be used if you set this attribute and they apply:
/// - AWS Lambda: The function ARN.
@@ -67,194 +67,193 @@ public static class CloudAttributes
/// This means that a span attribute MUST be used, as an Azure function app can host multiple functions that would usually share
/// a TracerProvider
///
.
- ///
- public const string AttributeCloudResourceId = "cloud.resource_id";
-
- ///
- /// The cloud platform in use.
- ///
- public static class CloudPlatformValues
- {
- ///
- /// Alibaba Cloud Elastic Compute Service.
- ///
- public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
-
- ///
- /// Alibaba Cloud Function Compute.
- ///
- public const string AlibabaCloudFc = "alibaba_cloud_fc";
-
- ///
- /// Red Hat OpenShift on Alibaba Cloud.
- ///
- public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
-
- ///
- /// AWS Elastic Compute Cloud.
- ///
- public const string AwsEc2 = "aws_ec2";
-
- ///
- /// AWS Elastic Container Service.
- ///
- public const string AwsEcs = "aws_ecs";
-
- ///
- /// AWS Elastic Kubernetes Service.
- ///
- public const string AwsEks = "aws_eks";
-
- ///
- /// AWS Lambda.
- ///
- public const string AwsLambda = "aws_lambda";
-
- ///
- /// AWS Elastic Beanstalk.
- ///
- public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
-
- ///
- /// AWS App Runner.
- ///
- public const string AwsAppRunner = "aws_app_runner";
-
- ///
- /// Red Hat OpenShift on AWS (ROSA).
- ///
- public const string AwsOpenshift = "aws_openshift";
-
- ///
- /// Azure Virtual Machines.
- ///
- public const string AzureVm = "azure_vm";
-
- ///
- /// Azure Container Apps.
- ///
- public const string AzureContainerApps = "azure_container_apps";
-
- ///
- /// Azure Container Instances.
- ///
- public const string AzureContainerInstances = "azure_container_instances";
-
- ///
- /// Azure Kubernetes Service.
- ///
- public const string AzureAks = "azure_aks";
-
- ///
- /// Azure Functions.
- ///
- public const string AzureFunctions = "azure_functions";
-
- ///
- /// Azure App Service.
- ///
- public const string AzureAppService = "azure_app_service";
-
- ///
- /// Azure Red Hat OpenShift.
- ///
- public const string AzureOpenshift = "azure_openshift";
-
- ///
- /// Google Bare Metal Solution (BMS).
- ///
- public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
-
- ///
- /// Google Cloud Compute Engine (GCE).
- ///
- public const string GcpComputeEngine = "gcp_compute_engine";
-
- ///
- /// Google Cloud Run.
- ///
- public const string GcpCloudRun = "gcp_cloud_run";
-
- ///
- /// Google Cloud Kubernetes Engine (GKE).
- ///
- public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
-
- ///
- /// Google Cloud Functions (GCF).
- ///
- public const string GcpCloudFunctions = "gcp_cloud_functions";
-
- ///
- /// Google Cloud App Engine (GAE).
- ///
- public const string GcpAppEngine = "gcp_app_engine";
-
- ///
- /// Red Hat OpenShift on Google Cloud.
- ///
- public const string GcpOpenshift = "gcp_openshift";
-
- ///
- /// Red Hat OpenShift on IBM Cloud.
- ///
- public const string IbmCloudOpenshift = "ibm_cloud_openshift";
-
- ///
- /// Tencent Cloud Cloud Virtual Machine (CVM).
- ///
- public const string TencentCloudCvm = "tencent_cloud_cvm";
-
- ///
- /// Tencent Cloud Elastic Kubernetes Service (EKS).
- ///
- public const string TencentCloudEks = "tencent_cloud_eks";
-
- ///
- /// Tencent Cloud Serverless Cloud Function (SCF).
- ///
- public const string TencentCloudScf = "tencent_cloud_scf";
- }
-
- ///
- /// Name of the cloud provider.
- ///
- public static class CloudProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Heroku Platform as a Service.
- ///
- public const string Heroku = "heroku";
-
- ///
- /// IBM Cloud.
- ///
- public const string IbmCloud = "ibm_cloud";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
+ ///
+ public const string AttributeCloudResourceId = "cloud.resource_id";
+
+ ///
+ /// The cloud platform in use.
+ ///
+ public static class CloudPlatformValues
+ {
+ ///
+ /// Alibaba Cloud Elastic Compute Service.
+ ///
+ public const string AlibabaCloudEcs = "alibaba_cloud_ecs";
+
+ ///
+ /// Alibaba Cloud Function Compute.
+ ///
+ public const string AlibabaCloudFc = "alibaba_cloud_fc";
+
+ ///
+ /// Red Hat OpenShift on Alibaba Cloud.
+ ///
+ public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift";
+
+ ///
+ /// AWS Elastic Compute Cloud.
+ ///
+ public const string AwsEc2 = "aws_ec2";
+
+ ///
+ /// AWS Elastic Container Service.
+ ///
+ public const string AwsEcs = "aws_ecs";
+
+ ///
+ /// AWS Elastic Kubernetes Service.
+ ///
+ public const string AwsEks = "aws_eks";
+
+ ///
+ /// AWS Lambda.
+ ///
+ public const string AwsLambda = "aws_lambda";
+
+ ///
+ /// AWS Elastic Beanstalk.
+ ///
+ public const string AwsElasticBeanstalk = "aws_elastic_beanstalk";
+
+ ///
+ /// AWS App Runner.
+ ///
+ public const string AwsAppRunner = "aws_app_runner";
+
+ ///
+ /// Red Hat OpenShift on AWS (ROSA).
+ ///
+ public const string AwsOpenshift = "aws_openshift";
+
+ ///
+ /// Azure Virtual Machines.
+ ///
+ public const string AzureVm = "azure_vm";
+
+ ///
+ /// Azure Container Apps.
+ ///
+ public const string AzureContainerApps = "azure_container_apps";
+
+ ///
+ /// Azure Container Instances.
+ ///
+ public const string AzureContainerInstances = "azure_container_instances";
+
+ ///
+ /// Azure Kubernetes Service.
+ ///
+ public const string AzureAks = "azure_aks";
+
+ ///
+ /// Azure Functions.
+ ///
+ public const string AzureFunctions = "azure_functions";
+
+ ///
+ /// Azure App Service.
+ ///
+ public const string AzureAppService = "azure_app_service";
+
+ ///
+ /// Azure Red Hat OpenShift.
+ ///
+ public const string AzureOpenshift = "azure_openshift";
+
+ ///
+ /// Google Bare Metal Solution (BMS).
+ ///
+ public const string GcpBareMetalSolution = "gcp_bare_metal_solution";
+
+ ///
+ /// Google Cloud Compute Engine (GCE).
+ ///
+ public const string GcpComputeEngine = "gcp_compute_engine";
+
+ ///
+ /// Google Cloud Run.
+ ///
+ public const string GcpCloudRun = "gcp_cloud_run";
+
+ ///
+ /// Google Cloud Kubernetes Engine (GKE).
+ ///
+ public const string GcpKubernetesEngine = "gcp_kubernetes_engine";
+
+ ///
+ /// Google Cloud Functions (GCF).
+ ///
+ public const string GcpCloudFunctions = "gcp_cloud_functions";
+
+ ///
+ /// Google Cloud App Engine (GAE).
+ ///
+ public const string GcpAppEngine = "gcp_app_engine";
+
+ ///
+ /// Red Hat OpenShift on Google Cloud.
+ ///
+ public const string GcpOpenshift = "gcp_openshift";
+
+ ///
+ /// Red Hat OpenShift on IBM Cloud.
+ ///
+ public const string IbmCloudOpenshift = "ibm_cloud_openshift";
+
+ ///
+ /// Tencent Cloud Cloud Virtual Machine (CVM).
+ ///
+ public const string TencentCloudCvm = "tencent_cloud_cvm";
+
+ ///
+ /// Tencent Cloud Elastic Kubernetes Service (EKS).
+ ///
+ public const string TencentCloudEks = "tencent_cloud_eks";
+
+ ///
+ /// Tencent Cloud Serverless Cloud Function (SCF).
+ ///
+ public const string TencentCloudScf = "tencent_cloud_scf";
+ }
+
+ ///
+ /// Name of the cloud provider.
+ ///
+ public static class CloudProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Heroku Platform as a Service.
+ ///
+ public const string Heroku = "heroku";
+
+ ///
+ /// IBM Cloud.
+ ///
+ public const string IbmCloud = "ibm_cloud";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs b/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
index 8d1882baab..17114d24a0 100644
--- a/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
@@ -7,36 +7,35 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class CloudeventsAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The event_id uniquely identifies the event.
+ ///
+ public const string AttributeCloudeventsEventId = "cloudevents.event_id";
+
+ ///
+ /// The source identifies the context in which an event happened.
+ ///
+ public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
+
+ ///
+ /// The version of the CloudEvents specification which the event uses.
+ ///
+ public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
+
+ ///
+ /// The subject of the event in the context of the event producer (identified by source).
+ ///
+ public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
+
+ ///
+ /// The event_type contains a value describing the type of event related to the originating occurrence.
///
- public static class CloudeventsAttributes
- {
- ///
- /// The event_id uniquely identifies the event.
- ///
- public const string AttributeCloudeventsEventId = "cloudevents.event_id";
-
- ///
- /// The source identifies the context in which an event happened.
- ///
- public const string AttributeCloudeventsEventSource = "cloudevents.event_source";
-
- ///
- /// The version of the CloudEvents specification which the event uses.
- ///
- public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
-
- ///
- /// The subject of the event in the context of the event producer (identified by source).
- ///
- public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject";
-
- ///
- /// The event_type contains a value describing the type of event related to the originating occurrence.
- ///
- public const string AttributeCloudeventsEventType = "cloudevents.event_type";
- }
+ public const string AttributeCloudeventsEventType = "cloudevents.event_type";
}
diff --git a/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs b/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
index eac4cff492..ebe40ae35c 100644
--- a/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
@@ -7,41 +7,40 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class CodeAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeColumn = "code.column";
+
+ ///
+ /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
+ ///
+ public const string AttributeCodeFilepath = "code.filepath";
+
+ ///
+ /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
+ ///
+ public const string AttributeCodeFunction = "code.function";
+
+ ///
+ /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
+ ///
+ public const string AttributeCodeLineno = "code.lineno";
+
+ ///
+ /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
+ ///
+ public const string AttributeCodeNamespace = "code.namespace";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
///
- public static class CodeAttributes
- {
- ///
- /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
- ///
- public const string AttributeCodeColumn = "code.column";
-
- ///
- /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).
- ///
- public const string AttributeCodeFilepath = "code.filepath";
-
- ///
- /// The method or function name, or equivalent (usually rightmost part of the code unit's name).
- ///
- public const string AttributeCodeFunction = "code.function";
-
- ///
- /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function.
- ///
- public const string AttributeCodeLineno = "code.lineno";
-
- ///
- /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.
- ///
- public const string AttributeCodeNamespace = "code.namespace";
-
- ///
- /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- ///
- public const string AttributeCodeStacktrace = "code.stacktrace";
- }
+ public const string AttributeCodeStacktrace = "code.stacktrace";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs b/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
index bccbf945eb..53f6b930b9 100644
--- a/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
@@ -7,109 +7,108 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ContainerAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The command used to run the container (i.e. the command name).
///
- public static class ContainerAttributes
- {
- ///
- /// The command used to run the container (i.e. the command name).
- ///
- ///
- /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
- ///
- public const string AttributeContainerCommand = "container.command";
+ ///
+ /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
+ ///
+ public const string AttributeContainerCommand = "container.command";
- ///
- /// All the command arguments (including the command/executable itself) run by the container. [2].
- ///
- public const string AttributeContainerCommandArgs = "container.command_args";
+ ///
+ /// All the command arguments (including the command/executable itself) run by the container. [2].
+ ///
+ public const string AttributeContainerCommandArgs = "container.command_args";
- ///
- /// The full command run by the container as a single string representing the full command. [2].
- ///
- public const string AttributeContainerCommandLine = "container.command_line";
+ ///
+ /// The full command run by the container as a single string representing the full command. [2].
+ ///
+ public const string AttributeContainerCommandLine = "container.command_line";
- ///
- /// The CPU state for this data point.
- ///
- public const string AttributeContainerCpuState = "container.cpu.state";
+ ///
+ /// The CPU state for this data point.
+ ///
+ public const string AttributeContainerCpuState = "container.cpu.state";
- ///
- /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
- ///
- public const string AttributeContainerId = "container.id";
+ ///
+ /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.
+ ///
+ public const string AttributeContainerId = "container.id";
- ///
- /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
- ///
- ///
- /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint.
+ ///
+ /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
+ ///
+ ///
+ /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint.
/// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625".
/// The ID is assinged by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes.
- ///
- public const string AttributeContainerImageId = "container.image.id";
+ ///
+ public const string AttributeContainerImageId = "container.image.id";
- ///
- /// Name of the image the container was built on.
- ///
- public const string AttributeContainerImageName = "container.image.name";
+ ///
+ /// Name of the image the container was built on.
+ ///
+ public const string AttributeContainerImageName = "container.image.name";
- ///
- /// Repo digests of the container image as provided by the container runtime.
- ///
- ///
- /// Docker and CRI report those under the RepoDigests field.
- ///
- public const string AttributeContainerImageRepoDigests = "container.image.repo_digests";
+ ///
+ /// Repo digests of the container image as provided by the container runtime.
+ ///
+ ///
+ /// Docker and CRI report those under the RepoDigests field.
+ ///
+ public const string AttributeContainerImageRepoDigests = "container.image.repo_digests";
- ///
- /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:.
- ///
- public const string AttributeContainerImageTags = "container.image.tags";
+ ///
+ /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:.
+ ///
+ public const string AttributeContainerImageTags = "container.image.tags";
- ///
- /// Container labels, being the label name, the value being the label value.
- ///
- public const string AttributeContainerLabel = "container.label";
+ ///
+ /// Container labels, being the label name, the value being the label value.
+ ///
+ public const string AttributeContainerLabel = "container.label";
- ///
- /// Deprecated, use container.label instead.
- ///
- [Obsolete("Replaced by `container.label`")]
- public const string AttributeContainerLabels = "container.labels";
+ ///
+ /// Deprecated, use container.label instead.
+ ///
+ [Obsolete("Replaced by `container.label`")]
+ public const string AttributeContainerLabels = "container.labels";
+
+ ///
+ /// Container name used by container runtime.
+ ///
+ public const string AttributeContainerName = "container.name";
+ ///
+ /// The container runtime managing this container.
+ ///
+ public const string AttributeContainerRuntime = "container.runtime";
+
+ ///
+ /// The CPU state for this data point.
+ ///
+ public static class ContainerCpuStateValues
+ {
///
- /// Container name used by container runtime.
+ /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).
///
- public const string AttributeContainerName = "container.name";
+ public const string User = "user";
///
- /// The container runtime managing this container.
+ /// When CPU is used by the system (host OS).
///
- public const string AttributeContainerRuntime = "container.runtime";
+ public const string System = "system";
///
- /// The CPU state for this data point.
+ /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).
///
- public static class ContainerCpuStateValues
- {
- ///
- /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).
- ///
- public const string User = "user";
-
- ///
- /// When CPU is used by the system (host OS).
- ///
- public const string System = "system";
-
- ///
- /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).
- ///
- public const string Kernel = "kernel";
- }
+ public const string Kernel = "kernel";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/DbAttributes.cs b/src/OpenTelemetry.SemanticConventions/DbAttributes.cs
index e68d1492cd..ffdbf56873 100644
--- a/src/OpenTelemetry.SemanticConventions/DbAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DbAttributes.cs
@@ -7,606 +7,605 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DbAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
+
+ ///
+ /// The data center of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
+
+ ///
+ /// The ID of the coordinating node for a query.
+ ///
+ public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
+
+ ///
+ /// Whether or not the query is idempotent.
+ ///
+ public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
+
+ ///
+ /// The fetch size used for paging, i.e. how many rows will be returned at once.
+ ///
+ public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
+
+ ///
+ /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
+ ///
+ public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
+
+ ///
+ /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable).
///
- public static class DbAttributes
+ ///
+ /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbCassandraTable = "db.cassandra.table";
+
+ ///
+ /// Deprecated, use server.address, server.port attributes instead.
+ ///
+ [Obsolete("Replaced by `server.address` and `server.port`.")]
+ public const string AttributeDbConnectionString = "db.connection_string";
+
+ ///
+ /// Unique Cosmos client instance id.
+ ///
+ public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id";
+
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
+
+ ///
+ /// Cosmos DB container name.
+ ///
+ public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container";
+
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type";
+
+ ///
+ /// RU consumed for that operation.
+ ///
+ public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
+
+ ///
+ /// Request payload size in bytes.
+ ///
+ public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
+
+ ///
+ /// Cosmos DB status code.
+ ///
+ public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code";
+
+ ///
+ /// Cosmos DB sub status code.
+ ///
+ public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
+
+ ///
+ /// Represents the identifier of an Elasticsearch cluster.
+ ///
+ public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name";
+
+ ///
+ /// Deprecated, use db.instance.id instead.
+ ///
+ [Obsolete("Replaced by `db.instance.id`")]
+ public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name";
+
+ ///
+ /// A dynamic value in the url path.
+ ///
+ ///
+ /// Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format db.elasticsearch.path_parts.<key>, where <key> is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names.
+ ///
+ public const string AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts";
+
+ ///
+ /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname.
+ ///
+ public const string AttributeDbInstanceId = "db.instance.id";
+
+ ///
+ /// Removed, no replacement at this time.
+ ///
+ [Obsolete("Removed as not used")]
+ public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
+
+ ///
+ /// The MongoDB collection being accessed within the database stated in db.name.
+ ///
+ public const string AttributeDbMongodbCollection = "db.mongodb.collection";
+
+ ///
+ /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
+ ///
+ ///
+ /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard).
+ ///
+ public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
+
+ ///
+ /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
+ ///
+ ///
+ /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
+ ///
+ public const string AttributeDbName = "db.name";
+
+ ///
+ /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
+ ///
+ ///
+ /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
+ ///
+ public const string AttributeDbOperation = "db.operation";
+
+ ///
+ /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
+ ///
+ public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
+
+ ///
+ /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
+ ///
+ ///
+ /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
+ ///
+ public const string AttributeDbSqlTable = "db.sql.table";
+
+ ///
+ /// The database statement being executed.
+ ///
+ public const string AttributeDbStatement = "db.statement";
+
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeDbSystem = "db.system";
+
+ ///
+ /// Username for accessing the database.
+ ///
+ public const string AttributeDbUser = "db.user";
+
+ ///
+ /// The consistency level of the query. Based on consistency values from CQL.
+ ///
+ public static class DbCassandraConsistencyLevelValues
{
///
- /// The consistency level of the query. Based on consistency values from CQL.
+ /// all.
///
- public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
+ public const string All = "all";
///
- /// The data center of the coordinating node for a query.
+ /// each_quorum.
///
- public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
+ public const string EachQuorum = "each_quorum";
///
- /// The ID of the coordinating node for a query.
+ /// quorum.
///
- public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
+ public const string Quorum = "quorum";
///
- /// Whether or not the query is idempotent.
+ /// local_quorum.
///
- public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence";
+ public const string LocalQuorum = "local_quorum";
///
- /// The fetch size used for paging, i.e. how many rows will be returned at once.
+ /// one.
///
- public const string AttributeDbCassandraPageSize = "db.cassandra.page_size";
+ public const string One = "one";
///
- /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.
+ /// two.
///
- public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count";
+ public const string Two = "two";
///
- /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable).
+ /// three.
///
- ///
- /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbCassandraTable = "db.cassandra.table";
+ public const string Three = "three";
///
- /// Deprecated, use server.address, server.port attributes instead.
+ /// local_one.
///
- [Obsolete("Replaced by `server.address` and `server.port`.")]
- public const string AttributeDbConnectionString = "db.connection_string";
+ public const string LocalOne = "local_one";
///
- /// Unique Cosmos client instance id.
+ /// any.
///
- public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id";
+ public const string Any = "any";
///
- /// Cosmos client connection mode.
+ /// serial.
///
- public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
+ public const string Serial = "serial";
///
- /// Cosmos DB container name.
+ /// local_serial.
///
- public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container";
+ public const string LocalSerial = "local_serial";
+ }
+ ///
+ /// Cosmos client connection mode.
+ ///
+ public static class DbCosmosdbConnectionModeValues
+ {
///
- /// CosmosDB Operation Type.
+ /// Gateway (HTTP) connections mode.
///
- public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type";
+ public const string Gateway = "gateway";
///
- /// RU consumed for that operation.
+ /// Direct connection.
///
- public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
+ public const string Direct = "direct";
+ }
+ ///
+ /// CosmosDB Operation Type.
+ ///
+ public static class DbCosmosdbOperationTypeValues
+ {
///
- /// Request payload size in bytes.
+ /// invalid.
///
- public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
+ public const string Invalid = "Invalid";
///
- /// Cosmos DB status code.
+ /// create.
///
- public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code";
+ public const string Create = "Create";
///
- /// Cosmos DB sub status code.
+ /// patch.
///
- public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
+ public const string Patch = "Patch";
///
- /// Represents the identifier of an Elasticsearch cluster.
+ /// read.
///
- public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name";
+ public const string Read = "Read";
///
- /// Deprecated, use db.instance.id instead.
+ /// read_feed.
///
- [Obsolete("Replaced by `db.instance.id`")]
- public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name";
+ public const string ReadFeed = "ReadFeed";
///
- /// A dynamic value in the url path.
+ /// delete.
///
- ///
- /// Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format db.elasticsearch.path_parts.<key>, where <key> is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names.
- ///
- public const string AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts";
+ public const string Delete = "Delete";
///
- /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname.
+ /// replace.
///
- public const string AttributeDbInstanceId = "db.instance.id";
+ public const string Replace = "Replace";
///
- /// Removed, no replacement at this time.
+ /// execute.
///
- [Obsolete("Removed as not used")]
- public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname";
+ public const string Execute = "Execute";
///
- /// The MongoDB collection being accessed within the database stated in db.name.
+ /// query.
///
- public const string AttributeDbMongodbCollection = "db.mongodb.collection";
+ public const string Query = "Query";
///
- /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance.
+ /// head.
///
- ///
- /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard).
- ///
- public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name";
+ public const string Head = "Head";
///
- /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails).
+ /// head_feed.
///
- ///
- /// In some SQL databases, the database name to be used is called "schema name". In case there are multiple layers that could be considered for database name (e.g. Oracle instance name and schema name), the database name to be used is the more specific layer (e.g. Oracle schema name).
- ///
- public const string AttributeDbName = "db.name";
+ public const string HeadFeed = "HeadFeed";
///
- /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword.
+ /// upsert.
///
- ///
- /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted.
- ///
- public const string AttributeDbOperation = "db.operation";
+ public const string Upsert = "Upsert";
///
- /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.
+ /// batch.
///
- public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index";
+ public const string Batch = "Batch";
///
- /// The name of the primary table that the operation is acting upon, including the database name (if applicable).
+ /// query_plan.
///
- ///
- /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.
- ///
- public const string AttributeDbSqlTable = "db.sql.table";
+ public const string QueryPlan = "QueryPlan";
///
- /// The database statement being executed.
+ /// execute_javascript.
///
- public const string AttributeDbStatement = "db.statement";
+ public const string ExecuteJavascript = "ExecuteJavaScript";
+ }
+ ///
+ /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ ///
+ public static class DbSystemValues
+ {
///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
+ /// Some other SQL database. Fallback only. See notes.
///
- public const string AttributeDbSystem = "db.system";
+ public const string OtherSql = "other_sql";
///
- /// Username for accessing the database.
+ /// Microsoft SQL Server.
///
- public const string AttributeDbUser = "db.user";
+ public const string Mssql = "mssql";
///
- /// The consistency level of the query. Based on consistency values from CQL.
+ /// Microsoft SQL Server Compact.
///
- public static class DbCassandraConsistencyLevelValues
- {
- ///
- /// all.
- ///
- public const string All = "all";
+ public const string Mssqlcompact = "mssqlcompact";
- ///
- /// each_quorum.
- ///
- public const string EachQuorum = "each_quorum";
+ ///
+ /// MySQL.
+ ///
+ public const string Mysql = "mysql";
- ///
- /// quorum.
- ///
- public const string Quorum = "quorum";
+ ///
+ /// Oracle Database.
+ ///
+ public const string Oracle = "oracle";
- ///
- /// local_quorum.
- ///
- public const string LocalQuorum = "local_quorum";
+ ///
+ /// IBM Db2.
+ ///
+ public const string Db2 = "db2";
- ///
- /// one.
- ///
- public const string One = "one";
+ ///
+ /// PostgreSQL.
+ ///
+ public const string Postgresql = "postgresql";
- ///
- /// two.
- ///
- public const string Two = "two";
+ ///
+ /// Amazon Redshift.
+ ///
+ public const string Redshift = "redshift";
- ///
- /// three.
- ///
- public const string Three = "three";
+ ///
+ /// Apache Hive.
+ ///
+ public const string Hive = "hive";
- ///
- /// local_one.
- ///
- public const string LocalOne = "local_one";
+ ///
+ /// Cloudscape.
+ ///
+ public const string Cloudscape = "cloudscape";
- ///
- /// any.
- ///
- public const string Any = "any";
+ ///
+ /// HyperSQL DataBase.
+ ///
+ public const string Hsqldb = "hsqldb";
+
+ ///
+ /// Progress Database.
+ ///
+ public const string Progress = "progress";
+
+ ///
+ /// SAP MaxDB.
+ ///
+ public const string Maxdb = "maxdb";
+
+ ///
+ /// SAP HANA.
+ ///
+ public const string Hanadb = "hanadb";
+
+ ///
+ /// Ingres.
+ ///
+ public const string Ingres = "ingres";
+
+ ///
+ /// FirstSQL.
+ ///
+ public const string Firstsql = "firstsql";
+
+ ///
+ /// EnterpriseDB.
+ ///
+ public const string Edb = "edb";
+
+ ///
+ /// InterSystems Caché.
+ ///
+ public const string Cache = "cache";
+
+ ///
+ /// Adabas (Adaptable Database System).
+ ///
+ public const string Adabas = "adabas";
+
+ ///
+ /// Firebird.
+ ///
+ public const string Firebird = "firebird";
+
+ ///
+ /// Apache Derby.
+ ///
+ public const string Derby = "derby";
+
+ ///
+ /// FileMaker.
+ ///
+ public const string Filemaker = "filemaker";
+
+ ///
+ /// Informix.
+ ///
+ public const string Informix = "informix";
+
+ ///
+ /// InstantDB.
+ ///
+ public const string Instantdb = "instantdb";
+
+ ///
+ /// InterBase.
+ ///
+ public const string Interbase = "interbase";
+
+ ///
+ /// MariaDB.
+ ///
+ public const string Mariadb = "mariadb";
+
+ ///
+ /// Netezza.
+ ///
+ public const string Netezza = "netezza";
+
+ ///
+ /// Pervasive PSQL.
+ ///
+ public const string Pervasive = "pervasive";
+
+ ///
+ /// PointBase.
+ ///
+ public const string Pointbase = "pointbase";
+
+ ///
+ /// SQLite.
+ ///
+ public const string Sqlite = "sqlite";
+
+ ///
+ /// Sybase.
+ ///
+ public const string Sybase = "sybase";
+
+ ///
+ /// Teradata.
+ ///
+ public const string Teradata = "teradata";
+
+ ///
+ /// Vertica.
+ ///
+ public const string Vertica = "vertica";
+
+ ///
+ /// H2.
+ ///
+ public const string H2 = "h2";
+
+ ///
+ /// ColdFusion IMQ.
+ ///
+ public const string Coldfusion = "coldfusion";
+
+ ///
+ /// Apache Cassandra.
+ ///
+ public const string Cassandra = "cassandra";
+
+ ///
+ /// Apache HBase.
+ ///
+ public const string Hbase = "hbase";
+
+ ///
+ /// MongoDB.
+ ///
+ public const string Mongodb = "mongodb";
+
+ ///
+ /// Redis.
+ ///
+ public const string Redis = "redis";
+
+ ///
+ /// Couchbase.
+ ///
+ public const string Couchbase = "couchbase";
+
+ ///
+ /// CouchDB.
+ ///
+ public const string Couchdb = "couchdb";
- ///
- /// serial.
- ///
- public const string Serial = "serial";
+ ///
+ /// Microsoft Azure Cosmos DB.
+ ///
+ public const string Cosmosdb = "cosmosdb";
- ///
- /// local_serial.
- ///
- public const string LocalSerial = "local_serial";
- }
+ ///
+ /// Amazon DynamoDB.
+ ///
+ public const string Dynamodb = "dynamodb";
+
+ ///
+ /// Neo4j.
+ ///
+ public const string Neo4j = "neo4j";
+
+ ///
+ /// Apache Geode.
+ ///
+ public const string Geode = "geode";
///
- /// Cosmos client connection mode.
+ /// Elasticsearch.
///
- public static class DbCosmosdbConnectionModeValues
- {
- ///
- /// Gateway (HTTP) connections mode.
- ///
- public const string Gateway = "gateway";
+ public const string Elasticsearch = "elasticsearch";
- ///
- /// Direct connection.
- ///
- public const string Direct = "direct";
- }
+ ///
+ /// Memcached.
+ ///
+ public const string Memcached = "memcached";
+
+ ///
+ /// CockroachDB.
+ ///
+ public const string Cockroachdb = "cockroachdb";
+
+ ///
+ /// OpenSearch.
+ ///
+ public const string Opensearch = "opensearch";
+
+ ///
+ /// ClickHouse.
+ ///
+ public const string Clickhouse = "clickhouse";
+
+ ///
+ /// Cloud Spanner.
+ ///
+ public const string Spanner = "spanner";
///
- /// CosmosDB Operation Type.
+ /// Trino.
///
- public static class DbCosmosdbOperationTypeValues
- {
- ///
- /// invalid.
- ///
- public const string Invalid = "Invalid";
-
- ///
- /// create.
- ///
- public const string Create = "Create";
-
- ///
- /// patch.
- ///
- public const string Patch = "Patch";
-
- ///
- /// read.
- ///
- public const string Read = "Read";
-
- ///
- /// read_feed.
- ///
- public const string ReadFeed = "ReadFeed";
-
- ///
- /// delete.
- ///
- public const string Delete = "Delete";
-
- ///
- /// replace.
- ///
- public const string Replace = "Replace";
-
- ///
- /// execute.
- ///
- public const string Execute = "Execute";
-
- ///
- /// query.
- ///
- public const string Query = "Query";
-
- ///
- /// head.
- ///
- public const string Head = "Head";
-
- ///
- /// head_feed.
- ///
- public const string HeadFeed = "HeadFeed";
-
- ///
- /// upsert.
- ///
- public const string Upsert = "Upsert";
-
- ///
- /// batch.
- ///
- public const string Batch = "Batch";
-
- ///
- /// query_plan.
- ///
- public const string QueryPlan = "QueryPlan";
-
- ///
- /// execute_javascript.
- ///
- public const string ExecuteJavascript = "ExecuteJavaScript";
- }
-
- ///
- /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers.
- ///
- public static class DbSystemValues
- {
- ///
- /// Some other SQL database. Fallback only. See notes.
- ///
- public const string OtherSql = "other_sql";
-
- ///
- /// Microsoft SQL Server.
- ///
- public const string Mssql = "mssql";
-
- ///
- /// Microsoft SQL Server Compact.
- ///
- public const string Mssqlcompact = "mssqlcompact";
-
- ///
- /// MySQL.
- ///
- public const string Mysql = "mysql";
-
- ///
- /// Oracle Database.
- ///
- public const string Oracle = "oracle";
-
- ///
- /// IBM Db2.
- ///
- public const string Db2 = "db2";
-
- ///
- /// PostgreSQL.
- ///
- public const string Postgresql = "postgresql";
-
- ///
- /// Amazon Redshift.
- ///
- public const string Redshift = "redshift";
-
- ///
- /// Apache Hive.
- ///
- public const string Hive = "hive";
-
- ///
- /// Cloudscape.
- ///
- public const string Cloudscape = "cloudscape";
-
- ///
- /// HyperSQL DataBase.
- ///
- public const string Hsqldb = "hsqldb";
-
- ///
- /// Progress Database.
- ///
- public const string Progress = "progress";
-
- ///
- /// SAP MaxDB.
- ///
- public const string Maxdb = "maxdb";
-
- ///
- /// SAP HANA.
- ///
- public const string Hanadb = "hanadb";
-
- ///
- /// Ingres.
- ///
- public const string Ingres = "ingres";
-
- ///
- /// FirstSQL.
- ///
- public const string Firstsql = "firstsql";
-
- ///
- /// EnterpriseDB.
- ///
- public const string Edb = "edb";
-
- ///
- /// InterSystems Caché.
- ///
- public const string Cache = "cache";
-
- ///
- /// Adabas (Adaptable Database System).
- ///
- public const string Adabas = "adabas";
-
- ///
- /// Firebird.
- ///
- public const string Firebird = "firebird";
-
- ///
- /// Apache Derby.
- ///
- public const string Derby = "derby";
-
- ///
- /// FileMaker.
- ///
- public const string Filemaker = "filemaker";
-
- ///
- /// Informix.
- ///
- public const string Informix = "informix";
-
- ///
- /// InstantDB.
- ///
- public const string Instantdb = "instantdb";
-
- ///
- /// InterBase.
- ///
- public const string Interbase = "interbase";
-
- ///
- /// MariaDB.
- ///
- public const string Mariadb = "mariadb";
-
- ///
- /// Netezza.
- ///
- public const string Netezza = "netezza";
-
- ///
- /// Pervasive PSQL.
- ///
- public const string Pervasive = "pervasive";
-
- ///
- /// PointBase.
- ///
- public const string Pointbase = "pointbase";
-
- ///
- /// SQLite.
- ///
- public const string Sqlite = "sqlite";
-
- ///
- /// Sybase.
- ///
- public const string Sybase = "sybase";
-
- ///
- /// Teradata.
- ///
- public const string Teradata = "teradata";
-
- ///
- /// Vertica.
- ///
- public const string Vertica = "vertica";
-
- ///
- /// H2.
- ///
- public const string H2 = "h2";
-
- ///
- /// ColdFusion IMQ.
- ///
- public const string Coldfusion = "coldfusion";
-
- ///
- /// Apache Cassandra.
- ///
- public const string Cassandra = "cassandra";
-
- ///
- /// Apache HBase.
- ///
- public const string Hbase = "hbase";
-
- ///
- /// MongoDB.
- ///
- public const string Mongodb = "mongodb";
-
- ///
- /// Redis.
- ///
- public const string Redis = "redis";
-
- ///
- /// Couchbase.
- ///
- public const string Couchbase = "couchbase";
-
- ///
- /// CouchDB.
- ///
- public const string Couchdb = "couchdb";
-
- ///
- /// Microsoft Azure Cosmos DB.
- ///
- public const string Cosmosdb = "cosmosdb";
-
- ///
- /// Amazon DynamoDB.
- ///
- public const string Dynamodb = "dynamodb";
-
- ///
- /// Neo4j.
- ///
- public const string Neo4j = "neo4j";
-
- ///
- /// Apache Geode.
- ///
- public const string Geode = "geode";
-
- ///
- /// Elasticsearch.
- ///
- public const string Elasticsearch = "elasticsearch";
-
- ///
- /// Memcached.
- ///
- public const string Memcached = "memcached";
-
- ///
- /// CockroachDB.
- ///
- public const string Cockroachdb = "cockroachdb";
-
- ///
- /// OpenSearch.
- ///
- public const string Opensearch = "opensearch";
-
- ///
- /// ClickHouse.
- ///
- public const string Clickhouse = "clickhouse";
-
- ///
- /// Cloud Spanner.
- ///
- public const string Spanner = "spanner";
-
- ///
- /// Trino.
- ///
- public const string Trino = "trino";
- }
+ public const string Trino = "trino";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs b/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
index 86c5c525f1..38312d89a3 100644
--- a/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
@@ -7,25 +7,24 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DeploymentAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Name of the deployment environment (aka deployment tier).
///
- public static class DeploymentAttributes
- {
- ///
- /// Name of the deployment environment (aka deployment tier).
- ///
- ///
- /// deployment.environment does not affect the uniqueness constraints defined through
+ ///
+ /// deployment.environment does not affect the uniqueness constraints defined through
/// the service.namespace, service.name and service.instance.id resource attributes.
/// This implies that resources carrying the following attribute combinations MUST be
/// considered to be identifying the same service:
/// - service.name=frontend, deployment.environment=production
/// - service.name=frontend, deployment.environment=staging
///
.
- ///
- public const string AttributeDeploymentEnvironment = "deployment.environment";
- }
+ ///
+ public const string AttributeDeploymentEnvironment = "deployment.environment";
}
diff --git a/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs b/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
index e15bc6da23..08d9e7f480 100644
--- a/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
@@ -7,24 +7,23 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DestinationAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
///
- public static class DestinationAttributes
- {
- ///
- /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeDestinationAddress = "destination.address";
+ ///
+ /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeDestinationAddress = "destination.address";
- ///
- /// Destination port number.
- ///
- public const string AttributeDestinationPort = "destination.port";
- }
+ ///
+ /// Destination port number.
+ ///
+ public const string AttributeDestinationPort = "destination.port";
}
diff --git a/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs b/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
index a26e2c84ae..9ea1ebc4fb 100644
--- a/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
@@ -7,43 +7,42 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DeviceAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// A unique identifier representing the device.
+ ///
+ ///
+ /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
+ ///
+ public const string AttributeDeviceId = "device.id";
+
+ ///
+ /// The name of the device manufacturer.
+ ///
+ ///
+ /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
+ ///
+ public const string AttributeDeviceManufacturer = "device.manufacturer";
+
+ ///
+ /// The model identifier for the device.
+ ///
+ ///
+ /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device.
+ ///
+ public const string AttributeDeviceModelIdentifier = "device.model.identifier";
+
+ ///
+ /// The marketing name for the device model.
///
- public static class DeviceAttributes
- {
- ///
- /// A unique identifier representing the device.
- ///
- ///
- /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence.
- ///
- public const string AttributeDeviceId = "device.id";
-
- ///
- /// The name of the device manufacturer.
- ///
- ///
- /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple.
- ///
- public const string AttributeDeviceManufacturer = "device.manufacturer";
-
- ///
- /// The model identifier for the device.
- ///
- ///
- /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device.
- ///
- public const string AttributeDeviceModelIdentifier = "device.model.identifier";
-
- ///
- /// The marketing name for the device model.
- ///
- ///
- /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative.
- ///
- public const string AttributeDeviceModelName = "device.model.name";
- }
+ ///
+ /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative.
+ ///
+ public const string AttributeDeviceModelName = "device.model.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs b/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
index 1c7744fdf8..efa5cb59ce 100644
--- a/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
@@ -7,32 +7,31 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DiskAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The disk IO operation direction.
///
- public static class DiskAttributes
+ public const string AttributeDiskIoDirection = "disk.io.direction";
+
+ ///
+ /// The disk IO operation direction.
+ ///
+ public static class DiskIoDirectionValues
{
///
- /// The disk IO operation direction.
+ /// read.
///
- public const string AttributeDiskIoDirection = "disk.io.direction";
+ public const string Read = "read";
///
- /// The disk IO operation direction.
+ /// write.
///
- public static class DiskIoDirectionValues
- {
- ///
- /// read.
- ///
- public const string Read = "read";
-
- ///
- /// write.
- ///
- public const string Write = "write";
- }
+ public const string Write = "write";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs b/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
index 137eec8350..c7db90e746 100644
--- a/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
@@ -7,19 +7,18 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class DnsAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The name being queried.
///
- public static class DnsAttributes
- {
- ///
- /// The name being queried.
- ///
- ///
- /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.
- ///
- public const string AttributeDnsQuestionName = "dns.question.name";
- }
+ ///
+ /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively.
+ ///
+ public const string AttributeDnsQuestionName = "dns.question.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs b/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
index 4f8dcda8eb..cdee87e966 100644
--- a/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
@@ -7,26 +7,25 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class EnduserAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
///
- public static class EnduserAttributes
- {
- ///
- /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
- ///
- public const string AttributeEnduserId = "enduser.id";
+ public const string AttributeEnduserId = "enduser.id";
- ///
- /// Actual/assumed role the client is making the request under extracted from token or application security context.
- ///
- public const string AttributeEnduserRole = "enduser.role";
+ ///
+ /// Actual/assumed role the client is making the request under extracted from token or application security context.
+ ///
+ public const string AttributeEnduserRole = "enduser.role";
- ///
- /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
- ///
- public const string AttributeEnduserScope = "enduser.scope";
- }
+ ///
+ /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion.
+ ///
+ public const string AttributeEnduserScope = "enduser.scope";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs b/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
index f3cf6093a5..4793805994 100644
--- a/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
@@ -7,18 +7,18 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ErrorAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Describes a class of error the operation ended with.
///
- public static class ErrorAttributes
- {
- ///
- /// Describes a class of error the operation ended with.
- ///
- ///
- /// The error.type SHOULD be predictable and SHOULD have low cardinality.
+ ///
+ /// The error.type SHOULD be predictable and SHOULD have low cardinality.
/// Instrumentations SHOULD document the list of errors they report.The cardinality of error.type within one instrumentation library SHOULD be low.
/// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications
/// should be prepared for error.type to have high cardinality at query time when no
@@ -27,18 +27,17 @@ public static class ErrorAttributes
/// Use a domain-specific attribute
/// Set error.type to capture all errors, regardless of whether they are defined within the domain-specific set or not
/// .
- ///
- public const string AttributeErrorType = "error.type";
+ ///
+ public const string AttributeErrorType = "error.type";
+ ///
+ /// Describes a class of error the operation ended with.
+ ///
+ public static class ErrorTypeValues
+ {
///
- /// Describes a class of error the operation ended with.
+ /// A fallback error value to be used when the instrumentation doesn't define a custom value.
///
- public static class ErrorTypeValues
- {
- ///
- /// A fallback error value to be used when the instrumentation doesn't define a custom value.
- ///
- public const string Other = "_OTHER";
- }
+ public const string Other = "_OTHER";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/EventAttributes.cs b/src/OpenTelemetry.SemanticConventions/EventAttributes.cs
index 93d234e43a..7def01aeaa 100644
--- a/src/OpenTelemetry.SemanticConventions/EventAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/EventAttributes.cs
@@ -7,19 +7,18 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class EventAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Identifies the class / type of event.
///
- public static class EventAttributes
- {
- ///
- /// Identifies the class / type of event.
- ///
- ///
- /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes.
- ///
- public const string AttributeEventName = "event.name";
- }
+ ///
+ /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes.
+ ///
+ public const string AttributeEventName = "event.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs b/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
index 629fcf1511..9b26f61d88 100644
--- a/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
@@ -7,18 +7,18 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ExceptionAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
///
- public static class ExceptionAttributes
- {
- ///
- /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.
- ///
- ///
- /// An exception is considered to have escaped (or left) the scope of a span,
+ ///
+ /// An exception is considered to have escaped (or left) the scope of a span,
/// if that span is ended while the exception is still logically "in flight".
/// This may be actually "in flight" in some languages (e.g. if the exception
/// is passed to a Context manager's __exit__ method in Python) but will
@@ -30,22 +30,21 @@ public static class ExceptionAttributes
/// even if the exception.escaped attribute was not set or set to false,
/// since the event might have been recorded at a time where it was not
/// clear whether the exception will escape.
- ///
- public const string AttributeExceptionEscaped = "exception.escaped";
-
- ///
- /// The exception message.
- ///
- public const string AttributeExceptionMessage = "exception.message";
-
- ///
- /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
- ///
- public const string AttributeExceptionStacktrace = "exception.stacktrace";
-
- ///
- /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
- ///
- public const string AttributeExceptionType = "exception.type";
- }
+ ///
+ public const string AttributeExceptionEscaped = "exception.escaped";
+
+ ///
+ /// The exception message.
+ ///
+ public const string AttributeExceptionMessage = "exception.message";
+
+ ///
+ /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.
+ ///
+ public const string AttributeExceptionStacktrace = "exception.stacktrace";
+
+ ///
+ /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.
+ ///
+ public const string AttributeExceptionType = "exception.type";
}
diff --git a/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs b/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
index 0e200a61a0..bf4ff8d157 100644
--- a/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
@@ -7,95 +7,95 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class FaasAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
///
- public static class FaasAttributes
- {
- ///
- /// A boolean that is true if the serverless function is executed for the first time (aka cold-start).
- ///
- public const string AttributeFaasColdstart = "faas.coldstart";
+ public const string AttributeFaasColdstart = "faas.coldstart";
- ///
- /// A string containing the schedule period as Cron Expression.
- ///
- public const string AttributeFaasCron = "faas.cron";
+ ///
+ /// A string containing the schedule period as Cron Expression.
+ ///
+ public const string AttributeFaasCron = "faas.cron";
- ///
- /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
- ///
- public const string AttributeFaasDocumentCollection = "faas.document.collection";
+ ///
+ /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
+ ///
+ public const string AttributeFaasDocumentCollection = "faas.document.collection";
- ///
- /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
- ///
- public const string AttributeFaasDocumentName = "faas.document.name";
+ ///
+ /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name.
+ ///
+ public const string AttributeFaasDocumentName = "faas.document.name";
- ///
- /// Describes the type of the operation that was performed on the data.
- ///
- public const string AttributeFaasDocumentOperation = "faas.document.operation";
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public const string AttributeFaasDocumentOperation = "faas.document.operation";
- ///
- /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasDocumentTime = "faas.document.time";
+ ///
+ /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasDocumentTime = "faas.document.time";
- ///
- /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
- ///
- ///
- ///
+ ///
+ /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version.
+ ///
+ ///
+ ///
/// - AWS Lambda: Use the (full) log stream name
///
.
- ///
- public const string AttributeFaasInstance = "faas.instance";
+ ///
+ public const string AttributeFaasInstance = "faas.instance";
- ///
- /// The invocation ID of the current function invocation.
- ///
- public const string AttributeFaasInvocationId = "faas.invocation_id";
+ ///
+ /// The invocation ID of the current function invocation.
+ ///
+ public const string AttributeFaasInvocationId = "faas.invocation_id";
- ///
- /// The name of the invoked function.
- ///
- ///
- /// SHOULD be equal to the faas.name resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedName = "faas.invoked_name";
+ ///
+ /// The name of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the faas.name resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedName = "faas.invoked_name";
- ///
- /// The cloud provider of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.provider resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedProvider = "faas.invoked_provider";
- ///
- /// The cloud region of the invoked function.
- ///
- ///
- /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
- ///
- public const string AttributeFaasInvokedRegion = "faas.invoked_region";
+ ///
+ /// The cloud region of the invoked function.
+ ///
+ ///
+ /// SHOULD be equal to the cloud.region resource attribute of the invoked function.
+ ///
+ public const string AttributeFaasInvokedRegion = "faas.invoked_region";
- ///
- /// The amount of memory available to the serverless function converted to Bytes.
- ///
- ///
- /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576).
- ///
- public const string AttributeFaasMaxMemory = "faas.max_memory";
+ ///
+ /// The amount of memory available to the serverless function converted to Bytes.
+ ///
+ ///
+ /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576).
+ ///
+ public const string AttributeFaasMaxMemory = "faas.max_memory";
- ///
- /// The name of the single function that this runtime instance executes.
- ///
- ///
- /// This is the name of the function as configured/deployed on the FaaS
+ ///
+ /// The name of the single function that this runtime instance executes.
+ ///
+ ///
+ /// This is the name of the function as configured/deployed on the FaaS
/// platform and is usually different from the name of the callback
/// function (which may be stored in the
/// code.namespace/code.function
@@ -109,24 +109,24 @@ public static class FaasAttributes
/// app can host multiple functions that would usually share
/// a TracerProvider (see also the cloud.resource_id attribute)
/// .
- ///
- public const string AttributeFaasName = "faas.name";
+ ///
+ public const string AttributeFaasName = "faas.name";
- ///
- /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
- ///
- public const string AttributeFaasTime = "faas.time";
+ ///
+ /// A string containing the function invocation time in the ISO 8601 format expressed in UTC.
+ ///
+ public const string AttributeFaasTime = "faas.time";
- ///
- /// Type of the trigger which caused this function invocation.
- ///
- public const string AttributeFaasTrigger = "faas.trigger";
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public const string AttributeFaasTrigger = "faas.trigger";
- ///
- /// The immutable version of the function being executed.
- ///
- ///
- /// Depending on the cloud provider and platform, use:
+ ///
+ /// The immutable version of the function being executed.
+ ///
+ ///
+ /// Depending on the cloud provider and platform, use:
/// - AWS Lambda: The function version
/// (an integer represented as a decimal string).
/// - Google Cloud Run (Services): The revision
@@ -135,90 +135,89 @@ public static class FaasAttributes
/// K_REVISION environment variable.
/// - Azure Functions: Not applicable. Do not set this attribute
///
.
- ///
- public const string AttributeFaasVersion = "faas.version";
+ ///
+ public const string AttributeFaasVersion = "faas.version";
+
+ ///
+ /// Describes the type of the operation that was performed on the data.
+ ///
+ public static class FaasDocumentOperationValues
+ {
+ ///
+ /// When a new object is created.
+ ///
+ public const string Insert = "insert";
+
+ ///
+ /// When an object is modified.
+ ///
+ public const string Edit = "edit";
+
+ ///
+ /// When an object is deleted.
+ ///
+ public const string Delete = "delete";
+ }
+
+ ///
+ /// The cloud provider of the invoked function.
+ ///
+ public static class FaasInvokedProviderValues
+ {
+ ///
+ /// Alibaba Cloud.
+ ///
+ public const string AlibabaCloud = "alibaba_cloud";
+
+ ///
+ /// Amazon Web Services.
+ ///
+ public const string Aws = "aws";
+
+ ///
+ /// Microsoft Azure.
+ ///
+ public const string Azure = "azure";
+
+ ///
+ /// Google Cloud Platform.
+ ///
+ public const string Gcp = "gcp";
+
+ ///
+ /// Tencent Cloud.
+ ///
+ public const string TencentCloud = "tencent_cloud";
+ }
+
+ ///
+ /// Type of the trigger which caused this function invocation.
+ ///
+ public static class FaasTriggerValues
+ {
+ ///
+ /// A response to some data source operation such as a database or filesystem read/write.
+ ///
+ public const string Datasource = "datasource";
+
+ ///
+ /// To provide an answer to an inbound HTTP request.
+ ///
+ public const string Http = "http";
///
- /// Describes the type of the operation that was performed on the data.
+ /// A function is set to be executed when messages are sent to a messaging system.
///
- public static class FaasDocumentOperationValues
- {
- ///
- /// When a new object is created.
- ///
- public const string Insert = "insert";
-
- ///
- /// When an object is modified.
- ///
- public const string Edit = "edit";
-
- ///
- /// When an object is deleted.
- ///
- public const string Delete = "delete";
- }
+ public const string Pubsub = "pubsub";
///
- /// The cloud provider of the invoked function.
+ /// A function is scheduled to be executed regularly.
///
- public static class FaasInvokedProviderValues
- {
- ///
- /// Alibaba Cloud.
- ///
- public const string AlibabaCloud = "alibaba_cloud";
-
- ///
- /// Amazon Web Services.
- ///
- public const string Aws = "aws";
-
- ///
- /// Microsoft Azure.
- ///
- public const string Azure = "azure";
-
- ///
- /// Google Cloud Platform.
- ///
- public const string Gcp = "gcp";
-
- ///
- /// Tencent Cloud.
- ///
- public const string TencentCloud = "tencent_cloud";
- }
+ public const string Timer = "timer";
///
- /// Type of the trigger which caused this function invocation.
+ /// If none of the others apply.
///
- public static class FaasTriggerValues
- {
- ///
- /// A response to some data source operation such as a database or filesystem read/write.
- ///
- public const string Datasource = "datasource";
-
- ///
- /// To provide an answer to an inbound HTTP request.
- ///
- public const string Http = "http";
-
- ///
- /// A function is set to be executed when messages are sent to a messaging system.
- ///
- public const string Pubsub = "pubsub";
-
- ///
- /// A function is scheduled to be executed regularly.
- ///
- public const string Timer = "timer";
-
- ///
- /// If none of the others apply.
- ///
- public const string Other = "other";
- }
+ public const string Other = "other";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs b/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
index ab0715e6db..31c3a7c683 100644
--- a/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
@@ -7,34 +7,33 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class FeatureFlagAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The unique identifier of the feature flag.
///
- public static class FeatureFlagAttributes
- {
- ///
- /// The unique identifier of the feature flag.
- ///
- public const string AttributeFeatureFlagKey = "feature_flag.key";
+ public const string AttributeFeatureFlagKey = "feature_flag.key";
- ///
- /// The name of the service provider that performs the flag evaluation.
- ///
- public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name";
+ ///
+ /// The name of the service provider that performs the flag evaluation.
+ ///
+ public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name";
- ///
- /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
- ///
- ///
- /// A semantic identifier, commonly referred to as a variant, provides a means
+ ///
+ /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used.
+ ///
+ ///
+ /// A semantic identifier, commonly referred to as a variant, provides a means
/// for referring to a value without including the value itself. This can
/// provide additional context for understanding the meaning behind a value.
/// For example, the variant red maybe be used for the value #c05543.A stringified version of the value can be used in situations where a
/// semantic identifier is unavailable. String representation of the value
/// should be determined by the implementer.
- ///
- public const string AttributeFeatureFlagVariant = "feature_flag.variant";
- }
+ ///
+ public const string AttributeFeatureFlagVariant = "feature_flag.variant";
}
diff --git a/src/OpenTelemetry.SemanticConventions/FileAttributes.cs b/src/OpenTelemetry.SemanticConventions/FileAttributes.cs
index 86dd3cbe26..e0d80da3d4 100644
--- a/src/OpenTelemetry.SemanticConventions/FileAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/FileAttributes.cs
@@ -7,39 +7,38 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class FileAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Directory where the file is located. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFileDirectory = "file.directory";
+
+ ///
+ /// File extension, excluding the leading dot.
+ ///
+ ///
+ /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
+ ///
+ public const string AttributeFileExtension = "file.extension";
+
+ ///
+ /// Name of the file including the extension, without the directory.
+ ///
+ public const string AttributeFileName = "file.name";
+
+ ///
+ /// Full path to the file, including the file name. It should include the drive letter, when appropriate.
+ ///
+ public const string AttributeFilePath = "file.path";
+
+ ///
+ /// File size in bytes.
///
- public static class FileAttributes
- {
- ///
- /// Directory where the file is located. It should include the drive letter, when appropriate.
- ///
- public const string AttributeFileDirectory = "file.directory";
-
- ///
- /// File extension, excluding the leading dot.
- ///
- ///
- /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz").
- ///
- public const string AttributeFileExtension = "file.extension";
-
- ///
- /// Name of the file including the extension, without the directory.
- ///
- public const string AttributeFileName = "file.name";
-
- ///
- /// Full path to the file, including the file name. It should include the drive letter, when appropriate.
- ///
- public const string AttributeFilePath = "file.path";
-
- ///
- /// File size in bytes.
- ///
- public const string AttributeFileSize = "file.size";
- }
+ public const string AttributeFileSize = "file.size";
}
diff --git a/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs b/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
index 449135b5ed..d22ebdd455 100644
--- a/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
@@ -7,31 +7,30 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class GcpAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
+
+ ///
+ /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable.
+ ///
+ public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
+
+ ///
+ /// The hostname of a GCE instance. This is the full value of the default or custom hostname.
+ ///
+ public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname";
+
+ ///
+ /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name.
///
- public static class GcpAttributes
- {
- ///
- /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable.
- ///
- public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
-
- ///
- /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable.
- ///
- public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
-
- ///
- /// The hostname of a GCE instance. This is the full value of the default or custom hostname.
- ///
- public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname";
-
- ///
- /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name.
- ///
- public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name";
- }
+ public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs b/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
index a5ae036306..d41a88d9c6 100644
--- a/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
@@ -7,50 +7,49 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class GraphqlAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The GraphQL document being executed.
///
- public static class GraphqlAttributes
- {
- ///
- /// The GraphQL document being executed.
- ///
- ///
- /// The value may be sanitized to exclude sensitive information.
- ///
- public const string AttributeGraphqlDocument = "graphql.document";
+ ///
+ /// The value may be sanitized to exclude sensitive information.
+ ///
+ public const string AttributeGraphqlDocument = "graphql.document";
+
+ ///
+ /// The name of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationName = "graphql.operation.name";
+ ///
+ /// The type of the operation being executed.
+ ///
+ public const string AttributeGraphqlOperationType = "graphql.operation.type";
+
+ ///
+ /// The type of the operation being executed.
+ ///
+ public static class GraphqlOperationTypeValues
+ {
///
- /// The name of the operation being executed.
+ /// GraphQL query.
///
- public const string AttributeGraphqlOperationName = "graphql.operation.name";
+ public const string Query = "query";
///
- /// The type of the operation being executed.
+ /// GraphQL mutation.
///
- public const string AttributeGraphqlOperationType = "graphql.operation.type";
+ public const string Mutation = "mutation";
///
- /// The type of the operation being executed.
+ /// GraphQL subscription.
///
- public static class GraphqlOperationTypeValues
- {
- ///
- /// GraphQL query.
- ///
- public const string Query = "query";
-
- ///
- /// GraphQL mutation.
- ///
- public const string Mutation = "mutation";
-
- ///
- /// GraphQL subscription.
- ///
- public const string Subscription = "subscription";
- }
+ public const string Subscription = "subscription";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs b/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
index 6315f2b446..0a4f498019 100644
--- a/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
@@ -7,26 +7,25 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class HerokuAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Unique identifier for the application.
///
- public static class HerokuAttributes
- {
- ///
- /// Unique identifier for the application.
- ///
- public const string AttributeHerokuAppId = "heroku.app.id";
+ public const string AttributeHerokuAppId = "heroku.app.id";
- ///
- /// Commit hash for the current release.
- ///
- public const string AttributeHerokuReleaseCommit = "heroku.release.commit";
+ ///
+ /// Commit hash for the current release.
+ ///
+ public const string AttributeHerokuReleaseCommit = "heroku.release.commit";
- ///
- /// Time and date the release was created.
- ///
- public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
- }
+ ///
+ /// Time and date the release was created.
+ ///
+ public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
}
diff --git a/src/OpenTelemetry.SemanticConventions/HostAttributes.cs b/src/OpenTelemetry.SemanticConventions/HostAttributes.cs
index 83871a4994..c80d817bde 100644
--- a/src/OpenTelemetry.SemanticConventions/HostAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/HostAttributes.cs
@@ -7,141 +7,140 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class HostAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The CPU architecture the host system is running on.
///
- public static class HostAttributes
- {
- ///
- /// The CPU architecture the host system is running on.
- ///
- public const string AttributeHostArch = "host.arch";
+ public const string AttributeHostArch = "host.arch";
- ///
- /// The amount of level 2 memory cache available to the processor (in Bytes).
- ///
- public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size";
+ ///
+ /// The amount of level 2 memory cache available to the processor (in Bytes).
+ ///
+ public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size";
- ///
- /// Family or generation of the CPU.
- ///
- public const string AttributeHostCpuFamily = "host.cpu.family";
+ ///
+ /// Family or generation of the CPU.
+ ///
+ public const string AttributeHostCpuFamily = "host.cpu.family";
- ///
- /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family.
- ///
- public const string AttributeHostCpuModelId = "host.cpu.model.id";
+ ///
+ /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family.
+ ///
+ public const string AttributeHostCpuModelId = "host.cpu.model.id";
- ///
- /// Model designation of the processor.
- ///
- public const string AttributeHostCpuModelName = "host.cpu.model.name";
+ ///
+ /// Model designation of the processor.
+ ///
+ public const string AttributeHostCpuModelName = "host.cpu.model.name";
- ///
- /// Stepping or core revisions.
- ///
- public const string AttributeHostCpuStepping = "host.cpu.stepping";
+ ///
+ /// Stepping or core revisions.
+ ///
+ public const string AttributeHostCpuStepping = "host.cpu.stepping";
- ///
- /// Processor manufacturer identifier. A maximum 12-character string.
- ///
- ///
- /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
- ///
- public const string AttributeHostCpuVendorId = "host.cpu.vendor.id";
+ ///
+ /// Processor manufacturer identifier. A maximum 12-character string.
+ ///
+ ///
+ /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
+ ///
+ public const string AttributeHostCpuVendorId = "host.cpu.vendor.id";
- ///
- /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system.
- ///
- public const string AttributeHostId = "host.id";
+ ///
+ /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system.
+ ///
+ public const string AttributeHostId = "host.id";
+
+ ///
+ /// VM image ID or host OS image ID. For Cloud, this value is from the provider.
+ ///
+ public const string AttributeHostImageId = "host.image.id";
+
+ ///
+ /// Name of the VM image or OS install the host was instantiated from.
+ ///
+ public const string AttributeHostImageName = "host.image.name";
+
+ ///
+ /// The version string of the VM image or host OS as defined in Version Attributes.
+ ///
+ public const string AttributeHostImageVersion = "host.image.version";
+
+ ///
+ /// Available IP addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format.
+ ///
+ public const string AttributeHostIp = "host.ip";
+
+ ///
+ /// Available MAC addresses of the host, excluding loopback interfaces.
+ ///
+ ///
+ /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.
+ ///
+ public const string AttributeHostMac = "host.mac";
+
+ ///
+ /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
+ ///
+ public const string AttributeHostName = "host.name";
+
+ ///
+ /// Type of host. For Cloud, this must be the machine type.
+ ///
+ public const string AttributeHostType = "host.type";
+ ///
+ /// The CPU architecture the host system is running on.
+ ///
+ public static class HostArchValues
+ {
///
- /// VM image ID or host OS image ID. For Cloud, this value is from the provider.
+ /// AMD64.
///
- public const string AttributeHostImageId = "host.image.id";
+ public const string Amd64 = "amd64";
///
- /// Name of the VM image or OS install the host was instantiated from.
+ /// ARM32.
///
- public const string AttributeHostImageName = "host.image.name";
+ public const string Arm32 = "arm32";
///
- /// The version string of the VM image or host OS as defined in Version Attributes.
+ /// ARM64.
///
- public const string AttributeHostImageVersion = "host.image.version";
+ public const string Arm64 = "arm64";
///
- /// Available IP addresses of the host, excluding loopback interfaces.
+ /// Itanium.
///
- ///
- /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format.
- ///
- public const string AttributeHostIp = "host.ip";
+ public const string Ia64 = "ia64";
///
- /// Available MAC addresses of the host, excluding loopback interfaces.
+ /// 32-bit PowerPC.
///
- ///
- /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.
- ///
- public const string AttributeHostMac = "host.mac";
+ public const string Ppc32 = "ppc32";
///
- /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.
+ /// 64-bit PowerPC.
///
- public const string AttributeHostName = "host.name";
+ public const string Ppc64 = "ppc64";
///
- /// Type of host. For Cloud, this must be the machine type.
+ /// IBM z/Architecture.
///
- public const string AttributeHostType = "host.type";
+ public const string S390x = "s390x";
///
- /// The CPU architecture the host system is running on.
+ /// 32-bit x86.
///
- public static class HostArchValues
- {
- ///
- /// AMD64.
- ///
- public const string Amd64 = "amd64";
-
- ///
- /// ARM32.
- ///
- public const string Arm32 = "arm32";
-
- ///
- /// ARM64.
- ///
- public const string Arm64 = "arm64";
-
- ///
- /// Itanium.
- ///
- public const string Ia64 = "ia64";
-
- ///
- /// 32-bit PowerPC.
- ///
- public const string Ppc32 = "ppc32";
-
- ///
- /// 64-bit PowerPC.
- ///
- public const string Ppc64 = "ppc64";
-
- ///
- /// IBM z/Architecture.
- ///
- public const string S390x = "s390x";
-
- ///
- /// 32-bit x86.
- ///
- public const string X86 = "x86";
- }
+ public const string X86 = "x86";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs b/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
index dd8269f838..e84a5b8bf7 100644
--- a/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
@@ -7,50 +7,50 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class HttpAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// State of the HTTP connection in the HTTP connection pool.
///
- public static class HttpAttributes
- {
- ///
- /// State of the HTTP connection in the HTTP connection pool.
- ///
- public const string AttributeHttpConnectionState = "http.connection.state";
+ public const string AttributeHttpConnectionState = "http.connection.state";
- ///
- /// Deprecated, use network.protocol.name instead.
- ///
- [Obsolete("Replaced by `network.protocol.name`")]
- public const string AttributeHttpFlavor = "http.flavor";
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeHttpFlavor = "http.flavor";
- ///
- /// Deprecated, use http.request.method instead.
- ///
- [Obsolete("Replaced by `http.request.method`")]
- public const string AttributeHttpMethod = "http.method";
+ ///
+ /// Deprecated, use http.request.method instead.
+ ///
+ [Obsolete("Replaced by `http.request.method`")]
+ public const string AttributeHttpMethod = "http.method";
- ///
- /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
- ///
- public const string AttributeHttpRequestBodySize = "http.request.body.size";
+ ///
+ /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpRequestBodySize = "http.request.body.size";
- ///
- /// HTTP request headers, being the normalized HTTP Header name (lowercase), the value being the header values.
- ///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ /// HTTP request headers, being the normalized HTTP Header name (lowercase), the value being the header values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
/// The User-Agent header is already captured in the user_agent.original attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended.
/// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers.
- ///
- public const string AttributeHttpRequestHeader = "http.request.header";
+ ///
+ public const string AttributeHttpRequestHeader = "http.request.header";
- ///
- /// HTTP request method.
- ///
- ///
- /// HTTP request method value SHOULD be "known" to the instrumentation.
+ ///
+ /// HTTP request method.
+ ///
+ ///
+ /// HTTP request method value SHOULD be "known" to the instrumentation.
/// By default, this convention defines "known" methods as the ones listed in RFC9110
/// and the PATCH method defined in RFC5789.If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER.If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override
/// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named
@@ -58,209 +58,208 @@ public static class HttpAttributes
/// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults).HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly.
/// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent.
/// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value.
- ///
- public const string AttributeHttpRequestMethod = "http.request.method";
+ ///
+ public const string AttributeHttpRequestMethod = "http.request.method";
+
+ ///
+ /// Original HTTP method sent by the client in the request line.
+ ///
+ public const string AttributeHttpRequestMethodOriginal = "http.request.method_original";
+
+ ///
+ /// The ordinal number of request resending attempt (for any reason, including redirects).
+ ///
+ ///
+ /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).
+ ///
+ public const string AttributeHttpRequestResendCount = "http.request.resend_count";
+
+ ///
+ /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any.
+ ///
+ public const string AttributeHttpRequestSize = "http.request.size";
+
+ ///
+ /// Deprecated, use http.request.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.request.header.content-length`")]
+ public const string AttributeHttpRequestContentLength = "http.request_content_length";
+
+ ///
+ /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ ///
+ public const string AttributeHttpResponseBodySize = "http.response.body.size";
+
+ ///
+ /// HTTP response headers, being the normalized HTTP Header name (lowercase), the value being the header values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ /// Users MAY explicitly configure instrumentations to capture them even though it is not recommended.
+ /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers.
+ ///
+ public const string AttributeHttpResponseHeader = "http.response.header";
+
+ ///
+ /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
+ ///
+ public const string AttributeHttpResponseSize = "http.response.size";
+
+ ///
+ /// HTTP response status code.
+ ///
+ public const string AttributeHttpResponseStatusCode = "http.response.status_code";
+
+ ///
+ /// Deprecated, use http.response.header.content-length instead.
+ ///
+ [Obsolete("Replaced by `http.response.header.content-length`")]
+ public const string AttributeHttpResponseContentLength = "http.response_content_length";
+
+ ///
+ /// The matched route, that is, the path template in the format used by the respective server framework.
+ ///
+ ///
+ /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
+ /// SHOULD include the application root if there is one.
+ ///
+ public const string AttributeHttpRoute = "http.route";
+
+ ///
+ /// Deprecated, use url.scheme instead.
+ ///
+ [Obsolete("Replaced by `url.scheme` instead")]
+ public const string AttributeHttpScheme = "http.scheme";
+ ///
+ /// Deprecated, use http.response.status_code instead.
+ ///
+ [Obsolete("Replaced by `http.response.status_code`")]
+ public const string AttributeHttpStatusCode = "http.status_code";
+
+ ///
+ /// Deprecated, use url.path and url.query instead.
+ ///
+ [Obsolete("Split to `url.path` and `url.query")]
+ public const string AttributeHttpTarget = "http.target";
+
+ ///
+ /// Deprecated, use url.full instead.
+ ///
+ [Obsolete("Replaced by `url.full`")]
+ public const string AttributeHttpUrl = "http.url";
+
+ ///
+ /// Deprecated, use user_agent.original instead.
+ ///
+ [Obsolete("Replaced by `user_agent.original`")]
+ public const string AttributeHttpUserAgent = "http.user_agent";
+
+ ///
+ /// State of the HTTP connection in the HTTP connection pool.
+ ///
+ public static class HttpConnectionStateValues
+ {
///
- /// Original HTTP method sent by the client in the request line.
+ /// active state.
///
- public const string AttributeHttpRequestMethodOriginal = "http.request.method_original";
+ public const string Active = "active";
///
- /// The ordinal number of request resending attempt (for any reason, including redirects).
+ /// idle state.
///
- ///
- /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other).
- ///
- public const string AttributeHttpRequestResendCount = "http.request.resend_count";
+ public const string Idle = "idle";
+ }
+ ///
+ /// Deprecated, use network.protocol.name instead.
+ ///
+ public static class HttpFlavorValues
+ {
///
- /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any.
+ /// HTTP/1.0.
///
- public const string AttributeHttpRequestSize = "http.request.size";
+ public const string Http10 = "1.0";
///
- /// Deprecated, use http.request.header.content-length instead.
+ /// HTTP/1.1.
///
- [Obsolete("Replaced by `http.request.header.content-length`")]
- public const string AttributeHttpRequestContentLength = "http.request_content_length";
+ public const string Http11 = "1.1";
///
- /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size.
+ /// HTTP/2.
///
- public const string AttributeHttpResponseBodySize = "http.response.body.size";
+ public const string Http20 = "2.0";
///
- /// HTTP response headers, being the normalized HTTP Header name (lowercase), the value being the header values.
+ /// HTTP/3.
///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information.
- /// Users MAY explicitly configure instrumentations to capture them even though it is not recommended.
- /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers.
- ///
- public const string AttributeHttpResponseHeader = "http.response.header";
+ public const string Http30 = "3.0";
///
- /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
+ /// SPDY protocol.
///
- public const string AttributeHttpResponseSize = "http.response.size";
+ public const string Spdy = "SPDY";
///
- /// HTTP response status code.
+ /// QUIC protocol.
///
- public const string AttributeHttpResponseStatusCode = "http.response.status_code";
+ public const string Quic = "QUIC";
+ }
+ ///
+ /// HTTP request method.
+ ///
+ public static class HttpRequestMethodValues
+ {
///
- /// Deprecated, use http.response.header.content-length instead.
+ /// CONNECT method.
///
- [Obsolete("Replaced by `http.response.header.content-length`")]
- public const string AttributeHttpResponseContentLength = "http.response_content_length";
+ public const string Connect = "CONNECT";
///
- /// The matched route, that is, the path template in the format used by the respective server framework.
+ /// DELETE method.
///
- ///
- /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.
- /// SHOULD include the application root if there is one.
- ///
- public const string AttributeHttpRoute = "http.route";
+ public const string Delete = "DELETE";
///
- /// Deprecated, use url.scheme instead.
+ /// GET method.
///
- [Obsolete("Replaced by `url.scheme` instead")]
- public const string AttributeHttpScheme = "http.scheme";
+ public const string Get = "GET";
///
- /// Deprecated, use http.response.status_code instead.
+ /// HEAD method.
///
- [Obsolete("Replaced by `http.response.status_code`")]
- public const string AttributeHttpStatusCode = "http.status_code";
+ public const string Head = "HEAD";
///
- /// Deprecated, use url.path and url.query instead.
+ /// OPTIONS method.
///
- [Obsolete("Split to `url.path` and `url.query")]
- public const string AttributeHttpTarget = "http.target";
+ public const string Options = "OPTIONS";
///
- /// Deprecated, use url.full instead.
+ /// PATCH method.
///
- [Obsolete("Replaced by `url.full`")]
- public const string AttributeHttpUrl = "http.url";
+ public const string Patch = "PATCH";
///
- /// Deprecated, use user_agent.original instead.
+ /// POST method.
///
- [Obsolete("Replaced by `user_agent.original`")]
- public const string AttributeHttpUserAgent = "http.user_agent";
+ public const string Post = "POST";
///
- /// State of the HTTP connection in the HTTP connection pool.
+ /// PUT method.
///
- public static class HttpConnectionStateValues
- {
- ///
- /// active state.
- ///
- public const string Active = "active";
-
- ///
- /// idle state.
- ///
- public const string Idle = "idle";
- }
+ public const string Put = "PUT";
///
- /// Deprecated, use network.protocol.name instead.
+ /// TRACE method.
///
- public static class HttpFlavorValues
- {
- ///
- /// HTTP/1.0.
- ///
- public const string Http10 = "1.0";
-
- ///
- /// HTTP/1.1.
- ///
- public const string Http11 = "1.1";
-
- ///
- /// HTTP/2.
- ///
- public const string Http20 = "2.0";
-
- ///
- /// HTTP/3.
- ///
- public const string Http30 = "3.0";
-
- ///
- /// SPDY protocol.
- ///
- public const string Spdy = "SPDY";
-
- ///
- /// QUIC protocol.
- ///
- public const string Quic = "QUIC";
- }
+ public const string Trace = "TRACE";
///
- /// HTTP request method.
+ /// Any HTTP method that the instrumentation has no prior knowledge of.
///
- public static class HttpRequestMethodValues
- {
- ///
- /// CONNECT method.
- ///
- public const string Connect = "CONNECT";
-
- ///
- /// DELETE method.
- ///
- public const string Delete = "DELETE";
-
- ///
- /// GET method.
- ///
- public const string Get = "GET";
-
- ///
- /// HEAD method.
- ///
- public const string Head = "HEAD";
-
- ///
- /// OPTIONS method.
- ///
- public const string Options = "OPTIONS";
-
- ///
- /// PATCH method.
- ///
- public const string Patch = "PATCH";
-
- ///
- /// POST method.
- ///
- public const string Post = "POST";
-
- ///
- /// PUT method.
- ///
- public const string Put = "PUT";
-
- ///
- /// TRACE method.
- ///
- public const string Trace = "TRACE";
-
- ///
- /// Any HTTP method that the instrumentation has no prior knowledge of.
- ///
- public const string Other = "_OTHER";
- }
+ public const string Other = "_OTHER";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/IosAttributes.cs b/src/OpenTelemetry.SemanticConventions/IosAttributes.cs
index 0b635006ec..0ba843170d 100644
--- a/src/OpenTelemetry.SemanticConventions/IosAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/IosAttributes.cs
@@ -7,50 +7,49 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class IosAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ ///
+ ///
+ /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived.
+ ///
+ public const string AttributeIosState = "ios.state";
+
+ ///
+ /// This attribute represents the state the application has transitioned into at the occurrence of the event.
///
- public static class IosAttributes
+ public static class IosStateValues
{
///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ /// The app has become active. Associated with UIKit notification applicationDidBecomeActive.
+ ///
+ public const string Active = "active";
+
+ ///
+ /// The app is now inactive. Associated with UIKit notification applicationWillResignActive.
+ ///
+ public const string Inactive = "inactive";
+
+ ///
+ /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground.
+ ///
+ public const string Background = "background";
+
+ ///
+ /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground.
///
- ///
- /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived.
- ///
- public const string AttributeIosState = "ios.state";
+ public const string Foreground = "foreground";
///
- /// This attribute represents the state the application has transitioned into at the occurrence of the event.
+ /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate.
///
- public static class IosStateValues
- {
- ///
- /// The app has become active. Associated with UIKit notification applicationDidBecomeActive.
- ///
- public const string Active = "active";
-
- ///
- /// The app is now inactive. Associated with UIKit notification applicationWillResignActive.
- ///
- public const string Inactive = "inactive";
-
- ///
- /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground.
- ///
- public const string Background = "background";
-
- ///
- /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground.
- ///
- public const string Foreground = "foreground";
-
- ///
- /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate.
- ///
- public const string Terminate = "terminate";
- }
+ public const string Terminate = "terminate";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs b/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
index a8f86aff09..74ba9d1983 100644
--- a/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
@@ -7,110 +7,109 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class JvmAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Name of the buffer pool.
///
- public static class JvmAttributes
- {
- ///
- /// Name of the buffer pool.
- ///
- ///
- /// Pool names are generally obtained via BufferPoolMXBean#getName().
- ///
- public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name";
+ ///
+ /// Pool names are generally obtained via BufferPoolMXBean#getName().
+ ///
+ public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name";
+ ///
+ /// Name of the garbage collector action.
+ ///
+ ///
+ /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction().
+ ///
+ public const string AttributeJvmGcAction = "jvm.gc.action";
+
+ ///
+ /// Name of the garbage collector.
+ ///
+ ///
+ /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName().
+ ///
+ public const string AttributeJvmGcName = "jvm.gc.name";
+
+ ///
+ /// Name of the memory pool.
+ ///
+ ///
+ /// Pool names are generally obtained via MemoryPoolMXBean#getName().
+ ///
+ public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name";
+
+ ///
+ /// The type of memory.
+ ///
+ public const string AttributeJvmMemoryType = "jvm.memory.type";
+
+ ///
+ /// Whether the thread is daemon or not.
+ ///
+ public const string AttributeJvmThreadDaemon = "jvm.thread.daemon";
+
+ ///
+ /// State of the thread.
+ ///
+ public const string AttributeJvmThreadState = "jvm.thread.state";
+
+ ///
+ /// The type of memory.
+ ///
+ public static class JvmMemoryTypeValues
+ {
///
- /// Name of the garbage collector action.
+ /// Heap memory.
///
- ///
- /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction().
- ///
- public const string AttributeJvmGcAction = "jvm.gc.action";
+ public const string Heap = "heap";
///
- /// Name of the garbage collector.
+ /// Non-heap memory.
///
- ///
- /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName().
- ///
- public const string AttributeJvmGcName = "jvm.gc.name";
+ public const string NonHeap = "non_heap";
+ }
+ ///
+ /// State of the thread.
+ ///
+ public static class JvmThreadStateValues
+ {
///
- /// Name of the memory pool.
+ /// A thread that has not yet started is in this state.
///
- ///
- /// Pool names are generally obtained via MemoryPoolMXBean#getName().
- ///
- public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name";
+ public const string New = "new";
///
- /// The type of memory.
+ /// A thread executing in the Java virtual machine is in this state.
///
- public const string AttributeJvmMemoryType = "jvm.memory.type";
+ public const string Runnable = "runnable";
///
- /// Whether the thread is daemon or not.
+ /// A thread that is blocked waiting for a monitor lock is in this state.
///
- public const string AttributeJvmThreadDaemon = "jvm.thread.daemon";
+ public const string Blocked = "blocked";
///
- /// State of the thread.
+ /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
///
- public const string AttributeJvmThreadState = "jvm.thread.state";
+ public const string Waiting = "waiting";
///
- /// The type of memory.
+ /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
///
- public static class JvmMemoryTypeValues
- {
- ///
- /// Heap memory.
- ///
- public const string Heap = "heap";
-
- ///
- /// Non-heap memory.
- ///
- public const string NonHeap = "non_heap";
- }
+ public const string TimedWaiting = "timed_waiting";
///
- /// State of the thread.
+ /// A thread that has exited is in this state.
///
- public static class JvmThreadStateValues
- {
- ///
- /// A thread that has not yet started is in this state.
- ///
- public const string New = "new";
-
- ///
- /// A thread executing in the Java virtual machine is in this state.
- ///
- public const string Runnable = "runnable";
-
- ///
- /// A thread that is blocked waiting for a monitor lock is in this state.
- ///
- public const string Blocked = "blocked";
-
- ///
- /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state.
- ///
- public const string Waiting = "waiting";
-
- ///
- /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state.
- ///
- public const string TimedWaiting = "timed_waiting";
-
- ///
- /// A thread that has exited is in this state.
- ///
- public const string Terminated = "terminated";
- }
+ public const string Terminated = "terminated";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs b/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
index 9d43b5ca0f..614ce06d72 100644
--- a/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
@@ -7,23 +7,23 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class K8sAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The name of the cluster.
///
- public static class K8sAttributes
- {
- ///
- /// The name of the cluster.
- ///
- public const string AttributeK8sClusterName = "k8s.cluster.name";
+ public const string AttributeK8sClusterName = "k8s.cluster.name";
- ///
- /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace.
- ///
- ///
- /// K8s doesn't have support for obtaining a cluster ID. If this is ever
+ ///
+ /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace.
+ ///
+ ///
+ /// K8s doesn't have support for obtaining a cluster ID. If this is ever
/// added, we will recommend collecting the k8s.cluster.uid through the
/// official APIs. In the meantime, we are able to use the uid of the
/// kube-system namespace as a proxy for cluster ID. Read on for the
@@ -39,118 +39,117 @@ public static class K8sAttributes
/// different from all other UUIDs generated before 3603 A.D., or is
/// extremely likely to be different (depending on the mechanism chosen).Therefore, UIDs between clusters should be extremely unlikely to
/// conflict.
- ///
- public const string AttributeK8sClusterUid = "k8s.cluster.uid";
-
- ///
- /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
- ///
- public const string AttributeK8sContainerName = "k8s.container.name";
-
- ///
- /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
- ///
- public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
-
- ///
- /// The name of the CronJob.
- ///
- public const string AttributeK8sCronjobName = "k8s.cronjob.name";
-
- ///
- /// The UID of the CronJob.
- ///
- public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
-
- ///
- /// The name of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
-
- ///
- /// The UID of the DaemonSet.
- ///
- public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
-
- ///
- /// The name of the Deployment.
- ///
- public const string AttributeK8sDeploymentName = "k8s.deployment.name";
-
- ///
- /// The UID of the Deployment.
- ///
- public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
-
- ///
- /// The name of the Job.
- ///
- public const string AttributeK8sJobName = "k8s.job.name";
-
- ///
- /// The UID of the Job.
- ///
- public const string AttributeK8sJobUid = "k8s.job.uid";
-
- ///
- /// The name of the namespace that the pod is running in.
- ///
- public const string AttributeK8sNamespaceName = "k8s.namespace.name";
-
- ///
- /// The name of the Node.
- ///
- public const string AttributeK8sNodeName = "k8s.node.name";
-
- ///
- /// The UID of the Node.
- ///
- public const string AttributeK8sNodeUid = "k8s.node.uid";
-
- ///
- /// The annotation key-value pairs placed on the Pod, the being the annotation name, the value being the annotation value.
- ///
- public const string AttributeK8sPodAnnotation = "k8s.pod.annotation";
-
- ///
- /// The label key-value pairs placed on the Pod, the being the label name, the value being the label value.
- ///
- public const string AttributeK8sPodLabel = "k8s.pod.label";
-
- ///
- /// Deprecated, use k8s.pod.label instead.
- ///
- [Obsolete("Replaced by `k8s.pod.label`")]
- public const string AttributeK8sPodLabels = "k8s.pod.labels";
-
- ///
- /// The name of the Pod.
- ///
- public const string AttributeK8sPodName = "k8s.pod.name";
-
- ///
- /// The UID of the Pod.
- ///
- public const string AttributeK8sPodUid = "k8s.pod.uid";
-
- ///
- /// The name of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
-
- ///
- /// The UID of the ReplicaSet.
- ///
- public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
-
- ///
- /// The name of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
-
- ///
- /// The UID of the StatefulSet.
- ///
- public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
- }
+ ///
+ public const string AttributeK8sClusterUid = "k8s.cluster.uid";
+
+ ///
+ /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).
+ ///
+ public const string AttributeK8sContainerName = "k8s.container.name";
+
+ ///
+ /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.
+ ///
+ public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count";
+
+ ///
+ /// The name of the CronJob.
+ ///
+ public const string AttributeK8sCronjobName = "k8s.cronjob.name";
+
+ ///
+ /// The UID of the CronJob.
+ ///
+ public const string AttributeK8sCronjobUid = "k8s.cronjob.uid";
+
+ ///
+ /// The name of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetName = "k8s.daemonset.name";
+
+ ///
+ /// The UID of the DaemonSet.
+ ///
+ public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid";
+
+ ///
+ /// The name of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentName = "k8s.deployment.name";
+
+ ///
+ /// The UID of the Deployment.
+ ///
+ public const string AttributeK8sDeploymentUid = "k8s.deployment.uid";
+
+ ///
+ /// The name of the Job.
+ ///
+ public const string AttributeK8sJobName = "k8s.job.name";
+
+ ///
+ /// The UID of the Job.
+ ///
+ public const string AttributeK8sJobUid = "k8s.job.uid";
+
+ ///
+ /// The name of the namespace that the pod is running in.
+ ///
+ public const string AttributeK8sNamespaceName = "k8s.namespace.name";
+
+ ///
+ /// The name of the Node.
+ ///
+ public const string AttributeK8sNodeName = "k8s.node.name";
+
+ ///
+ /// The UID of the Node.
+ ///
+ public const string AttributeK8sNodeUid = "k8s.node.uid";
+
+ ///
+ /// The annotation key-value pairs placed on the Pod, the being the annotation name, the value being the annotation value.
+ ///
+ public const string AttributeK8sPodAnnotation = "k8s.pod.annotation";
+
+ ///
+ /// The label key-value pairs placed on the Pod, the being the label name, the value being the label value.
+ ///
+ public const string AttributeK8sPodLabel = "k8s.pod.label";
+
+ ///
+ /// Deprecated, use k8s.pod.label instead.
+ ///
+ [Obsolete("Replaced by `k8s.pod.label`")]
+ public const string AttributeK8sPodLabels = "k8s.pod.labels";
+
+ ///
+ /// The name of the Pod.
+ ///
+ public const string AttributeK8sPodName = "k8s.pod.name";
+
+ ///
+ /// The UID of the Pod.
+ ///
+ public const string AttributeK8sPodUid = "k8s.pod.uid";
+
+ ///
+ /// The name of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetName = "k8s.replicaset.name";
+
+ ///
+ /// The UID of the ReplicaSet.
+ ///
+ public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid";
+
+ ///
+ /// The name of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetName = "k8s.statefulset.name";
+
+ ///
+ /// The UID of the StatefulSet.
+ ///
+ public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid";
}
diff --git a/src/OpenTelemetry.SemanticConventions/LogAttributes.cs b/src/OpenTelemetry.SemanticConventions/LogAttributes.cs
index 9a08262b13..a314e0deb4 100644
--- a/src/OpenTelemetry.SemanticConventions/LogAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/LogAttributes.cs
@@ -7,61 +7,60 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class LogAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The basename of the file.
///
- public static class LogAttributes
- {
- ///
- /// The basename of the file.
- ///
- public const string AttributeLogFileName = "log.file.name";
+ public const string AttributeLogFileName = "log.file.name";
- ///
- /// The basename of the file, with symlinks resolved.
- ///
- public const string AttributeLogFileNameResolved = "log.file.name_resolved";
+ ///
+ /// The basename of the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFileNameResolved = "log.file.name_resolved";
- ///
- /// The full path to the file.
- ///
- public const string AttributeLogFilePath = "log.file.path";
+ ///
+ /// The full path to the file.
+ ///
+ public const string AttributeLogFilePath = "log.file.path";
- ///
- /// The full path to the file, with symlinks resolved.
- ///
- public const string AttributeLogFilePathResolved = "log.file.path_resolved";
+ ///
+ /// The full path to the file, with symlinks resolved.
+ ///
+ public const string AttributeLogFilePathResolved = "log.file.path_resolved";
- ///
- /// The stream associated with the log. See below for a list of well-known values.
- ///
- public const string AttributeLogIostream = "log.iostream";
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public const string AttributeLogIostream = "log.iostream";
- ///
- /// A unique identifier for the Log Record.
- ///
- ///
- /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
+ ///
+ /// A unique identifier for the Log Record.
+ ///
+ ///
+ /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values.
/// The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed.
- ///
- public const string AttributeLogRecordUid = "log.record.uid";
+ ///
+ public const string AttributeLogRecordUid = "log.record.uid";
+ ///
+ /// The stream associated with the log. See below for a list of well-known values.
+ ///
+ public static class LogIostreamValues
+ {
///
- /// The stream associated with the log. See below for a list of well-known values.
+ /// Logs from stdout stream.
///
- public static class LogIostreamValues
- {
- ///
- /// Logs from stdout stream.
- ///
- public const string Stdout = "stdout";
+ public const string Stdout = "stdout";
- ///
- /// Events from stderr stream.
- ///
- public const string Stderr = "stderr";
- }
+ ///
+ /// Events from stderr stream.
+ ///
+ public const string Stderr = "stderr";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs b/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
index 49c5f9764d..5014c3b41d 100644
--- a/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
@@ -7,50 +7,49 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class MessageAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Compressed size of the message in bytes.
///
- public static class MessageAttributes
- {
- ///
- /// Compressed size of the message in bytes.
- ///
- public const string AttributeMessageCompressedSize = "message.compressed_size";
+ public const string AttributeMessageCompressedSize = "message.compressed_size";
- ///
- /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
- ///
- ///
- /// This way we guarantee that the values will be consistent between different implementations.
- ///
- public const string AttributeMessageId = "message.id";
+ ///
+ /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
+ ///
+ ///
+ /// This way we guarantee that the values will be consistent between different implementations.
+ ///
+ public const string AttributeMessageId = "message.id";
- ///
- /// Whether this is a received or sent message.
- ///
- public const string AttributeMessageType = "message.type";
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public const string AttributeMessageType = "message.type";
+ ///
+ /// Uncompressed size of the message in bytes.
+ ///
+ public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
+
+ ///
+ /// Whether this is a received or sent message.
+ ///
+ public static class MessageTypeValues
+ {
///
- /// Uncompressed size of the message in bytes.
+ /// sent.
///
- public const string AttributeMessageUncompressedSize = "message.uncompressed_size";
+ public const string Sent = "SENT";
///
- /// Whether this is a received or sent message.
+ /// received.
///
- public static class MessageTypeValues
- {
- ///
- /// sent.
- ///
- public const string Sent = "SENT";
-
- ///
- /// received.
- ///
- public const string Received = "RECEIVED";
- }
+ public const string Received = "RECEIVED";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs b/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
index 343aca6151..22c391ac2a 100644
--- a/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
@@ -7,385 +7,384 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class MessagingAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The number of messages sent, received, or processed in the scope of the batching operation.
///
- public static class MessagingAttributes
- {
- ///
- /// The number of messages sent, received, or processed in the scope of the batching operation.
- ///
- ///
- /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs.
- ///
- public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count";
+ ///
+ /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs.
+ ///
+ public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count";
- ///
- /// A unique identifier for the client that consumes or produces a message.
- ///
- public const string AttributeMessagingClientId = "messaging.client_id";
+ ///
+ /// A unique identifier for the client that consumes or produces a message.
+ ///
+ public const string AttributeMessagingClientId = "messaging.client_id";
- ///
- /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
- ///
- public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous";
+ ///
+ /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous";
- ///
- /// The message destination name.
- ///
- ///
- /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
+ ///
+ /// The message destination name.
+ ///
+ ///
+ /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If
/// the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker.
- ///
- public const string AttributeMessagingDestinationName = "messaging.destination.name";
+ ///
+ public const string AttributeMessagingDestinationName = "messaging.destination.name";
- ///
- /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.
- ///
- public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id";
+ ///
+ /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.
+ ///
+ public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id";
- ///
- /// Low cardinality representation of the messaging destination name.
- ///
- ///
- /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
- ///
- public const string AttributeMessagingDestinationTemplate = "messaging.destination.template";
+ ///
+ /// Low cardinality representation of the messaging destination name.
+ ///
+ ///
+ /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation.
+ ///
+ public const string AttributeMessagingDestinationTemplate = "messaging.destination.template";
- ///
- /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
- ///
- public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary";
+ ///
+ /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.
+ ///
+ public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary";
- ///
- /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).
- ///
- public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous";
+ ///
+ /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).
+ ///
+ public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous";
- ///
- /// The name of the original destination the message was published to.
- ///
- ///
- /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If
+ ///
+ /// The name of the original destination the message was published to.
+ ///
+ ///
+ /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If
/// the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker.
- ///
- public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name";
+ ///
+ public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name";
- ///
- /// The name of the consumer group the event consumer is associated with.
- ///
- public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
+ ///
+ /// The name of the consumer group the event consumer is associated with.
+ ///
+ public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group";
- ///
- /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
- ///
- public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time";
- ///
- /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
- ///
- public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
+ ///
+ /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key.
+ ///
+ public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key";
- ///
- /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
- ///
- public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group";
+ ///
+ /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers.
+ ///
+ public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group";
- ///
- /// "Deprecated, use messaging.destination.partition.id instead.".
- ///
- [Obsolete("Replaced by `messaging.destination.partition.id`")]
- public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition";
+ ///
+ /// "Deprecated, use messaging.destination.partition.id instead.".
+ ///
+ [Obsolete("Replaced by `messaging.destination.partition.id`")]
+ public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition";
- ///
- /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.
- ///
- ///
- /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
- ///
- public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key";
+ ///
+ /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.
+ ///
+ ///
+ /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value.
+ ///
+ public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key";
- ///
- /// The offset of a record in the corresponding Kafka partition.
- ///
- public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset";
+ ///
+ /// The offset of a record in the corresponding Kafka partition.
+ ///
+ public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset";
- ///
- /// A boolean that is true if the message is a tombstone.
- ///
- public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
+ ///
+ /// A boolean that is true if the message is a tombstone.
+ ///
+ public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
- ///
- /// The size of the message body in bytes.
- ///
- ///
- /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
+ ///
+ /// The size of the message body in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed
/// body size should be used.
- ///
- public const string AttributeMessagingMessageBodySize = "messaging.message.body.size";
+ ///
+ public const string AttributeMessagingMessageBodySize = "messaging.message.body.size";
+ ///
+ /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
+ ///
+ public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id";
+
+ ///
+ /// The size of the message body and metadata in bytes.
+ ///
+ ///
+ /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
+ /// size should be used.
+ ///
+ public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
+
+ ///
+ /// A value used by the messaging system as an identifier for the message, represented as a string.
+ ///
+ public const string AttributeMessagingMessageId = "messaging.message.id";
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ ///
+ /// If a custom value is used, it MUST be of low cardinality.
+ ///
+ public const string AttributeMessagingOperation = "messaging.operation";
+
+ ///
+ /// RabbitMQ message routing key.
+ ///
+ public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
+
+ ///
+ /// RabbitMQ message delivery tag.
+ ///
+ public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
+
+ ///
+ /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
+ ///
+ public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
+
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
+
+ ///
+ /// The delay time level for delay message, which determines the message delay time.
+ ///
+ public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
+
+ ///
+ /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
+ ///
+ public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
+
+ ///
+ /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
+ ///
+ public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
+
+ ///
+ /// Key(s) of message, another way to mark message besides message id.
+ ///
+ public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
+
+ ///
+ /// The secondary classifier of message besides topic.
+ ///
+ public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
+
+ ///
+ /// Type of message.
+ ///
+ public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
+
+ ///
+ /// Namespace of RocketMQ resources, resources in different namespaces are individual.
+ ///
+ public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
+
+ ///
+ /// The name of the subscription in the topic messages are received from.
+ ///
+ public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
+
+ ///
+ /// Describes the settlement type.
+ ///
+ public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status";
+
+ ///
+ /// Number of deliveries that have been attempted for this message.
+ ///
+ public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
+
+ ///
+ /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ ///
+ public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
+
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeMessagingSystem = "messaging.system";
+
+ ///
+ /// A string identifying the kind of messaging operation.
+ ///
+ public static class MessagingOperationValues
+ {
///
- /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".
+ /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
///
- public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id";
+ public const string Publish = "publish";
///
- /// The size of the message body and metadata in bytes.
+ /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
///
- ///
- /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed
- /// size should be used.
- ///
- public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
+ public const string Create = "create";
///
- /// A value used by the messaging system as an identifier for the message, represented as a string.
+ /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.
///
- public const string AttributeMessagingMessageId = "messaging.message.id";
+ public const string Receive = "receive";
///
- /// A string identifying the kind of messaging operation.
+ /// One or more messages are delivered to or processed by a consumer.
///
- ///
- /// If a custom value is used, it MUST be of low cardinality.
- ///
- public const string AttributeMessagingOperation = "messaging.operation";
+ public const string Deliver = "process";
///
- /// RabbitMQ message routing key.
+ /// One or more messages are settled.
///
- public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key";
+ public const string Settle = "settle";
+ }
+ ///
+ /// Model of message consumption. This only applies to consumer spans.
+ ///
+ public static class MessagingRocketmqConsumptionModelValues
+ {
///
- /// RabbitMQ message delivery tag.
+ /// Clustering consumption model.
///
- public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag";
+ public const string Clustering = "clustering";
///
- /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind.
+ /// Broadcasting consumption model.
///
- public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group";
+ public const string Broadcasting = "broadcasting";
+ }
+ ///
+ /// Type of message.
+ ///
+ public static class MessagingRocketmqMessageTypeValues
+ {
///
- /// Model of message consumption. This only applies to consumer spans.
+ /// Normal message.
///
- public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model";
+ public const string Normal = "normal";
///
- /// The delay time level for delay message, which determines the message delay time.
+ /// FIFO message.
///
- public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level";
+ public const string Fifo = "fifo";
///
- /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
+ /// Delay message.
///
- public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp";
+ public const string Delay = "delay";
///
- /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group.
+ /// Transaction message.
///
- public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
+ public const string Transaction = "transaction";
+ }
+ ///
+ /// Describes the settlement type.
+ ///
+ public static class MessagingServicebusDispositionStatusValues
+ {
///
- /// Key(s) of message, another way to mark message besides message id.
+ /// Message is completed.
///
- public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
+ public const string Complete = "complete";
///
- /// The secondary classifier of message besides topic.
+ /// Message is abandoned.
///
- public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
+ public const string Abandon = "abandon";
///
- /// Type of message.
+ /// Message is sent to dead letter queue.
///
- public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
+ public const string DeadLetter = "dead_letter";
///
- /// Namespace of RocketMQ resources, resources in different namespaces are individual.
+ /// Message is deferred.
///
- public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
+ public const string Defer = "defer";
+ }
+ ///
+ /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ ///
+ public static class MessagingSystemValues
+ {
///
- /// The name of the subscription in the topic messages are received from.
+ /// Apache ActiveMQ.
///
- public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name";
+ public const string Activemq = "activemq";
///
- /// Describes the settlement type.
+ /// Amazon Simple Queue Service (SQS).
///
- public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status";
+ public const string AwsSqs = "aws_sqs";
///
- /// Number of deliveries that have been attempted for this message.
+ /// Azure Event Grid.
///
- public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count";
+ public const string Eventgrid = "eventgrid";
///
- /// The UTC epoch seconds at which the message has been accepted and stored in the entity.
+ /// Azure Event Hubs.
///
- public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time";
+ public const string Eventhubs = "eventhubs";
///
- /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ /// Azure Service Bus.
///
- public const string AttributeMessagingSystem = "messaging.system";
+ public const string Servicebus = "servicebus";
///
- /// A string identifying the kind of messaging operation.
+ /// Google Cloud Pub/Sub.
///
- public static class MessagingOperationValues
- {
- ///
- /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created.
- ///
- public const string Publish = "publish";
-
- ///
- /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios.
- ///
- public const string Create = "create";
-
- ///
- /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages.
- ///
- public const string Receive = "receive";
-
- ///
- /// One or more messages are delivered to or processed by a consumer.
- ///
- public const string Deliver = "process";
-
- ///
- /// One or more messages are settled.
- ///
- public const string Settle = "settle";
- }
+ public const string GcpPubsub = "gcp_pubsub";
///
- /// Model of message consumption. This only applies to consumer spans.
+ /// Java Message Service.
///
- public static class MessagingRocketmqConsumptionModelValues
- {
- ///
- /// Clustering consumption model.
- ///
- public const string Clustering = "clustering";
-
- ///
- /// Broadcasting consumption model.
- ///
- public const string Broadcasting = "broadcasting";
- }
+ public const string Jms = "jms";
///
- /// Type of message.
+ /// Apache Kafka.
///
- public static class MessagingRocketmqMessageTypeValues
- {
- ///
- /// Normal message.
- ///
- public const string Normal = "normal";
-
- ///
- /// FIFO message.
- ///
- public const string Fifo = "fifo";
-
- ///
- /// Delay message.
- ///
- public const string Delay = "delay";
-
- ///
- /// Transaction message.
- ///
- public const string Transaction = "transaction";
- }
+ public const string Kafka = "kafka";
///
- /// Describes the settlement type.
+ /// RabbitMQ.
///
- public static class MessagingServicebusDispositionStatusValues
- {
- ///
- /// Message is completed.
- ///
- public const string Complete = "complete";
-
- ///
- /// Message is abandoned.
- ///
- public const string Abandon = "abandon";
-
- ///
- /// Message is sent to dead letter queue.
- ///
- public const string DeadLetter = "dead_letter";
-
- ///
- /// Message is deferred.
- ///
- public const string Defer = "defer";
- }
+ public const string Rabbitmq = "rabbitmq";
///
- /// An identifier for the messaging system being used. See below for a list of well-known identifiers.
+ /// Apache RocketMQ.
///
- public static class MessagingSystemValues
- {
- ///
- /// Apache ActiveMQ.
- ///
- public const string Activemq = "activemq";
-
- ///
- /// Amazon Simple Queue Service (SQS).
- ///
- public const string AwsSqs = "aws_sqs";
-
- ///
- /// Azure Event Grid.
- ///
- public const string Eventgrid = "eventgrid";
-
- ///
- /// Azure Event Hubs.
- ///
- public const string Eventhubs = "eventhubs";
-
- ///
- /// Azure Service Bus.
- ///
- public const string Servicebus = "servicebus";
-
- ///
- /// Google Cloud Pub/Sub.
- ///
- public const string GcpPubsub = "gcp_pubsub";
-
- ///
- /// Java Message Service.
- ///
- public const string Jms = "jms";
-
- ///
- /// Apache Kafka.
- ///
- public const string Kafka = "kafka";
-
- ///
- /// RabbitMQ.
- ///
- public const string Rabbitmq = "rabbitmq";
-
- ///
- /// Apache RocketMQ.
- ///
- public const string Rocketmq = "rocketmq";
- }
+ public const string Rocketmq = "rocketmq";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/NetAttributes.cs b/src/OpenTelemetry.SemanticConventions/NetAttributes.cs
index b33b0b734c..70ea82c16e 100644
--- a/src/OpenTelemetry.SemanticConventions/NetAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/NetAttributes.cs
@@ -7,141 +7,140 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class NetAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Deprecated, use server.address.
///
- public static class NetAttributes
- {
- ///
- /// Deprecated, use server.address.
- ///
- [Obsolete("Replaced by `server.address`")]
- public const string AttributeNetHostName = "net.host.name";
+ [Obsolete("Replaced by `server.address`")]
+ public const string AttributeNetHostName = "net.host.name";
- ///
- /// Deprecated, use server.port.
- ///
- [Obsolete("Replaced by `server.port`")]
- public const string AttributeNetHostPort = "net.host.port";
+ ///
+ /// Deprecated, use server.port.
+ ///
+ [Obsolete("Replaced by `server.port`")]
+ public const string AttributeNetHostPort = "net.host.port";
- ///
- /// Deprecated, use server.address on client spans and client.address on server spans.
- ///
- [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")]
- public const string AttributeNetPeerName = "net.peer.name";
+ ///
+ /// Deprecated, use server.address on client spans and client.address on server spans.
+ ///
+ [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")]
+ public const string AttributeNetPeerName = "net.peer.name";
- ///
- /// Deprecated, use server.port on client spans and client.port on server spans.
- ///
- [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")]
- public const string AttributeNetPeerPort = "net.peer.port";
+ ///
+ /// Deprecated, use server.port on client spans and client.port on server spans.
+ ///
+ [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")]
+ public const string AttributeNetPeerPort = "net.peer.port";
- ///
- /// Deprecated, use network.protocol.name.
- ///
- [Obsolete("Replaced by `network.protocol.name`")]
- public const string AttributeNetProtocolName = "net.protocol.name";
+ ///
+ /// Deprecated, use network.protocol.name.
+ ///
+ [Obsolete("Replaced by `network.protocol.name`")]
+ public const string AttributeNetProtocolName = "net.protocol.name";
- ///
- /// Deprecated, use network.protocol.version.
- ///
- [Obsolete("Replaced by `network.protocol.version`")]
- public const string AttributeNetProtocolVersion = "net.protocol.version";
+ ///
+ /// Deprecated, use network.protocol.version.
+ ///
+ [Obsolete("Replaced by `network.protocol.version`")]
+ public const string AttributeNetProtocolVersion = "net.protocol.version";
- ///
- /// Deprecated, use network.transport and network.type.
- ///
- [Obsolete("Split to `network.transport` and `network.type`")]
- public const string AttributeNetSockFamily = "net.sock.family";
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ [Obsolete("Split to `network.transport` and `network.type`")]
+ public const string AttributeNetSockFamily = "net.sock.family";
+
+ ///
+ /// Deprecated, use network.local.address.
+ ///
+ [Obsolete("Replaced by `network.local.address`")]
+ public const string AttributeNetSockHostAddr = "net.sock.host.addr";
+
+ ///
+ /// Deprecated, use network.local.port.
+ ///
+ [Obsolete("Replaced by `network.local.port`")]
+ public const string AttributeNetSockHostPort = "net.sock.host.port";
+
+ ///
+ /// Deprecated, use network.peer.address.
+ ///
+ [Obsolete("Replaced by `network.peer.address`")]
+ public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
+
+ ///
+ /// Deprecated, no replacement at this time.
+ ///
+ [Obsolete("Removed")]
+ public const string AttributeNetSockPeerName = "net.sock.peer.name";
+ ///
+ /// Deprecated, use network.peer.port.
+ ///
+ [Obsolete("Replaced by `network.peer.port`")]
+ public const string AttributeNetSockPeerPort = "net.sock.peer.port";
+
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ [Obsolete("Replaced by `network.transport`")]
+ public const string AttributeNetTransport = "net.transport";
+
+ ///
+ /// Deprecated, use network.transport and network.type.
+ ///
+ public static class NetSockFamilyValues
+ {
///
- /// Deprecated, use network.local.address.
+ /// IPv4 address.
///
- [Obsolete("Replaced by `network.local.address`")]
- public const string AttributeNetSockHostAddr = "net.sock.host.addr";
+ public const string Inet = "inet";
///
- /// Deprecated, use network.local.port.
+ /// IPv6 address.
///
- [Obsolete("Replaced by `network.local.port`")]
- public const string AttributeNetSockHostPort = "net.sock.host.port";
+ public const string Inet6 = "inet6";
///
- /// Deprecated, use network.peer.address.
+ /// Unix domain socket path.
///
- [Obsolete("Replaced by `network.peer.address`")]
- public const string AttributeNetSockPeerAddr = "net.sock.peer.addr";
+ public const string Unix = "unix";
+ }
+ ///
+ /// Deprecated, use network.transport.
+ ///
+ public static class NetTransportValues
+ {
///
- /// Deprecated, no replacement at this time.
+ /// ip_tcp.
///
- [Obsolete("Removed")]
- public const string AttributeNetSockPeerName = "net.sock.peer.name";
+ public const string IpTcp = "ip_tcp";
///
- /// Deprecated, use network.peer.port.
+ /// ip_udp.
///
- [Obsolete("Replaced by `network.peer.port`")]
- public const string AttributeNetSockPeerPort = "net.sock.peer.port";
+ public const string IpUdp = "ip_udp";
///
- /// Deprecated, use network.transport.
+ /// Named or anonymous pipe.
///
- [Obsolete("Replaced by `network.transport`")]
- public const string AttributeNetTransport = "net.transport";
+ public const string Pipe = "pipe";
///
- /// Deprecated, use network.transport and network.type.
+ /// In-process communication.
///
- public static class NetSockFamilyValues
- {
- ///
- /// IPv4 address.
- ///
- public const string Inet = "inet";
-
- ///
- /// IPv6 address.
- ///
- public const string Inet6 = "inet6";
-
- ///
- /// Unix domain socket path.
- ///
- public const string Unix = "unix";
- }
+ public const string Inproc = "inproc";
///
- /// Deprecated, use network.transport.
+ /// Something else (non IP-based).
///
- public static class NetTransportValues
- {
- ///
- /// ip_tcp.
- ///
- public const string IpTcp = "ip_tcp";
-
- ///
- /// ip_udp.
- ///
- public const string IpUdp = "ip_udp";
-
- ///
- /// Named or anonymous pipe.
- ///
- public const string Pipe = "pipe";
-
- ///
- /// In-process communication.
- ///
- public const string Inproc = "inproc";
-
- ///
- /// Something else (non IP-based).
- ///
- public const string Other = "other";
- }
+ public const string Other = "other";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs b/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
index cec861628e..77e6914a6c 100644
--- a/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
@@ -7,300 +7,299 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class NetworkAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
+ ///
+ public const string AttributeNetworkCarrierIcc = "network.carrier.icc";
+
+ ///
+ /// The mobile carrier country code.
+ ///
+ public const string AttributeNetworkCarrierMcc = "network.carrier.mcc";
+
+ ///
+ /// The mobile carrier network code.
+ ///
+ public const string AttributeNetworkCarrierMnc = "network.carrier.mnc";
+
+ ///
+ /// The name of the mobile carrier.
+ ///
+ public const string AttributeNetworkCarrierName = "network.carrier.name";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public const string AttributeNetworkConnectionSubtype = "network.connection.subtype";
+
+ ///
+ /// The internet connection type.
///
- public static class NetworkAttributes
+ public const string AttributeNetworkConnectionType = "network.connection.type";
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public const string AttributeNetworkIoDirection = "network.io.direction";
+
+ ///
+ /// Local address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkLocalAddress = "network.local.address";
+
+ ///
+ /// Local port number of the network connection.
+ ///
+ public const string AttributeNetworkLocalPort = "network.local.port";
+
+ ///
+ /// Peer address of the network connection - IP address or Unix domain socket name.
+ ///
+ public const string AttributeNetworkPeerAddress = "network.peer.address";
+
+ ///
+ /// Peer port number of the network connection.
+ ///
+ public const string AttributeNetworkPeerPort = "network.peer.port";
+
+ ///
+ /// OSI application layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkProtocolName = "network.protocol.name";
+
+ ///
+ /// The actual version of the protocol used for network communication.
+ ///
+ ///
+ /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set.
+ ///
+ public const string AttributeNetworkProtocolVersion = "network.protocol.version";
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since
+ /// a port number is ambiguous without knowing the transport. For example
+ /// different processes could be listening on TCP port 12345 and UDP port 12345.
+ ///
+ public const string AttributeNetworkTransport = "network.transport";
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ ///
+ /// The value SHOULD be normalized to lowercase.
+ ///
+ public const string AttributeNetworkType = "network.type";
+
+ ///
+ /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ ///
+ public static class NetworkConnectionSubtypeValues
{
///
- /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
+ /// GPRS.
///
- public const string AttributeNetworkCarrierIcc = "network.carrier.icc";
+ public const string Gprs = "gprs";
///
- /// The mobile carrier country code.
+ /// EDGE.
///
- public const string AttributeNetworkCarrierMcc = "network.carrier.mcc";
+ public const string Edge = "edge";
///
- /// The mobile carrier network code.
+ /// UMTS.
///
- public const string AttributeNetworkCarrierMnc = "network.carrier.mnc";
+ public const string Umts = "umts";
///
- /// The name of the mobile carrier.
+ /// CDMA.
///
- public const string AttributeNetworkCarrierName = "network.carrier.name";
+ public const string Cdma = "cdma";
///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
+ /// EVDO Rel. 0.
///
- public const string AttributeNetworkConnectionSubtype = "network.connection.subtype";
+ public const string Evdo0 = "evdo_0";
///
- /// The internet connection type.
+ /// EVDO Rev. A.
///
- public const string AttributeNetworkConnectionType = "network.connection.type";
+ public const string EvdoA = "evdo_a";
///
- /// The network IO operation direction.
+ /// CDMA2000 1XRTT.
///
- public const string AttributeNetworkIoDirection = "network.io.direction";
+ public const string Cdma20001xrtt = "cdma2000_1xrtt";
///
- /// Local address of the network connection - IP address or Unix domain socket name.
+ /// HSDPA.
///
- public const string AttributeNetworkLocalAddress = "network.local.address";
+ public const string Hsdpa = "hsdpa";
///
- /// Local port number of the network connection.
+ /// HSUPA.
///
- public const string AttributeNetworkLocalPort = "network.local.port";
+ public const string Hsupa = "hsupa";
///
- /// Peer address of the network connection - IP address or Unix domain socket name.
+ /// HSPA.
///
- public const string AttributeNetworkPeerAddress = "network.peer.address";
+ public const string Hspa = "hspa";
///
- /// Peer port number of the network connection.
+ /// IDEN.
///
- public const string AttributeNetworkPeerPort = "network.peer.port";
+ public const string Iden = "iden";
///
- /// OSI application layer or non-OSI equivalent.
+ /// EVDO Rev. B.
///
- ///
- /// The value SHOULD be normalized to lowercase.
- ///
- public const string AttributeNetworkProtocolName = "network.protocol.name";
+ public const string EvdoB = "evdo_b";
///
- /// The actual version of the protocol used for network communication.
+ /// LTE.
///
- ///
- /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set.
- ///
- public const string AttributeNetworkProtocolVersion = "network.protocol.version";
+ public const string Lte = "lte";
///
- /// OSI transport layer or inter-process communication method.
+ /// EHRPD.
///
- ///
- /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since
- /// a port number is ambiguous without knowing the transport. For example
- /// different processes could be listening on TCP port 12345 and UDP port 12345.
- ///
- public const string AttributeNetworkTransport = "network.transport";
-
- ///
- /// OSI network layer or non-OSI equivalent.
- ///
- ///
- /// The value SHOULD be normalized to lowercase.
- ///
- public const string AttributeNetworkType = "network.type";
-
- ///
- /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.
- ///
- public static class NetworkConnectionSubtypeValues
- {
- ///
- /// GPRS.
- ///
- public const string Gprs = "gprs";
-
- ///
- /// EDGE.
- ///
- public const string Edge = "edge";
-
- ///
- /// UMTS.
- ///
- public const string Umts = "umts";
-
- ///
- /// CDMA.
- ///
- public const string Cdma = "cdma";
-
- ///
- /// EVDO Rel. 0.
- ///
- public const string Evdo0 = "evdo_0";
-
- ///
- /// EVDO Rev. A.
- ///
- public const string EvdoA = "evdo_a";
-
- ///
- /// CDMA2000 1XRTT.
- ///
- public const string Cdma20001xrtt = "cdma2000_1xrtt";
-
- ///
- /// HSDPA.
- ///
- public const string Hsdpa = "hsdpa";
-
- ///
- /// HSUPA.
- ///
- public const string Hsupa = "hsupa";
-
- ///
- /// HSPA.
- ///
- public const string Hspa = "hspa";
-
- ///
- /// IDEN.
- ///
- public const string Iden = "iden";
-
- ///
- /// EVDO Rev. B.
- ///
- public const string EvdoB = "evdo_b";
-
- ///
- /// LTE.
- ///
- public const string Lte = "lte";
-
- ///
- /// EHRPD.
- ///
- public const string Ehrpd = "ehrpd";
-
- ///
- /// HSPAP.
- ///
- public const string Hspap = "hspap";
-
- ///
- /// GSM.
- ///
- public const string Gsm = "gsm";
-
- ///
- /// TD-SCDMA.
- ///
- public const string TdScdma = "td_scdma";
-
- ///
- /// IWLAN.
- ///
- public const string Iwlan = "iwlan";
-
- ///
- /// 5G NR (New Radio).
- ///
- public const string Nr = "nr";
-
- ///
- /// 5G NRNSA (New Radio Non-Standalone).
- ///
- public const string Nrnsa = "nrnsa";
-
- ///
- /// LTE CA.
- ///
- public const string LteCa = "lte_ca";
- }
-
- ///
- /// The internet connection type.
- ///
- public static class NetworkConnectionTypeValues
- {
- ///
- /// wifi.
- ///
- public const string Wifi = "wifi";
-
- ///
- /// wired.
- ///
- public const string Wired = "wired";
-
- ///
- /// cell.
- ///
- public const string Cell = "cell";
-
- ///
- /// unavailable.
- ///
- public const string Unavailable = "unavailable";
-
- ///
- /// unknown.
- ///
- public const string Unknown = "unknown";
- }
-
- ///
- /// The network IO operation direction.
- ///
- public static class NetworkIoDirectionValues
- {
- ///
- /// transmit.
- ///
- public const string Transmit = "transmit";
-
- ///
- /// receive.
- ///
- public const string Receive = "receive";
- }
-
- ///
- /// OSI transport layer or inter-process communication method.
- ///
- public static class NetworkTransportValues
- {
- ///
- /// TCP.
- ///
- public const string Tcp = "tcp";
-
- ///
- /// UDP.
- ///
- public const string Udp = "udp";
-
- ///
- /// Named or anonymous pipe.
- ///
- public const string Pipe = "pipe";
-
- ///
- /// Unix domain socket.
- ///
- public const string Unix = "unix";
- }
-
- ///
- /// OSI network layer or non-OSI equivalent.
- ///
- public static class NetworkTypeValues
- {
- ///
- /// IPv4.
- ///
- public const string Ipv4 = "ipv4";
-
- ///
- /// IPv6.
- ///
- public const string Ipv6 = "ipv6";
- }
+ public const string Ehrpd = "ehrpd";
+
+ ///
+ /// HSPAP.
+ ///
+ public const string Hspap = "hspap";
+
+ ///
+ /// GSM.
+ ///
+ public const string Gsm = "gsm";
+
+ ///
+ /// TD-SCDMA.
+ ///
+ public const string TdScdma = "td_scdma";
+
+ ///
+ /// IWLAN.
+ ///
+ public const string Iwlan = "iwlan";
+
+ ///
+ /// 5G NR (New Radio).
+ ///
+ public const string Nr = "nr";
+
+ ///
+ /// 5G NRNSA (New Radio Non-Standalone).
+ ///
+ public const string Nrnsa = "nrnsa";
+
+ ///
+ /// LTE CA.
+ ///
+ public const string LteCa = "lte_ca";
+ }
+
+ ///
+ /// The internet connection type.
+ ///
+ public static class NetworkConnectionTypeValues
+ {
+ ///
+ /// wifi.
+ ///
+ public const string Wifi = "wifi";
+
+ ///
+ /// wired.
+ ///
+ public const string Wired = "wired";
+
+ ///
+ /// cell.
+ ///
+ public const string Cell = "cell";
+
+ ///
+ /// unavailable.
+ ///
+ public const string Unavailable = "unavailable";
+
+ ///
+ /// unknown.
+ ///
+ public const string Unknown = "unknown";
+ }
+
+ ///
+ /// The network IO operation direction.
+ ///
+ public static class NetworkIoDirectionValues
+ {
+ ///
+ /// transmit.
+ ///
+ public const string Transmit = "transmit";
+
+ ///
+ /// receive.
+ ///
+ public const string Receive = "receive";
+ }
+
+ ///
+ /// OSI transport layer or inter-process communication method.
+ ///
+ public static class NetworkTransportValues
+ {
+ ///
+ /// TCP.
+ ///
+ public const string Tcp = "tcp";
+
+ ///
+ /// UDP.
+ ///
+ public const string Udp = "udp";
+
+ ///
+ /// Named or anonymous pipe.
+ ///
+ public const string Pipe = "pipe";
+
+ ///
+ /// Unix domain socket.
+ ///
+ public const string Unix = "unix";
+ }
+
+ ///
+ /// OSI network layer or non-OSI equivalent.
+ ///
+ public static class NetworkTypeValues
+ {
+ ///
+ /// IPv4.
+ ///
+ public const string Ipv4 = "ipv4";
+
+ ///
+ /// IPv6.
+ ///
+ public const string Ipv6 = "ipv6";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/OciAttributes.cs b/src/OpenTelemetry.SemanticConventions/OciAttributes.cs
index 7e80c298c5..7168299a0e 100644
--- a/src/OpenTelemetry.SemanticConventions/OciAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/OciAttributes.cs
@@ -7,20 +7,19 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class OciAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
///
- public static class OciAttributes
- {
- ///
- /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
- ///
- ///
- /// Follows OCI Image Manifest Specification, and specifically the Digest property.
+ ///
+ /// Follows OCI Image Manifest Specification, and specifically the Digest property.
/// An example can be found in Example Image Manifest.
- ///
- public const string AttributeOciManifestDigest = "oci.manifest.digest";
- }
+ ///
+ public const string AttributeOciManifestDigest = "oci.manifest.digest";
}
diff --git a/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs b/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
index 21aa19dbc5..fbad4c94c8 100644
--- a/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
@@ -7,35 +7,34 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class OpentracingAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Parent-child Reference type.
///
- public static class OpentracingAttributes
+ ///
+ /// The causal relationship between a child Span and a parent Span.
+ ///
+ public const string AttributeOpentracingRefType = "opentracing.ref_type";
+
+ ///
+ /// Parent-child Reference type.
+ ///
+ public static class OpentracingRefTypeValues
{
///
- /// Parent-child Reference type.
+ /// The parent Span depends on the child Span in some capacity.
///
- ///
- /// The causal relationship between a child Span and a parent Span.
- ///
- public const string AttributeOpentracingRefType = "opentracing.ref_type";
+ public const string ChildOf = "child_of";
///
- /// Parent-child Reference type.
+ /// The parent Span doesn't depend in any way on the result of the child Span.
///
- public static class OpentracingRefTypeValues
- {
- ///
- /// The parent Span depends on the child Span in some capacity.
- ///
- public const string ChildOf = "child_of";
-
- ///
- /// The parent Span doesn't depend in any way on the result of the child Span.
- ///
- public const string FollowsFrom = "follows_from";
- }
+ public const string FollowsFrom = "follows_from";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/OsAttributes.cs b/src/OpenTelemetry.SemanticConventions/OsAttributes.cs
index 10bb12aa0a..fd9e81d555 100644
--- a/src/OpenTelemetry.SemanticConventions/OsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/OsAttributes.cs
@@ -7,97 +7,96 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class OsAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Unique identifier for a particular build or compilation of the operating system.
+ ///
+ public const string AttributeOsBuildId = "os.build_id";
+
+ ///
+ /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+ ///
+ public const string AttributeOsDescription = "os.description";
+
+ ///
+ /// Human readable operating system name.
+ ///
+ public const string AttributeOsName = "os.name";
+
+ ///
+ /// The operating system type.
+ ///
+ public const string AttributeOsType = "os.type";
+
+ ///
+ /// The version string of the operating system as defined in Version Attributes.
+ ///
+ public const string AttributeOsVersion = "os.version";
+
+ ///
+ /// The operating system type.
///
- public static class OsAttributes
+ public static class OsTypeValues
{
///
- /// Unique identifier for a particular build or compilation of the operating system.
+ /// Microsoft Windows.
+ ///
+ public const string Windows = "windows";
+
+ ///
+ /// Linux.
+ ///
+ public const string Linux = "linux";
+
+ ///
+ /// Apple Darwin.
+ ///
+ public const string Darwin = "darwin";
+
+ ///
+ /// FreeBSD.
+ ///
+ public const string Freebsd = "freebsd";
+
+ ///
+ /// NetBSD.
+ ///
+ public const string Netbsd = "netbsd";
+
+ ///
+ /// OpenBSD.
///
- public const string AttributeOsBuildId = "os.build_id";
+ public const string Openbsd = "openbsd";
///
- /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.
+ /// DragonFly BSD.
///
- public const string AttributeOsDescription = "os.description";
+ public const string Dragonflybsd = "dragonflybsd";
///
- /// Human readable operating system name.
+ /// HP-UX (Hewlett Packard Unix).
///
- public const string AttributeOsName = "os.name";
+ public const string Hpux = "hpux";
///
- /// The operating system type.
+ /// AIX (Advanced Interactive eXecutive).
///
- public const string AttributeOsType = "os.type";
+ public const string Aix = "aix";
///
- /// The version string of the operating system as defined in Version Attributes.
+ /// SunOS, Oracle Solaris.
///
- public const string AttributeOsVersion = "os.version";
+ public const string Solaris = "solaris";
///
- /// The operating system type.
+ /// IBM z/OS.
///
- public static class OsTypeValues
- {
- ///
- /// Microsoft Windows.
- ///
- public const string Windows = "windows";
-
- ///
- /// Linux.
- ///
- public const string Linux = "linux";
-
- ///
- /// Apple Darwin.
- ///
- public const string Darwin = "darwin";
-
- ///
- /// FreeBSD.
- ///
- public const string Freebsd = "freebsd";
-
- ///
- /// NetBSD.
- ///
- public const string Netbsd = "netbsd";
-
- ///
- /// OpenBSD.
- ///
- public const string Openbsd = "openbsd";
-
- ///
- /// DragonFly BSD.
- ///
- public const string Dragonflybsd = "dragonflybsd";
-
- ///
- /// HP-UX (Hewlett Packard Unix).
- ///
- public const string Hpux = "hpux";
-
- ///
- /// AIX (Advanced Interactive eXecutive).
- ///
- public const string Aix = "aix";
-
- ///
- /// SunOS, Oracle Solaris.
- ///
- public const string Solaris = "solaris";
-
- ///
- /// IBM z/OS.
- ///
- public const string ZOs = "z_os";
- }
+ public const string ZOs = "z_os";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs b/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
index 20b4e0d7a8..03c76f69ae 100644
--- a/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
@@ -7,59 +7,58 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class OtelAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// None.
///
- public static class OtelAttributes
- {
- ///
- /// None.
- ///
- [Obsolete("use the `otel.scope.name` attribute")]
- public const string AttributeOtelLibraryName = "otel.library.name";
+ [Obsolete("use the `otel.scope.name` attribute")]
+ public const string AttributeOtelLibraryName = "otel.library.name";
- ///
- /// None.
- ///
- [Obsolete("use the `otel.scope.version` attribute")]
- public const string AttributeOtelLibraryVersion = "otel.library.version";
+ ///
+ /// None.
+ ///
+ [Obsolete("use the `otel.scope.version` attribute")]
+ public const string AttributeOtelLibraryVersion = "otel.library.version";
- ///
- /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
- ///
- public const string AttributeOtelScopeName = "otel.scope.name";
+ ///
+ /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).
+ ///
+ public const string AttributeOtelScopeName = "otel.scope.name";
- ///
- /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
- ///
- public const string AttributeOtelScopeVersion = "otel.scope.version";
+ ///
+ /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).
+ ///
+ public const string AttributeOtelScopeVersion = "otel.scope.version";
- ///
- /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
- ///
- public const string AttributeOtelStatusCode = "otel.status_code";
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public const string AttributeOtelStatusCode = "otel.status_code";
+ ///
+ /// Description of the Status if it has a value, otherwise not set.
+ ///
+ public const string AttributeOtelStatusDescription = "otel.status_description";
+
+ ///
+ /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ ///
+ public static class OtelStatusCodeValues
+ {
///
- /// Description of the Status if it has a value, otherwise not set.
+ /// The operation has been validated by an Application developer or Operator to have completed successfully.
///
- public const string AttributeOtelStatusDescription = "otel.status_description";
+ public const string Ok = "OK";
///
- /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET.
+ /// The operation contains an error.
///
- public static class OtelStatusCodeValues
- {
- ///
- /// The operation has been validated by an Application developer or Operator to have completed successfully.
- ///
- public const string Ok = "OK";
-
- ///
- /// The operation contains an error.
- ///
- public const string Error = "ERROR";
- }
+ public const string Error = "ERROR";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs b/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
index 206e6cf0e8..e489e2a8e0 100644
--- a/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
@@ -7,32 +7,31 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class OtherAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The state of a connection in the pool.
///
- public static class OtherAttributes
+ public const string AttributeState = "state";
+
+ ///
+ /// The state of a connection in the pool.
+ ///
+ public static class StateValues
{
///
- /// The state of a connection in the pool.
+ /// idle.
///
- public const string AttributeState = "state";
+ public const string Idle = "idle";
///
- /// The state of a connection in the pool.
+ /// used.
///
- public static class StateValues
- {
- ///
- /// idle.
- ///
- public const string Idle = "idle";
-
- ///
- /// used.
- ///
- public const string Used = "used";
- }
+ public const string Used = "used";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs b/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
index cc0d346df3..d186722a12 100644
--- a/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
@@ -7,16 +7,15 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class PeerAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
///
- public static class PeerAttributes
- {
- ///
- /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any.
- ///
- public const string AttributePeerService = "peer.service";
- }
+ public const string AttributePeerService = "peer.service";
}
diff --git a/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs b/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
index b6f50344f5..3e8f9d2dd6 100644
--- a/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
@@ -7,16 +7,15 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class PoolAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port.
///
- public static class PoolAttributes
- {
- ///
- /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port.
- ///
- public const string AttributePoolName = "pool.name";
- }
+ public const string AttributePoolName = "pool.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs b/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
index b7566a76f7..4c9870fdd6 100644
--- a/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
@@ -7,134 +7,133 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ProcessAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
///
- public static class ProcessAttributes
- {
- ///
- /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW.
- ///
- public const string AttributeProcessCommand = "process.command";
+ public const string AttributeProcessCommand = "process.command";
- ///
- /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
- ///
- public const string AttributeProcessCommandArgs = "process.command_args";
+ ///
+ /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main.
+ ///
+ public const string AttributeProcessCommandArgs = "process.command_args";
- ///
- /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
- ///
- public const string AttributeProcessCommandLine = "process.command_line";
+ ///
+ /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead.
+ ///
+ public const string AttributeProcessCommandLine = "process.command_line";
- ///
- /// Specifies whether the context switches for this data point were voluntary or involuntary.
- ///
- public const string AttributeProcessContextSwitchType = "process.context_switch_type";
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public const string AttributeProcessContextSwitchType = "process.context_switch_type";
- ///
- /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
- ///
- public const string AttributeProcessCpuState = "process.cpu.state";
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeProcessCpuState = "process.cpu.state";
- ///
- /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutableName = "process.executable.name";
+ ///
+ /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutableName = "process.executable.name";
- ///
- /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
- ///
- public const string AttributeProcessExecutablePath = "process.executable.path";
+ ///
+ /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW.
+ ///
+ public const string AttributeProcessExecutablePath = "process.executable.path";
- ///
- /// The username of the user that owns the process.
- ///
- public const string AttributeProcessOwner = "process.owner";
+ ///
+ /// The username of the user that owns the process.
+ ///
+ public const string AttributeProcessOwner = "process.owner";
- ///
- /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
- ///
- public const string AttributeProcessPagingFaultType = "process.paging.fault_type";
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public const string AttributeProcessPagingFaultType = "process.paging.fault_type";
- ///
- /// Parent Process identifier (PPID).
- ///
- public const string AttributeProcessParentPid = "process.parent_pid";
+ ///
+ /// Parent Process identifier (PPID).
+ ///
+ public const string AttributeProcessParentPid = "process.parent_pid";
+ ///
+ /// Process identifier (PID).
+ ///
+ public const string AttributeProcessPid = "process.pid";
+
+ ///
+ /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
+ ///
+ public const string AttributeProcessRuntimeDescription = "process.runtime.description";
+
+ ///
+ /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
+ ///
+ public const string AttributeProcessRuntimeName = "process.runtime.name";
+
+ ///
+ /// The version of the runtime of this process, as returned by the runtime without modification.
+ ///
+ public const string AttributeProcessRuntimeVersion = "process.runtime.version";
+
+ ///
+ /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ ///
+ public static class ProcessContextSwitchTypeValues
+ {
///
- /// Process identifier (PID).
+ /// voluntary.
///
- public const string AttributeProcessPid = "process.pid";
+ public const string Voluntary = "voluntary";
///
- /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.
+ /// involuntary.
///
- public const string AttributeProcessRuntimeDescription = "process.runtime.description";
+ public const string Involuntary = "involuntary";
+ }
+ ///
+ /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class ProcessCpuStateValues
+ {
///
- /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler.
+ /// system.
///
- public const string AttributeProcessRuntimeName = "process.runtime.name";
+ public const string System = "system";
///
- /// The version of the runtime of this process, as returned by the runtime without modification.
+ /// user.
///
- public const string AttributeProcessRuntimeVersion = "process.runtime.version";
+ public const string User = "user";
///
- /// Specifies whether the context switches for this data point were voluntary or involuntary.
+ /// wait.
///
- public static class ProcessContextSwitchTypeValues
- {
- ///
- /// voluntary.
- ///
- public const string Voluntary = "voluntary";
-
- ///
- /// involuntary.
- ///
- public const string Involuntary = "involuntary";
- }
+ public const string Wait = "wait";
+ }
+ ///
+ /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ ///
+ public static class ProcessPagingFaultTypeValues
+ {
///
- /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ /// major.
///
- public static class ProcessCpuStateValues
- {
- ///
- /// system.
- ///
- public const string System = "system";
-
- ///
- /// user.
- ///
- public const string User = "user";
-
- ///
- /// wait.
- ///
- public const string Wait = "wait";
- }
+ public const string Major = "major";
///
- /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.
+ /// minor.
///
- public static class ProcessPagingFaultTypeValues
- {
- ///
- /// major.
- ///
- public const string Major = "major";
-
- ///
- /// minor.
- ///
- public const string Minor = "minor";
- }
+ public const string Minor = "minor";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs b/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
index 8188513e41..40f96ac2f9 100644
--- a/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
@@ -7,302 +7,301 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class RpcAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
+
+ ///
+ /// Connect request metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata";
+
+ ///
+ /// Connect response metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata";
+
+ ///
+ /// gRPC request metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata";
+
+ ///
+ /// gRPC response metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ ///
+ ///
+ /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
+ ///
+ public const string AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata";
+
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
+
+ ///
+ /// error.code property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
+
+ ///
+ /// error.message property of response if it is an error response.
+ ///
+ public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
+
+ ///
+ /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
+ ///
+ public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
+
+ ///
+ /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted.
+ ///
+ public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
+
+ ///
+ /// The name of the (logical) method being called, must be equal to the $method part in the span name.
+ ///
+ ///
+ /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
+ ///
+ public const string AttributeRpcMethod = "rpc.method";
+
+ ///
+ /// The full (logical) name of the service being called, including its package name, if applicable.
///
- public static class RpcAttributes
+ ///
+ /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
+ ///
+ public const string AttributeRpcService = "rpc.service";
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public const string AttributeRpcSystem = "rpc.system";
+
+ ///
+ /// The error codes of the Connect request. Error codes are always string values.
+ ///
+ public static class RpcConnectRpcErrorCodeValues
{
///
- /// The error codes of the Connect request. Error codes are always string values.
+ /// cancelled.
///
- public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
+ public const string Cancelled = "cancelled";
///
- /// Connect request metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ /// unknown.
///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
- ///
- public const string AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata";
+ public const string Unknown = "unknown";
///
- /// Connect response metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values.
+ /// invalid_argument.
///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
- ///
- public const string AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata";
+ public const string InvalidArgument = "invalid_argument";
///
- /// gRPC request metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ /// deadline_exceeded.
///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
- ///
- public const string AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata";
+ public const string DeadlineExceeded = "deadline_exceeded";
///
- /// gRPC response metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values.
+ /// not_found.
///
- ///
- /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
- ///
- public const string AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata";
+ public const string NotFound = "not_found";
///
- /// The numeric status code of the gRPC request.
+ /// already_exists.
///
- public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code";
+ public const string AlreadyExists = "already_exists";
///
- /// error.code property of response if it is an error response.
+ /// permission_denied.
///
- public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
+ public const string PermissionDenied = "permission_denied";
///
- /// error.message property of response if it is an error response.
+ /// resource_exhausted.
///
- public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
+ public const string ResourceExhausted = "resource_exhausted";
///
- /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification.
+ /// failed_precondition.
///
- public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
+ public const string FailedPrecondition = "failed_precondition";
///
- /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted.
+ /// aborted.
///
- public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version";
+ public const string Aborted = "aborted";
///
- /// The name of the (logical) method being called, must be equal to the $method part in the span name.
+ /// out_of_range.
///
- ///
- /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
- ///
- public const string AttributeRpcMethod = "rpc.method";
+ public const string OutOfRange = "out_of_range";
///
- /// The full (logical) name of the service being called, including its package name, if applicable.
+ /// unimplemented.
///
- ///
- /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
- ///
- public const string AttributeRpcService = "rpc.service";
+ public const string Unimplemented = "unimplemented";
///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ /// internal.
///
- public const string AttributeRpcSystem = "rpc.system";
+ public const string Internal = "internal";
///
- /// The error codes of the Connect request. Error codes are always string values.
+ /// unavailable.
///
- public static class RpcConnectRpcErrorCodeValues
- {
- ///
- /// cancelled.
- ///
- public const string Cancelled = "cancelled";
+ public const string Unavailable = "unavailable";
- ///
- /// unknown.
- ///
- public const string Unknown = "unknown";
+ ///
+ /// data_loss.
+ ///
+ public const string DataLoss = "data_loss";
- ///
- /// invalid_argument.
- ///
- public const string InvalidArgument = "invalid_argument";
+ ///
+ /// unauthenticated.
+ ///
+ public const string Unauthenticated = "unauthenticated";
+ }
- ///
- /// deadline_exceeded.
- ///
- public const string DeadlineExceeded = "deadline_exceeded";
+ ///
+ /// The numeric status code of the gRPC request.
+ ///
+ public static class RpcGrpcStatusCodeValues
+ {
+ ///
+ /// OK.
+ ///
+ public const int Ok = 0;
- ///
- /// not_found.
- ///
- public const string NotFound = "not_found";
+ ///
+ /// CANCELLED.
+ ///
+ public const int Cancelled = 1;
- ///
- /// already_exists.
- ///
- public const string AlreadyExists = "already_exists";
+ ///
+ /// UNKNOWN.
+ ///
+ public const int Unknown = 2;
- ///
- /// permission_denied.
- ///
- public const string PermissionDenied = "permission_denied";
+ ///
+ /// INVALID_ARGUMENT.
+ ///
+ public const int InvalidArgument = 3;
- ///
- /// resource_exhausted.
- ///
- public const string ResourceExhausted = "resource_exhausted";
+ ///
+ /// DEADLINE_EXCEEDED.
+ ///
+ public const int DeadlineExceeded = 4;
- ///
- /// failed_precondition.
- ///
- public const string FailedPrecondition = "failed_precondition";
+ ///
+ /// NOT_FOUND.
+ ///
+ public const int NotFound = 5;
- ///
- /// aborted.
- ///
- public const string Aborted = "aborted";
+ ///
+ /// ALREADY_EXISTS.
+ ///
+ public const int AlreadyExists = 6;
- ///
- /// out_of_range.
- ///
- public const string OutOfRange = "out_of_range";
+ ///
+ /// PERMISSION_DENIED.
+ ///
+ public const int PermissionDenied = 7;
- ///
- /// unimplemented.
- ///
- public const string Unimplemented = "unimplemented";
+ ///
+ /// RESOURCE_EXHAUSTED.
+ ///
+ public const int ResourceExhausted = 8;
- ///
- /// internal.
- ///
- public const string Internal = "internal";
+ ///
+ /// FAILED_PRECONDITION.
+ ///
+ public const int FailedPrecondition = 9;
- ///
- /// unavailable.
- ///
- public const string Unavailable = "unavailable";
-
- ///
- /// data_loss.
- ///
- public const string DataLoss = "data_loss";
-
- ///
- /// unauthenticated.
- ///
- public const string Unauthenticated = "unauthenticated";
- }
-
- ///
- /// The numeric status code of the gRPC request.
- ///
- public static class RpcGrpcStatusCodeValues
- {
- ///
- /// OK.
- ///
- public const int Ok = 0;
-
- ///
- /// CANCELLED.
- ///
- public const int Cancelled = 1;
-
- ///
- /// UNKNOWN.
- ///
- public const int Unknown = 2;
-
- ///
- /// INVALID_ARGUMENT.
- ///
- public const int InvalidArgument = 3;
-
- ///
- /// DEADLINE_EXCEEDED.
- ///
- public const int DeadlineExceeded = 4;
-
- ///
- /// NOT_FOUND.
- ///
- public const int NotFound = 5;
-
- ///
- /// ALREADY_EXISTS.
- ///
- public const int AlreadyExists = 6;
-
- ///
- /// PERMISSION_DENIED.
- ///
- public const int PermissionDenied = 7;
-
- ///
- /// RESOURCE_EXHAUSTED.
- ///
- public const int ResourceExhausted = 8;
-
- ///
- /// FAILED_PRECONDITION.
- ///
- public const int FailedPrecondition = 9;
-
- ///
- /// ABORTED.
- ///
- public const int Aborted = 10;
-
- ///
- /// OUT_OF_RANGE.
- ///
- public const int OutOfRange = 11;
-
- ///
- /// UNIMPLEMENTED.
- ///
- public const int Unimplemented = 12;
-
- ///
- /// INTERNAL.
- ///
- public const int Internal = 13;
-
- ///
- /// UNAVAILABLE.
- ///
- public const int Unavailable = 14;
-
- ///
- /// DATA_LOSS.
- ///
- public const int DataLoss = 15;
-
- ///
- /// UNAUTHENTICATED.
- ///
- public const int Unauthenticated = 16;
- }
-
- ///
- /// A string identifying the remoting system. See below for a list of well-known identifiers.
- ///
- public static class RpcSystemValues
- {
- ///
- /// gRPC.
- ///
- public const string Grpc = "grpc";
-
- ///
- /// Java RMI.
- ///
- public const string JavaRmi = "java_rmi";
-
- ///
- /// .NET WCF.
- ///
- public const string DotnetWcf = "dotnet_wcf";
-
- ///
- /// Apache Dubbo.
- ///
- public const string ApacheDubbo = "apache_dubbo";
-
- ///
- /// Connect RPC.
- ///
- public const string ConnectRpc = "connect_rpc";
- }
+ ///
+ /// ABORTED.
+ ///
+ public const int Aborted = 10;
+
+ ///
+ /// OUT_OF_RANGE.
+ ///
+ public const int OutOfRange = 11;
+
+ ///
+ /// UNIMPLEMENTED.
+ ///
+ public const int Unimplemented = 12;
+
+ ///
+ /// INTERNAL.
+ ///
+ public const int Internal = 13;
+
+ ///
+ /// UNAVAILABLE.
+ ///
+ public const int Unavailable = 14;
+
+ ///
+ /// DATA_LOSS.
+ ///
+ public const int DataLoss = 15;
+
+ ///
+ /// UNAUTHENTICATED.
+ ///
+ public const int Unauthenticated = 16;
+ }
+
+ ///
+ /// A string identifying the remoting system. See below for a list of well-known identifiers.
+ ///
+ public static class RpcSystemValues
+ {
+ ///
+ /// gRPC.
+ ///
+ public const string Grpc = "grpc";
+
+ ///
+ /// Java RMI.
+ ///
+ public const string JavaRmi = "java_rmi";
+
+ ///
+ /// .NET WCF.
+ ///
+ public const string DotnetWcf = "dotnet_wcf";
+
+ ///
+ /// Apache Dubbo.
+ ///
+ public const string ApacheDubbo = "apache_dubbo";
+
+ ///
+ /// Connect RPC.
+ ///
+ public const string ConnectRpc = "connect_rpc";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs b/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
index f481888971..b31282b237 100644
--- a/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
@@ -7,27 +7,26 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ServerAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
///
- public static class ServerAttributes
- {
- ///
- /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeServerAddress = "server.address";
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerAddress = "server.address";
- ///
- /// Server port number.
- ///
- ///
- /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeServerPort = "server.port";
- }
+ ///
+ /// Server port number.
+ ///
+ ///
+ /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeServerPort = "server.port";
}
diff --git a/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs b/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
index 7864a3630e..b2dfc48164 100644
--- a/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
@@ -7,18 +7,18 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ServiceAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The string ID of the service instance.
///
- public static class ServiceAttributes
- {
- ///
- /// The string ID of the service instance.
- ///
- ///
- /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words
+ ///
+ /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words
/// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to
/// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled
/// service).Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC
@@ -36,28 +36,27 @@ public static class ServiceAttributes
/// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance
/// for that telemetry. This is typically the case for scraping receivers, as they know the target address and
/// port.
- ///
- public const string AttributeServiceInstanceId = "service.instance.id";
-
- ///
- /// Logical name of the service.
- ///
- ///
- /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
- ///
- public const string AttributeServiceName = "service.name";
-
- ///
- /// A namespace for service.name.
- ///
- ///
- /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
- ///
- public const string AttributeServiceNamespace = "service.namespace";
-
- ///
- /// The version string of the service API or implementation. The format is not defined by these conventions.
- ///
- public const string AttributeServiceVersion = "service.version";
- }
+ ///
+ public const string AttributeServiceInstanceId = "service.instance.id";
+
+ ///
+ /// Logical name of the service.
+ ///
+ ///
+ /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service.
+ ///
+ public const string AttributeServiceName = "service.name";
+
+ ///
+ /// A namespace for service.name.
+ ///
+ ///
+ /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
+ ///
+ public const string AttributeServiceNamespace = "service.namespace";
+
+ ///
+ /// The version string of the service API or implementation. The format is not defined by these conventions.
+ ///
+ public const string AttributeServiceVersion = "service.version";
}
diff --git a/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs b/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
index 0b000e207f..7f6ff71fdb 100644
--- a/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
@@ -7,21 +7,20 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class SessionAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// A unique id to identify a session.
///
- public static class SessionAttributes
- {
- ///
- /// A unique id to identify a session.
- ///
- public const string AttributeSessionId = "session.id";
+ public const string AttributeSessionId = "session.id";
- ///
- /// The previous session.id for this user, when known.
- ///
- public const string AttributeSessionPreviousId = "session.previous_id";
- }
+ ///
+ /// The previous session.id for this user, when known.
+ ///
+ public const string AttributeSessionPreviousId = "session.previous_id";
}
diff --git a/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs b/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
index 411c989ce0..dd937d7004 100644
--- a/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
@@ -7,63 +7,62 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class SignalrAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// SignalR HTTP connection closure status.
///
- public static class SignalrAttributes
+ public const string AttributeSignalrConnectionStatus = "signalr.connection.status";
+
+ ///
+ /// SignalR transport type.
+ ///
+ public const string AttributeSignalrTransport = "signalr.transport";
+
+ ///
+ /// SignalR HTTP connection closure status.
+ ///
+ public static class SignalrConnectionStatusValues
{
///
- /// SignalR HTTP connection closure status.
+ /// The connection was closed normally.
///
- public const string AttributeSignalrConnectionStatus = "signalr.connection.status";
+ public const string NormalClosure = "normal_closure";
///
- /// SignalR transport type.
+ /// The connection was closed due to a timeout.
///
- public const string AttributeSignalrTransport = "signalr.transport";
+ public const string Timeout = "timeout";
///
- /// SignalR HTTP connection closure status.
+ /// The connection was closed because the app is shutting down.
///
- public static class SignalrConnectionStatusValues
- {
- ///
- /// The connection was closed normally.
- ///
- public const string NormalClosure = "normal_closure";
-
- ///
- /// The connection was closed due to a timeout.
- ///
- public const string Timeout = "timeout";
-
- ///
- /// The connection was closed because the app is shutting down.
- ///
- public const string AppShutdown = "app_shutdown";
- }
+ public const string AppShutdown = "app_shutdown";
+ }
+ ///
+ /// SignalR transport type.
+ ///
+ public static class SignalrTransportValues
+ {
///
- /// SignalR transport type.
+ /// ServerSentEvents protocol.
///
- public static class SignalrTransportValues
- {
- ///
- /// ServerSentEvents protocol.
- ///
- public const string ServerSentEvents = "server_sent_events";
+ public const string ServerSentEvents = "server_sent_events";
- ///
- /// LongPolling protocol.
- ///
- public const string LongPolling = "long_polling";
+ ///
+ /// LongPolling protocol.
+ ///
+ public const string LongPolling = "long_polling";
- ///
- /// WebSockets protocol.
- ///
- public const string WebSockets = "web_sockets";
- }
+ ///
+ /// WebSockets protocol.
+ ///
+ public const string WebSockets = "web_sockets";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs b/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
index 72af728183..5c24ee0440 100644
--- a/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
@@ -7,24 +7,23 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class SourceAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
///
- public static class SourceAttributes
- {
- ///
- /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.
- ///
- ///
- /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available.
- ///
- public const string AttributeSourceAddress = "source.address";
+ ///
+ /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available.
+ ///
+ public const string AttributeSourceAddress = "source.address";
- ///
- /// Source port number.
- ///
- public const string AttributeSourcePort = "source.port";
- }
+ ///
+ /// Source port number.
+ ///
+ public const string AttributeSourcePort = "source.port";
}
diff --git a/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs b/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
index b14c9bdeec..3270d58b22 100644
--- a/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
@@ -7,377 +7,376 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class SystemAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The logical CPU number [0..n-1].
+ ///
+ public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number";
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public const string AttributeSystemCpuState = "system.cpu.state";
+
+ ///
+ /// The device identifier.
+ ///
+ public const string AttributeSystemDevice = "system.device";
+
+ ///
+ /// The filesystem mode.
+ ///
+ public const string AttributeSystemFilesystemMode = "system.filesystem.mode";
+
+ ///
+ /// The filesystem mount path.
+ ///
+ public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint";
+
+ ///
+ /// The filesystem state.
+ ///
+ public const string AttributeSystemFilesystemState = "system.filesystem.state";
+
+ ///
+ /// The filesystem type.
+ ///
+ public const string AttributeSystemFilesystemType = "system.filesystem.type";
+
+ ///
+ /// The memory state.
+ ///
+ public const string AttributeSystemMemoryState = "system.memory.state";
+
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public const string AttributeSystemNetworkState = "system.network.state";
+
+ ///
+ /// The paging access direction.
+ ///
+ public const string AttributeSystemPagingDirection = "system.paging.direction";
+
+ ///
+ /// The memory paging state.
+ ///
+ public const string AttributeSystemPagingState = "system.paging.state";
+
+ ///
+ /// The memory paging type.
+ ///
+ public const string AttributeSystemPagingType = "system.paging.type";
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public const string AttributeSystemProcessStatus = "system.process.status";
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ [Obsolete("Replaced by `system.process.status`")]
+ public const string AttributeSystemProcessesStatus = "system.processes.status";
+
+ ///
+ /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ ///
+ public static class SystemCpuStateValues
+ {
+ ///
+ /// user.
+ ///
+ public const string User = "user";
+
+ ///
+ /// system.
+ ///
+ public const string System = "system";
+
+ ///
+ /// nice.
+ ///
+ public const string Nice = "nice";
+
+ ///
+ /// idle.
+ ///
+ public const string Idle = "idle";
+
+ ///
+ /// iowait.
+ ///
+ public const string Iowait = "iowait";
+
+ ///
+ /// interrupt.
+ ///
+ public const string Interrupt = "interrupt";
+
+ ///
+ /// steal.
+ ///
+ public const string Steal = "steal";
+ }
+
+ ///
+ /// The filesystem state.
+ ///
+ public static class SystemFilesystemStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
+
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+
+ ///
+ /// reserved.
+ ///
+ public const string Reserved = "reserved";
+ }
+
+ ///
+ /// The filesystem type.
///
- public static class SystemAttributes
+ public static class SystemFilesystemTypeValues
{
///
- /// The logical CPU number [0..n-1].
+ /// fat32.
///
- public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number";
+ public const string Fat32 = "fat32";
///
- /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ /// exfat.
///
- public const string AttributeSystemCpuState = "system.cpu.state";
+ public const string Exfat = "exfat";
///
- /// The device identifier.
+ /// ntfs.
///
- public const string AttributeSystemDevice = "system.device";
+ public const string Ntfs = "ntfs";
///
- /// The filesystem mode.
+ /// refs.
///
- public const string AttributeSystemFilesystemMode = "system.filesystem.mode";
+ public const string Refs = "refs";
///
- /// The filesystem mount path.
+ /// hfsplus.
///
- public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint";
+ public const string Hfsplus = "hfsplus";
///
- /// The filesystem state.
+ /// ext4.
///
- public const string AttributeSystemFilesystemState = "system.filesystem.state";
+ public const string Ext4 = "ext4";
+ }
+ ///
+ /// The memory state.
+ ///
+ public static class SystemMemoryStateValues
+ {
///
- /// The filesystem type.
+ /// used.
///
- public const string AttributeSystemFilesystemType = "system.filesystem.type";
+ public const string Used = "used";
///
- /// The memory state.
+ /// free.
///
- public const string AttributeSystemMemoryState = "system.memory.state";
+ public const string Free = "free";
///
- /// A stateless protocol MUST NOT set this attribute.
+ /// shared.
///
- public const string AttributeSystemNetworkState = "system.network.state";
+ public const string Shared = "shared";
///
- /// The paging access direction.
+ /// buffers.
///
- public const string AttributeSystemPagingDirection = "system.paging.direction";
+ public const string Buffers = "buffers";
///
- /// The memory paging state.
+ /// cached.
///
- public const string AttributeSystemPagingState = "system.paging.state";
+ public const string Cached = "cached";
+ }
+ ///
+ /// A stateless protocol MUST NOT set this attribute.
+ ///
+ public static class SystemNetworkStateValues
+ {
///
- /// The memory paging type.
+ /// close.
///
- public const string AttributeSystemPagingType = "system.paging.type";
+ public const string Close = "close";
///
- /// The process state, e.g., Linux Process State Codes.
+ /// close_wait.
///
- public const string AttributeSystemProcessStatus = "system.process.status";
+ public const string CloseWait = "close_wait";
///
- /// Deprecated, use system.process.status instead.
+ /// closing.
///
- [Obsolete("Replaced by `system.process.status`")]
- public const string AttributeSystemProcessesStatus = "system.processes.status";
+ public const string Closing = "closing";
///
- /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels.
+ /// delete.
///
- public static class SystemCpuStateValues
- {
- ///
- /// user.
- ///
- public const string User = "user";
+ public const string Delete = "delete";
- ///
- /// system.
- ///
- public const string System = "system";
+ ///
+ /// established.
+ ///
+ public const string Established = "established";
- ///
- /// nice.
- ///
- public const string Nice = "nice";
+ ///
+ /// fin_wait_1.
+ ///
+ public const string FinWait1 = "fin_wait_1";
- ///
- /// idle.
- ///
- public const string Idle = "idle";
+ ///
+ /// fin_wait_2.
+ ///
+ public const string FinWait2 = "fin_wait_2";
- ///
- /// iowait.
- ///
- public const string Iowait = "iowait";
+ ///
+ /// last_ack.
+ ///
+ public const string LastAck = "last_ack";
- ///
- /// interrupt.
- ///
- public const string Interrupt = "interrupt";
+ ///
+ /// listen.
+ ///
+ public const string Listen = "listen";
- ///
- /// steal.
- ///
- public const string Steal = "steal";
- }
+ ///
+ /// syn_recv.
+ ///
+ public const string SynRecv = "syn_recv";
///
- /// The filesystem state.
+ /// syn_sent.
///
- public static class SystemFilesystemStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
+ public const string SynSent = "syn_sent";
- ///
- /// free.
- ///
- public const string Free = "free";
+ ///
+ /// time_wait.
+ ///
+ public const string TimeWait = "time_wait";
+ }
- ///
- /// reserved.
- ///
- public const string Reserved = "reserved";
- }
+ ///
+ /// The paging access direction.
+ ///
+ public static class SystemPagingDirectionValues
+ {
+ ///
+ /// in.
+ ///
+ public const string In = "in";
///
- /// The filesystem type.
+ /// out.
///
- public static class SystemFilesystemTypeValues
- {
- ///
- /// fat32.
- ///
- public const string Fat32 = "fat32";
+ public const string Out = "out";
+ }
- ///
- /// exfat.
- ///
- public const string Exfat = "exfat";
+ ///
+ /// The memory paging state.
+ ///
+ public static class SystemPagingStateValues
+ {
+ ///
+ /// used.
+ ///
+ public const string Used = "used";
- ///
- /// ntfs.
- ///
- public const string Ntfs = "ntfs";
+ ///
+ /// free.
+ ///
+ public const string Free = "free";
+ }
- ///
- /// refs.
- ///
- public const string Refs = "refs";
-
- ///
- /// hfsplus.
- ///
- public const string Hfsplus = "hfsplus";
-
- ///
- /// ext4.
- ///
- public const string Ext4 = "ext4";
- }
-
- ///
- /// The memory state.
- ///
- public static class SystemMemoryStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
-
- ///
- /// free.
- ///
- public const string Free = "free";
-
- ///
- /// shared.
- ///
- public const string Shared = "shared";
-
- ///
- /// buffers.
- ///
- public const string Buffers = "buffers";
-
- ///
- /// cached.
- ///
- public const string Cached = "cached";
- }
-
- ///
- /// A stateless protocol MUST NOT set this attribute.
- ///
- public static class SystemNetworkStateValues
- {
- ///
- /// close.
- ///
- public const string Close = "close";
-
- ///
- /// close_wait.
- ///
- public const string CloseWait = "close_wait";
-
- ///
- /// closing.
- ///
- public const string Closing = "closing";
-
- ///
- /// delete.
- ///
- public const string Delete = "delete";
-
- ///
- /// established.
- ///
- public const string Established = "established";
-
- ///
- /// fin_wait_1.
- ///
- public const string FinWait1 = "fin_wait_1";
-
- ///
- /// fin_wait_2.
- ///
- public const string FinWait2 = "fin_wait_2";
-
- ///
- /// last_ack.
- ///
- public const string LastAck = "last_ack";
-
- ///
- /// listen.
- ///
- public const string Listen = "listen";
-
- ///
- /// syn_recv.
- ///
- public const string SynRecv = "syn_recv";
-
- ///
- /// syn_sent.
- ///
- public const string SynSent = "syn_sent";
-
- ///
- /// time_wait.
- ///
- public const string TimeWait = "time_wait";
- }
-
- ///
- /// The paging access direction.
- ///
- public static class SystemPagingDirectionValues
- {
- ///
- /// in.
- ///
- public const string In = "in";
-
- ///
- /// out.
- ///
- public const string Out = "out";
- }
-
- ///
- /// The memory paging state.
- ///
- public static class SystemPagingStateValues
- {
- ///
- /// used.
- ///
- public const string Used = "used";
-
- ///
- /// free.
- ///
- public const string Free = "free";
- }
-
- ///
- /// The memory paging type.
- ///
- public static class SystemPagingTypeValues
- {
- ///
- /// major.
- ///
- public const string Major = "major";
-
- ///
- /// minor.
- ///
- public const string Minor = "minor";
- }
-
- ///
- /// The process state, e.g., Linux Process State Codes.
- ///
- public static class SystemProcessStatusValues
- {
- ///
- /// running.
- ///
- public const string Running = "running";
-
- ///
- /// sleeping.
- ///
- public const string Sleeping = "sleeping";
-
- ///
- /// stopped.
- ///
- public const string Stopped = "stopped";
-
- ///
- /// defunct.
- ///
- public const string Defunct = "defunct";
- }
-
- ///
- /// Deprecated, use system.process.status instead.
- ///
- public static class SystemProcessesStatusValues
- {
- ///
- /// running.
- ///
- public const string Running = "running";
-
- ///
- /// sleeping.
- ///
- public const string Sleeping = "sleeping";
-
- ///
- /// stopped.
- ///
- public const string Stopped = "stopped";
-
- ///
- /// defunct.
- ///
- public const string Defunct = "defunct";
- }
+ ///
+ /// The memory paging type.
+ ///
+ public static class SystemPagingTypeValues
+ {
+ ///
+ /// major.
+ ///
+ public const string Major = "major";
+
+ ///
+ /// minor.
+ ///
+ public const string Minor = "minor";
+ }
+
+ ///
+ /// The process state, e.g., Linux Process State Codes.
+ ///
+ public static class SystemProcessStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
+ }
+
+ ///
+ /// Deprecated, use system.process.status instead.
+ ///
+ public static class SystemProcessesStatusValues
+ {
+ ///
+ /// running.
+ ///
+ public const string Running = "running";
+
+ ///
+ /// sleeping.
+ ///
+ public const string Sleeping = "sleeping";
+
+ ///
+ /// stopped.
+ ///
+ public const string Stopped = "stopped";
+
+ ///
+ /// defunct.
+ ///
+ public const string Defunct = "defunct";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs b/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
index 3b49c13b5b..f08ca9fd85 100644
--- a/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
@@ -7,114 +7,113 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class TelemetryAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// The name of the auto instrumentation agent or distribution, if used.
+ ///
+ ///
+ /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to
+ /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.
+ ///
+ public const string AttributeTelemetryDistroName = "telemetry.distro.name";
+
+ ///
+ /// The version string of the auto instrumentation agent or distribution, if used.
+ ///
+ public const string AttributeTelemetryDistroVersion = "telemetry.distro.version";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
+
+ ///
+ /// The name of the telemetry SDK as defined above.
///
- public static class TelemetryAttributes
+ ///
+ /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry.
+ /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the
+ /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point
+ /// or another suitable identifier depending on the language.
+ /// The identifier opentelemetry is reserved and MUST NOT be used in this case.
+ /// All custom identifiers SHOULD be stable across different versions of an implementation.
+ ///
+ public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
+
+ ///
+ /// The version string of the telemetry SDK.
+ ///
+ public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
+
+ ///
+ /// The language of the telemetry SDK.
+ ///
+ public static class TelemetrySdkLanguageValues
{
///
- /// The name of the auto instrumentation agent or distribution, if used.
+ /// cpp.
///
- ///
- /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to
- /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation.
- ///
- public const string AttributeTelemetryDistroName = "telemetry.distro.name";
+ public const string Cpp = "cpp";
///
- /// The version string of the auto instrumentation agent or distribution, if used.
+ /// dotnet.
///
- public const string AttributeTelemetryDistroVersion = "telemetry.distro.version";
+ public const string Dotnet = "dotnet";
///
- /// The language of the telemetry SDK.
+ /// erlang.
///
- public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language";
+ public const string Erlang = "erlang";
///
- /// The name of the telemetry SDK as defined above.
+ /// go.
///
- ///
- /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry.
- /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the
- /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point
- /// or another suitable identifier depending on the language.
- /// The identifier opentelemetry is reserved and MUST NOT be used in this case.
- /// All custom identifiers SHOULD be stable across different versions of an implementation.
- ///
- public const string AttributeTelemetrySdkName = "telemetry.sdk.name";
+ public const string Go = "go";
+
+ ///
+ /// java.
+ ///
+ public const string Java = "java";
+
+ ///
+ /// nodejs.
+ ///
+ public const string Nodejs = "nodejs";
+
+ ///
+ /// php.
+ ///
+ public const string Php = "php";
+
+ ///
+ /// python.
+ ///
+ public const string Python = "python";
+
+ ///
+ /// ruby.
+ ///
+ public const string Ruby = "ruby";
+
+ ///
+ /// rust.
+ ///
+ public const string Rust = "rust";
///
- /// The version string of the telemetry SDK.
+ /// swift.
///
- public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version";
+ public const string Swift = "swift";
///
- /// The language of the telemetry SDK.
+ /// webjs.
///
- public static class TelemetrySdkLanguageValues
- {
- ///
- /// cpp.
- ///
- public const string Cpp = "cpp";
-
- ///
- /// dotnet.
- ///
- public const string Dotnet = "dotnet";
-
- ///
- /// erlang.
- ///
- public const string Erlang = "erlang";
-
- ///
- /// go.
- ///
- public const string Go = "go";
-
- ///
- /// java.
- ///
- public const string Java = "java";
-
- ///
- /// nodejs.
- ///
- public const string Nodejs = "nodejs";
-
- ///
- /// php.
- ///
- public const string Php = "php";
-
- ///
- /// python.
- ///
- public const string Python = "python";
-
- ///
- /// ruby.
- ///
- public const string Ruby = "ruby";
-
- ///
- /// rust.
- ///
- public const string Rust = "rust";
-
- ///
- /// swift.
- ///
- public const string Swift = "swift";
-
- ///
- /// webjs.
- ///
- public const string Webjs = "webjs";
- }
+ public const string Webjs = "webjs";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs b/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
index a020284784..82eb2c18ee 100644
--- a/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
@@ -7,21 +7,20 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class ThreadAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Current "managed" thread ID (as opposed to OS thread ID).
///
- public static class ThreadAttributes
- {
- ///
- /// Current "managed" thread ID (as opposed to OS thread ID).
- ///
- public const string AttributeThreadId = "thread.id";
+ public const string AttributeThreadId = "thread.id";
- ///
- /// Current thread name.
- ///
- public const string AttributeThreadName = "thread.name";
- }
+ ///
+ /// Current thread name.
+ ///
+ public const string AttributeThreadName = "thread.name";
}
diff --git a/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs b/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
index 83ed0178e3..fbcac49fea 100644
--- a/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
@@ -7,175 +7,174 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class TlsAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// String indicating the cipher used during the current connection.
///
- public static class TlsAttributes
- {
- ///
- /// String indicating the cipher used during the current connection.
- ///
- ///
- /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits.
- ///
- public const string AttributeTlsCipher = "tls.cipher";
+ ///
+ /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits.
+ ///
+ public const string AttributeTlsCipher = "tls.cipher";
- ///
- /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list.
- ///
- public const string AttributeTlsClientCertificate = "tls.client.certificate";
+ ///
+ /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsClientCertificate = "tls.client.certificate";
- ///
- /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain.
- ///
- public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain";
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain";
- ///
- /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5";
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5";
- ///
- /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1";
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1";
- ///
- /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256";
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256";
- ///
- /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsClientIssuer = "tls.client.issuer";
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientIssuer = "tls.client.issuer";
- ///
- /// A hash that identifies clients based on how they perform an SSL/TLS handshake.
- ///
- public const string AttributeTlsClientJa3 = "tls.client.ja3";
+ ///
+ /// A hash that identifies clients based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsClientJa3 = "tls.client.ja3";
- ///
- /// Date/Time indicating when client certificate is no longer considered valid.
- ///
- public const string AttributeTlsClientNotAfter = "tls.client.not_after";
+ ///
+ /// Date/Time indicating when client certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsClientNotAfter = "tls.client.not_after";
- ///
- /// Date/Time indicating when client certificate is first considered valid.
- ///
- public const string AttributeTlsClientNotBefore = "tls.client.not_before";
+ ///
+ /// Date/Time indicating when client certificate is first considered valid.
+ ///
+ public const string AttributeTlsClientNotBefore = "tls.client.not_before";
- ///
- /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.
- ///
- public const string AttributeTlsClientServerName = "tls.client.server_name";
+ ///
+ /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.
+ ///
+ public const string AttributeTlsClientServerName = "tls.client.server_name";
- ///
- /// Distinguished name of subject of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsClientSubject = "tls.client.subject";
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsClientSubject = "tls.client.subject";
- ///
- /// Array of ciphers offered by the client during the client hello.
- ///
- public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers";
+ ///
+ /// Array of ciphers offered by the client during the client hello.
+ ///
+ public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers";
- ///
- /// String indicating the curve used for the given cipher, when applicable.
- ///
- public const string AttributeTlsCurve = "tls.curve";
+ ///
+ /// String indicating the curve used for the given cipher, when applicable.
+ ///
+ public const string AttributeTlsCurve = "tls.curve";
- ///
- /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.
- ///
- public const string AttributeTlsEstablished = "tls.established";
+ ///
+ /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.
+ ///
+ public const string AttributeTlsEstablished = "tls.established";
- ///
- /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case.
- ///
- public const string AttributeTlsNextProtocol = "tls.next_protocol";
+ ///
+ /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case.
+ ///
+ public const string AttributeTlsNextProtocol = "tls.next_protocol";
- ///
- /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
- ///
- public const string AttributeTlsProtocolName = "tls.protocol.name";
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolName = "tls.protocol.name";
- ///
- /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version.
- ///
- public const string AttributeTlsProtocolVersion = "tls.protocol.version";
+ ///
+ /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version.
+ ///
+ public const string AttributeTlsProtocolVersion = "tls.protocol.version";
- ///
- /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
- ///
- public const string AttributeTlsResumed = "tls.resumed";
+ ///
+ /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
+ ///
+ public const string AttributeTlsResumed = "tls.resumed";
- ///
- /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list.
- ///
- public const string AttributeTlsServerCertificate = "tls.server.certificate";
+ ///
+ /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list.
+ ///
+ public const string AttributeTlsServerCertificate = "tls.server.certificate";
- ///
- /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain.
- ///
- public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain";
+ ///
+ /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain.
+ ///
+ public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain";
- ///
- /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5";
+ ///
+ /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5";
- ///
- /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1";
+ ///
+ /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1";
- ///
- /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
- ///
- public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256";
+ ///
+ /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.
+ ///
+ public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256";
- ///
- /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
- ///
- public const string AttributeTlsServerIssuer = "tls.server.issuer";
+ ///
+ /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client.
+ ///
+ public const string AttributeTlsServerIssuer = "tls.server.issuer";
- ///
- /// A hash that identifies servers based on how they perform an SSL/TLS handshake.
- ///
- public const string AttributeTlsServerJa3s = "tls.server.ja3s";
+ ///
+ /// A hash that identifies servers based on how they perform an SSL/TLS handshake.
+ ///
+ public const string AttributeTlsServerJa3s = "tls.server.ja3s";
- ///
- /// Date/Time indicating when server certificate is no longer considered valid.
- ///
- public const string AttributeTlsServerNotAfter = "tls.server.not_after";
+ ///
+ /// Date/Time indicating when server certificate is no longer considered valid.
+ ///
+ public const string AttributeTlsServerNotAfter = "tls.server.not_after";
- ///
- /// Date/Time indicating when server certificate is first considered valid.
- ///
- public const string AttributeTlsServerNotBefore = "tls.server.not_before";
+ ///
+ /// Date/Time indicating when server certificate is first considered valid.
+ ///
+ public const string AttributeTlsServerNotBefore = "tls.server.not_before";
+
+ ///
+ /// Distinguished name of subject of the x.509 certificate presented by the server.
+ ///
+ public const string AttributeTlsServerSubject = "tls.server.subject";
+ ///
+ /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ ///
+ public static class TlsProtocolNameValues
+ {
///
- /// Distinguished name of subject of the x.509 certificate presented by the server.
+ /// ssl.
///
- public const string AttributeTlsServerSubject = "tls.server.subject";
+ public const string Ssl = "ssl";
///
- /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version.
+ /// tls.
///
- public static class TlsProtocolNameValues
- {
- ///
- /// ssl.
- ///
- public const string Ssl = "ssl";
-
- ///
- /// tls.
- ///
- public const string Tls = "tls";
- }
+ public const string Tls = "tls";
}
}
diff --git a/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs b/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
index 66883eb3b6..7471d882e5 100644
--- a/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
@@ -7,101 +7,100 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class UrlAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Domain extracted from the url.full, such as "opentelemetry.io".
///
- public static class UrlAttributes
- {
- ///
- /// Domain extracted from the url.full, such as "opentelemetry.io".
- ///
- ///
- /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field.
- ///
- public const string AttributeUrlDomain = "url.domain";
-
- ///
- /// The file extension extracted from the url.full, excluding the leading dot.
- ///
- ///
- /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz.
- ///
- public const string AttributeUrlExtension = "url.extension";
-
- ///
- /// The URI fragment component.
- ///
- public const string AttributeUrlFragment = "url.fragment";
-
- ///
- /// Absolute URL describing a network resource according to RFC3986.
- ///
- ///
- /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.
+ ///
+ /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field.
+ ///
+ public const string AttributeUrlDomain = "url.domain";
+
+ ///
+ /// The file extension extracted from the url.full, excluding the leading dot.
+ ///
+ ///
+ /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz.
+ ///
+ public const string AttributeUrlExtension = "url.extension";
+
+ ///
+ /// The URI fragment component.
+ ///
+ public const string AttributeUrlFragment = "url.fragment";
+
+ ///
+ /// Absolute URL describing a network resource according to RFC3986.
+ ///
+ ///
+ /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.
/// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute's value SHOULD be https://REDACTED:REDACTED@www.example.com/.
/// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlFull = "url.full";
-
- ///
- /// Unmodified original URL as seen in the event source.
- ///
- ///
- /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
+ ///
+ public const string AttributeUrlFull = "url.full";
+
+ ///
+ /// Unmodified original URL as seen in the event source.
+ ///
+ ///
+ /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not.
/// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same.
- ///
- public const string AttributeUrlOriginal = "url.original";
-
- ///
- /// The URI path component.
- ///
- ///
- /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlPath = "url.path";
-
- ///
- /// Port extracted from the url.full.
- ///
- public const string AttributeUrlPort = "url.port";
-
- ///
- /// The URI query component.
- ///
- ///
- /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it.
- ///
- public const string AttributeUrlQuery = "url.query";
-
- ///
- /// The highest registered url domain, stripped of the subdomain.
- ///
- ///
- /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk.
- ///
- public const string AttributeUrlRegisteredDomain = "url.registered_domain";
-
- ///
- /// The URI scheme component identifying the used protocol.
- ///
- public const string AttributeUrlScheme = "url.scheme";
-
- ///
- /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.
- ///
- ///
- /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period.
- ///
- public const string AttributeUrlSubdomain = "url.subdomain";
-
- ///
- /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com.
- ///
- ///
- /// This value can be determined precisely with the public suffix list.
- ///
- public const string AttributeUrlTopLevelDomain = "url.top_level_domain";
- }
+ ///
+ public const string AttributeUrlOriginal = "url.original";
+
+ ///
+ /// The URI path component.
+ ///
+ ///
+ /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlPath = "url.path";
+
+ ///
+ /// Port extracted from the url.full.
+ ///
+ public const string AttributeUrlPort = "url.port";
+
+ ///
+ /// The URI query component.
+ ///
+ ///
+ /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it.
+ ///
+ public const string AttributeUrlQuery = "url.query";
+
+ ///
+ /// The highest registered url domain, stripped of the subdomain.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk.
+ ///
+ public const string AttributeUrlRegisteredDomain = "url.registered_domain";
+
+ ///
+ /// The URI scheme component identifying the used protocol.
+ ///
+ public const string AttributeUrlScheme = "url.scheme";
+
+ ///
+ /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain.
+ ///
+ ///
+ /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period.
+ ///
+ public const string AttributeUrlSubdomain = "url.subdomain";
+
+ ///
+ /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com.
+ ///
+ ///
+ /// This value can be determined precisely with the public suffix list.
+ ///
+ public const string AttributeUrlTopLevelDomain = "url.top_level_domain";
}
diff --git a/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs b/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
index b800068b94..86c35643f2 100644
--- a/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
@@ -7,32 +7,31 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class UserAgentAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Name of the user-agent extracted from original. Usually refers to the browser's name.
///
- public static class UserAgentAttributes
- {
- ///
- /// Name of the user-agent extracted from original. Usually refers to the browser's name.
- ///
- ///
- /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version.
- ///
- public const string AttributeUserAgentName = "user_agent.name";
+ ///
+ /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version.
+ ///
+ public const string AttributeUserAgentName = "user_agent.name";
- ///
- /// Value of the HTTP User-Agent header sent by the client.
- ///
- public const string AttributeUserAgentOriginal = "user_agent.original";
+ ///
+ /// Value of the HTTP User-Agent header sent by the client.
+ ///
+ public const string AttributeUserAgentOriginal = "user_agent.original";
- ///
- /// Version of the user-agent extracted from original. Usually refers to the browser's version.
- ///
- ///
- /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name.
- ///
- public const string AttributeUserAgentVersion = "user_agent.version";
- }
+ ///
+ /// Version of the user-agent extracted from original. Usually refers to the browser's version.
+ ///
+ ///
+ /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name.
+ ///
+ public const string AttributeUserAgentVersion = "user_agent.version";
}
diff --git a/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs b/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
index 5b9f846577..1a3d5ca741 100644
--- a/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
+++ b/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
@@ -7,26 +7,25 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class WebengineAttributes
{
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// Additional description of the web engine (e.g. detailed version and edition information).
///
- public static class WebengineAttributes
- {
- ///
- /// Additional description of the web engine (e.g. detailed version and edition information).
- ///
- public const string AttributeWebengineDescription = "webengine.description";
+ public const string AttributeWebengineDescription = "webengine.description";
- ///
- /// The name of the web engine.
- ///
- public const string AttributeWebengineName = "webengine.name";
+ ///
+ /// The name of the web engine.
+ ///
+ public const string AttributeWebengineName = "webengine.name";
- ///
- /// The version of the web engine.
- ///
- public const string AttributeWebengineVersion = "webengine.version";
- }
+ ///
+ /// The version of the web engine.
+ ///
+ public const string AttributeWebengineVersion = "webengine.version";
}
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index 082d5c4140..2ea2a6ba28 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -25,46 +25,45 @@
using System;
-namespace OpenTelemetry.SemanticConventions
+namespace OpenTelemetry.SemanticConventions;
+
+///
+/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+///
+public static class {{ root_namespace | to_camelcase(True) }}Attributes
{
+{% for attribute in attributes_and_templates %}
+{% if not loop.first %}{{"\n"}}{% endif %}
///
- /// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
+ /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
///
- public static class {{ root_namespace | to_camelcase(True) }}Attributes
- {
-{% for attribute in attributes_and_templates %}
- {% if not loop.first %}{{"\n"}}{% endif %}
- ///
- /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
- ///
- {% if attribute.note %}
- ///
- /// {{format_remarks(attribute.note | to_doc_brief | escape | render_markdown(code="{0}", paragraph="{0}"))}}.
- ///
- {% endif %}
- {% if attribute.deprecated %}
- [Obsolete("{{attribute.deprecated | to_doc_brief | replace('"', "")}}")]
- {% endif %}
- public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
+{% if attribute.note %}
+ ///
+ /// {{format_remarks(attribute.note | to_doc_brief | escape | render_markdown(code="{0}", paragraph="{0}"))}}.
+ ///
+{% endif %}
+{% if attribute.deprecated %}
+ [Obsolete("{{attribute.deprecated | to_doc_brief | replace('"', "")}}")]
+{% endif %}
+ public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}";
{% endfor %}
{% for attribute in enum_attributes %}
- {% set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %}
- {% set type = attribute.attr_type.enum_type %}
+{% set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %}
+{% set type = attribute.attr_type.enum_type %}
+ ///
+ /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
+ ///
+ public static class {{class_name}}
+ {
+ {% for member in attribute.attr_type.members %}
///
- /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}}
+ /// {{format_xml_doc(member.brief | render_markdown(code="{0}", paragraph="{0}"))}}
///
- public static class {{class_name}}
- {
- {% for member in attribute.attr_type.members %}
- ///
- /// {{format_xml_doc(member.brief | render_markdown(code="{0}", paragraph="{0}"))}}
- ///
- public const {{ type }} {{ member.member_id | to_camelcase(True) }} = {{ print_value(type, member.value) }};
- {% if not loop.last %}{{"\n"}}{% endif %}
- {% endfor %}
- }
-{% endfor %}
+ public const {{ type }} {{ member.member_id | to_camelcase(True) }} = {{ print_value(type, member.value) }};
+ {% if not loop.last %}{{"\n"}}{% endif %}
+ {% endfor %}
}
+{% endfor %}
}
From 776ebe6e5fb5a9d9ae416a199177db82718517d0 Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:28:26 -0700
Subject: [PATCH 19/26] Attempt to skip code coverage steps if no tests are
run.
---
.github/workflows/Component.BuildTest.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml
index a73765ca62..e2cda7b6c4 100644
--- a/.github/workflows/Component.BuildTest.yml
+++ b/.github/workflows/Component.BuildTest.yml
@@ -54,9 +54,11 @@ jobs:
run: dotnet tool install -g dotnet-coverage
- name: Merging test results
+ if: ${{ hashFiles('./TestResults/Cobertura.xml') != '' }}
run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
+ if: ${{ hashFiles('./TestResults/*.coverage') != '' }}
uses: codecov/codecov-action@v4
continue-on-error: true # Note: Don't fail for upload failures
env:
From 11ca969a85437e4197b930b8ca13e98fc7cb93ee Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 16:30:53 +0000
Subject: [PATCH 20/26] Move *Attributes.cs to Attributes folder
---
.../{ => Attributes}/AndroidAttributes.cs | 0
.../{ => Attributes}/AspnetcoreAttributes.cs | 0
.../{ => Attributes}/AwsAttributes.cs | 0
.../{ => Attributes}/BrowserAttributes.cs | 0
.../{ => Attributes}/ClientAttributes.cs | 0
.../{ => Attributes}/CloudAttributes.cs | 0
.../{ => Attributes}/CloudeventsAttributes.cs | 0
.../{ => Attributes}/CodeAttributes.cs | 0
.../{ => Attributes}/ContainerAttributes.cs | 0
.../{ => Attributes}/DbAttributes.cs | 0
.../{ => Attributes}/DeploymentAttributes.cs | 0
.../{ => Attributes}/DestinationAttributes.cs | 0
.../{ => Attributes}/DeviceAttributes.cs | 0
.../{ => Attributes}/DiskAttributes.cs | 0
.../{ => Attributes}/DnsAttributes.cs | 0
.../{ => Attributes}/EnduserAttributes.cs | 0
.../{ => Attributes}/ErrorAttributes.cs | 0
.../{ => Attributes}/EventAttributes.cs | 0
.../{ => Attributes}/ExceptionAttributes.cs | 0
.../{ => Attributes}/FaasAttributes.cs | 0
.../{ => Attributes}/FeatureFlagAttributes.cs | 0
.../{ => Attributes}/FileAttributes.cs | 0
.../{ => Attributes}/GcpAttributes.cs | 0
.../{ => Attributes}/GraphqlAttributes.cs | 0
.../{ => Attributes}/HerokuAttributes.cs | 0
.../{ => Attributes}/HostAttributes.cs | 0
.../{ => Attributes}/HttpAttributes.cs | 0
.../{ => Attributes}/IosAttributes.cs | 0
.../{ => Attributes}/JvmAttributes.cs | 0
.../{ => Attributes}/K8sAttributes.cs | 0
.../{ => Attributes}/LogAttributes.cs | 0
.../{ => Attributes}/MessageAttributes.cs | 0
.../{ => Attributes}/MessagingAttributes.cs | 0
.../{ => Attributes}/NetAttributes.cs | 0
.../{ => Attributes}/NetworkAttributes.cs | 0
.../{ => Attributes}/OciAttributes.cs | 0
.../{ => Attributes}/OpentracingAttributes.cs | 0
.../{ => Attributes}/OsAttributes.cs | 0
.../{ => Attributes}/OtelAttributes.cs | 0
.../{ => Attributes}/OtherAttributes.cs | 0
.../{ => Attributes}/PeerAttributes.cs | 0
.../{ => Attributes}/PoolAttributes.cs | 0
.../{ => Attributes}/ProcessAttributes.cs | 0
.../{ => Attributes}/RpcAttributes.cs | 0
.../{ => Attributes}/ServerAttributes.cs | 0
.../{ => Attributes}/ServiceAttributes.cs | 0
.../{ => Attributes}/SessionAttributes.cs | 0
.../{ => Attributes}/SignalrAttributes.cs | 0
.../{ => Attributes}/SourceAttributes.cs | 0
.../{ => Attributes}/SystemAttributes.cs | 0
.../{ => Attributes}/TelemetryAttributes.cs | 0
.../{ => Attributes}/ThreadAttributes.cs | 0
.../{ => Attributes}/TlsAttributes.cs | 0
.../{ => Attributes}/UrlAttributes.cs | 0
.../{ => Attributes}/UserAgentAttributes.cs | 0
.../{ => Attributes}/WebengineAttributes.cs | 0
src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 | 2 +-
src/OpenTelemetry.SemanticConventions/scripts/generate.sh | 2 +-
58 files changed, 2 insertions(+), 2 deletions(-)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/AndroidAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/AspnetcoreAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/AwsAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/BrowserAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ClientAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/CloudAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/CloudeventsAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/CodeAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ContainerAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DbAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DeploymentAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DestinationAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DeviceAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DiskAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/DnsAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/EnduserAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ErrorAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/EventAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ExceptionAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/FaasAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/FeatureFlagAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/FileAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/GcpAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/GraphqlAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/HerokuAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/HostAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/HttpAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/IosAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/JvmAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/K8sAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/LogAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/MessageAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/MessagingAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/NetAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/NetworkAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/OciAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/OpentracingAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/OsAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/OtelAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/OtherAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/PeerAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/PoolAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ProcessAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/RpcAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ServerAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ServiceAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/SessionAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/SignalrAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/SourceAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/SystemAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/TelemetryAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/ThreadAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/TlsAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/UrlAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/UserAgentAttributes.cs (100%)
rename src/OpenTelemetry.SemanticConventions/{ => Attributes}/WebengineAttributes.cs (100%)
diff --git a/src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/AndroidAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/AspnetcoreAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/AwsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/AwsAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/BrowserAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ClientAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ClientAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/CloudAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/CloudAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/CloudeventsAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/CodeAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/CodeAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ContainerAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DbAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DbAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DeploymentAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DestinationAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DeviceAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DiskAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DiskAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/DnsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/DnsAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/EnduserAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ErrorAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/EventAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/EventAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ExceptionAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/FaasAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/FaasAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/FeatureFlagAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/FileAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/FileAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/GcpAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/GcpAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/GraphqlAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/HerokuAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/HostAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/HostAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/HttpAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/HttpAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/IosAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/IosAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/JvmAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/JvmAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/K8sAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/K8sAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/LogAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/LogAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/MessageAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/MessageAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/MessagingAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/NetAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/NetAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/NetworkAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/OciAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/OciAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/OpentracingAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/OsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/OsAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/OtelAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/OtelAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/OtherAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/OtherAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/PeerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/PeerAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/PoolAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/PoolAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ProcessAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/RpcAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/RpcAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ServerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ServerAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ServiceAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/SessionAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/SessionAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/SignalrAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/SourceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/SourceAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/SystemAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/SystemAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/TelemetryAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/ThreadAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/TlsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/TlsAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/UrlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/UrlAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/UserAgentAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs
similarity index 100%
rename from src/OpenTelemetry.SemanticConventions/WebengineAttributes.cs
rename to src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
index a55ebc73af..81d03e27f3 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1
@@ -20,7 +20,7 @@ Set-Location ${SCRIPT_DIR}
docker run --rm `
-v ${SCRIPT_DIR}/semantic-conventions/model:/source `
-v ${SCRIPT_DIR}/templates:/templates `
- -v ${ROOT_DIR}:/output `
+ -v ${ROOT_DIR}/Attributes:/output `
otel/semconvgen:$GENERATOR_VERSION `
-f /source code `
--template /templates/SemanticConventionsAttributes.cs.j2 `
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
index 480ab7cc7f..a60fdb1a26 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
+++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh
@@ -23,7 +23,7 @@ cd ${SCRIPT_DIR}
docker run --rm \
-v ${SCRIPT_DIR}/semantic-conventions/model:/source \
-v ${SCRIPT_DIR}/templates:/templates \
- -v ${ROOT_DIR}:/output \
+ -v ${ROOT_DIR}/Attributes:/output \
otel/semconvgen:$GENERATOR_VERSION \
-f /source code \
--template /templates/SemanticConventionsAttributes.cs.j2 \
From 5279d65b81e326010923c1ccfa67f698e40950fd Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:31:26 -0700
Subject: [PATCH 21/26] Swap file checks for code coverage upload.
---
.github/workflows/Component.BuildTest.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml
index e2cda7b6c4..f7ee0f209d 100644
--- a/.github/workflows/Component.BuildTest.yml
+++ b/.github/workflows/Component.BuildTest.yml
@@ -54,11 +54,11 @@ jobs:
run: dotnet tool install -g dotnet-coverage
- name: Merging test results
- if: ${{ hashFiles('./TestResults/Cobertura.xml') != '' }}
+ if: ${{ hashFiles('./TestResults/*.coverage') != '' }}
run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
- if: ${{ hashFiles('./TestResults/*.coverage') != '' }}
+ if: ${{ hashFiles('./TestResults/Cobertura.xml') != '' }}
uses: codecov/codecov-action@v4
continue-on-error: true # Note: Don't fail for upload failures
env:
From 155561714b7e3f264e51011aa960ed114c287896 Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:36:27 -0700
Subject: [PATCH 22/26] Tweak file check.
---
.github/workflows/Component.BuildTest.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml
index f7ee0f209d..03463dbade 100644
--- a/.github/workflows/Component.BuildTest.yml
+++ b/.github/workflows/Component.BuildTest.yml
@@ -54,7 +54,7 @@ jobs:
run: dotnet tool install -g dotnet-coverage
- name: Merging test results
- if: ${{ hashFiles('./TestResults/*.coverage') != '' }}
+ if: ${{ hashFiles('./TestResults/**/*.coverage') != '' }}
run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
From 01568a1709ad2d609bab354184e63ca6a80e7c23 Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:41:44 -0700
Subject: [PATCH 23/26] Fix warning about recursive option to dotnet-coverage
merge being obsolete.
---
.github/workflows/Component.BuildTest.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml
index 03463dbade..02a2a6fb55 100644
--- a/.github/workflows/Component.BuildTest.yml
+++ b/.github/workflows/Component.BuildTest.yml
@@ -55,7 +55,7 @@ jobs:
- name: Merging test results
if: ${{ hashFiles('./TestResults/**/*.coverage') != '' }}
- run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage
+ run: dotnet-coverage merge -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/**/*.coverage
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
if: ${{ hashFiles('./TestResults/Cobertura.xml') != '' }}
From 09cafa5c36537a7743bee9150ecb18babd6e6918 Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:42:46 -0700
Subject: [PATCH 24/26] Fix yml in codecov definitions.
---
.github/codecov.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/codecov.yml b/.github/codecov.yml
index c38a11945c..ec826693b2 100644
--- a/.github/codecov.yml
+++ b/.github/codecov.yml
@@ -88,7 +88,7 @@ flags:
paths:
- src/OpenTelemetry.Instrumentation.StackExchangeRedis
- unittests-Instrumentation.Wcf:
+ unittests-Instrumentation.Wcf:
carryforward: true
paths:
- src/OpenTelemetry.Instrumentation.Wcf
From f5210b71ecdc322a5af8f2d40a2d26830492ec4e Mon Sep 17 00:00:00 2001
From: Mikel Blanchard
Date: Wed, 24 Apr 2024 09:50:44 -0700
Subject: [PATCH 25/26] Update codecov for new flag.
---
.github/codecov.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/codecov.yml b/.github/codecov.yml
index ec826693b2..927d2de317 100644
--- a/.github/codecov.yml
+++ b/.github/codecov.yml
@@ -118,3 +118,8 @@ flags:
carryforward: true
paths:
- src/OpenTelemetry.ResourceDetectors.ProcessRuntime
+
+ unittests-SemanticConventions:
+ carryforward: true
+ paths:
+ - src/OpenTelemetry.SemanticConventions
From 22f98098eab824d4cfcd7b397db84ab1396245c9 Mon Sep 17 00:00:00 2001
From: joegoldman2 <147369450+joegoldman@users.noreply.github.com>
Date: Wed, 24 Apr 2024 18:02:04 +0000
Subject: [PATCH 26/26] Get rid of print_value macro
---
.../scripts/templates/SemanticConventionsAttributes.cs.j2 | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
index 2ea2a6ba28..1c2e139a73 100644
--- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
+++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2
@@ -1,7 +1,3 @@
-{%- macro print_value(type, value) -%}
- {{ "\"" if type == "string"}}{{value}}{{ "\"" if type == "string"}}
-{%- endmacro %}
-
{%- macro format_remarks(text) -%}
{%- set notes = '\n /// '.join(text.splitlines()).encode('ascii', 'xmlcharrefreplace').decode() -%}
{{notes}}
@@ -60,7 +56,7 @@ public static class {{ root_namespace | to_camelcase(True) }}Attributes
///
/// {{format_xml_doc(member.brief | render_markdown(code="{0}", paragraph="{0}"))}}
///
- public const {{ type }} {{ member.member_id | to_camelcase(True) }} = {{ print_value(type, member.value) }};
+ public const {{ type }} {{ member.member_id | to_camelcase(True) }} = {{ attribute | print_member_value(member) }};
{% if not loop.last %}{{"\n"}}{% endif %}
{% endfor %}
}