From 6d6222f52acb002808183264e867914e1a67040a Mon Sep 17 00:00:00 2001 From: Reiley Yang Date: Tue, 18 Oct 2022 22:10:46 -0700 Subject: [PATCH 1/2] Bump System.Text.Json version due to CVE-2021-26701 (#3789) --- build/Common.props | 4 ++-- src/OpenTelemetry.Exporter.Console/CHANGELOG.md | 4 ++++ src/OpenTelemetry.Exporter.Jaeger/CHANGELOG.md | 4 ++++ src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/build/Common.props b/build/Common.props index dcf5602bbd4..ea961e63739 100644 --- a/build/Common.props +++ b/build/Common.props @@ -45,8 +45,8 @@ 1.4.0 7.0.0-rc.2.22472.3 4.7.0 - 4.7.0 - 4.5.3 + 4.7.2 + 4.5.4 diff --git a/src/OpenTelemetry.Exporter.Console/CHANGELOG.md b/src/OpenTelemetry.Exporter.Console/CHANGELOG.md index e8cbcd2316a..ae7089b8d61 100644 --- a/src/OpenTelemetry.Exporter.Console/CHANGELOG.md +++ b/src/OpenTelemetry.Exporter.Console/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +* Bumped the minimum required version of `System.Text.Json` to 4.7.2 in response +to [CVE-2021-26701](https://github.com/dotnet/runtime/issues/49377). +([#3789](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3789)) + LogRecordExporter to print full exception details instead of just Message, when using `ILogger` to log exception. ([#3784](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3784)) diff --git a/src/OpenTelemetry.Exporter.Jaeger/CHANGELOG.md b/src/OpenTelemetry.Exporter.Jaeger/CHANGELOG.md index b5f21ffede4..78c6c7bbddd 100644 --- a/src/OpenTelemetry.Exporter.Jaeger/CHANGELOG.md +++ b/src/OpenTelemetry.Exporter.Jaeger/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +* Bumped the minimum required version of `System.Text.Json` to 4.7.2 in response +to [CVE-2021-26701](https://github.com/dotnet/runtime/issues/49377). +([#3789](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3789)) + ## 1.4.0-beta.2 Released 2022-Oct-17 diff --git a/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md b/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md index a76b2c8a3e9..4ea2b381680 100644 --- a/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md +++ b/src/OpenTelemetry.Exporter.Zipkin/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +* Bumped the minimum required version of `System.Text.Json` to 4.7.2 in response +to [CVE-2021-26701](https://github.com/dotnet/runtime/issues/49377). +([#3789](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3789)) + ## 1.4.0-beta.2 Released 2022-Oct-17 From 2377d00c9d5cde34d83b765f8bc829ff5886363c Mon Sep 17 00:00:00 2001 From: Joao Grassi Date: Wed, 19 Oct 2022 20:34:35 +0200 Subject: [PATCH 2/2] Auto-generated Semantic Conventions (#2069) --- OpenTelemetry.proj | 7 + OpenTelemetry.sln | 6 + .../.publicApi/net462/PublicAPI.Shipped.txt | 0 .../.publicApi/net462/PublicAPI.Unshipped.txt | 526 +++++ .../netstandard2.0/PublicAPI.Shipped.txt | 0 .../netstandard2.0/PublicAPI.Unshipped.txt | 526 +++++ .../OpenTelemetry.SemanticConventions.csproj | 9 + .../README.md | 34 + .../Resource/ResourceSemanticConventions.cs | 1028 +++++++++ .../Trace/TraceSemanticConventions.cs | 1878 +++++++++++++++++ .../scripts/semantic-conventions/.gitignore | 1 + .../scripts/semantic-conventions/generate.ps1 | 51 + .../scripts/semantic-conventions/generate.sh | 47 + .../templates/SemanticConventions.cs.j2 | 116 + 14 files changed, 4229 insertions(+) create mode 100644 src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Shipped.txt create mode 100644 src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Unshipped.txt create mode 100644 src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Shipped.txt create mode 100644 src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt create mode 100644 src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj create mode 100644 src/OpenTelemetry.SemanticConventions/README.md create mode 100644 src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs create mode 100644 src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/.gitignore create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.ps1 create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.sh create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/templates/SemanticConventions.cs.j2 diff --git a/OpenTelemetry.proj b/OpenTelemetry.proj index 2cc1c23a6e1..cc9df72af37 100644 --- a/OpenTelemetry.proj +++ b/OpenTelemetry.proj @@ -4,6 +4,13 @@ + + + + + + + diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index 25b30662416..1b961fc5f7b 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -212,6 +212,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "source-generation", "docs\l EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "getting-started-prometheus-grafana", "docs\metrics\getting-started-prometheus-grafana\getting-started-prometheus-grafana.csproj", "{41B784AA-3301-4126-AF9F-1D59BD04B0BF}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.SemanticConventions", "src\OpenTelemetry.SemanticConventions\OpenTelemetry.SemanticConventions.csproj", "{D4519DF6-CC72-4AC4-A851-E21383098D11}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "customizing-the-sdk", "docs\logs\customizing-the-sdk\customizing-the-sdk.csproj", "{6C7A1595-36D6-4229-BBB5-5A6B5791791D}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Extensions.Propagators", "src\OpenTelemetry.Extensions.Propagators\OpenTelemetry.Extensions.Propagators.csproj", "{E91B2E40-E428-43B3-8A43-09709F0E69E4}" @@ -434,6 +436,10 @@ Global {41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Debug|Any CPU.Build.0 = Debug|Any CPU {41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Release|Any CPU.ActiveCfg = Release|Any CPU {41B784AA-3301-4126-AF9F-1D59BD04B0BF}.Release|Any CPU.Build.0 = Release|Any CPU + {D4519DF6-CC72-4AC4-A851-E21383098D11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D4519DF6-CC72-4AC4-A851-E21383098D11}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D4519DF6-CC72-4AC4-A851-E21383098D11}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D4519DF6-CC72-4AC4-A851-E21383098D11}.Release|Any CPU.Build.0 = Release|Any CPU {6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Debug|Any CPU.Build.0 = Debug|Any CPU {6C7A1595-36D6-4229-BBB5-5A6B5791791D}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Shipped.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Unshipped.txt new file mode 100644 index 00000000000..17864093bcd --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/.publicApi/net462/PublicAPI.Unshipped.txt @@ -0,0 +1,526 @@ +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.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.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/.publicApi/netstandard2.0/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Shipped.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt new file mode 100644 index 00000000000..17864093bcd --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt @@ -0,0 +1,526 @@ +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.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.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/OpenTelemetry.SemanticConventions.csproj b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj new file mode 100644 index 00000000000..392f6d156c0 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj @@ -0,0 +1,9 @@ + + + + netstandard2.0;net462 + 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 00000000000..fc016423c82 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/README.md @@ -0,0 +1,34 @@ +# 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/semantic-conventions/README.md). +The folder `scripts` at the top level of the project contains +the templates and the script file used in the process. + +To generate the code files, run: + +```shell +./scripts/semantic-conventions/generate.sh +``` + +Or, with PowerShell: + +```shell +./scripts/semantic-conventions/generate.ps1 +``` + +## References + +* [OpenTelemetry Project](https://opentelemetry.io/) +* [Build tools](https://github.com/open-telemetry/build-tools) diff --git a/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs b/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs new file mode 100644 index 00000000000..1da782284c0 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Resource/ResourceSemanticConventions.cs @@ -0,0 +1,1028 @@ +// +// 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 + +using System; + +namespace OpenTelemetry.Resources +{ + /// + /// Constants for semantic attribute names outlined by the OpenTelemetry specifications. + /// . + /// + /// + /// Schema and specification version: https://opentelemetry.io/schemas/v1.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 &#34;invoked ARN&#34; 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&#39;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 00000000000..10fe6322f62 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Trace/TraceSemanticConventions.cs @@ -0,0 +1,1878 @@ +// +// 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 + +using System; + +namespace OpenTelemetry.Trace +{ + /// + /// Constants for semantic attribute names outlined by the OpenTelemetry specifications. + /// . + /// + /// + /// Schema and specification version: https://opentelemetry.io/schemas/v1.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 &#34;schema name&#34;. 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 &#34;in flight&#34;. + /// This may be actually &#34;in flight&#34; in some languages (e.g. if the exception + /// is passed to a Context manager&#39;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&#39;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&#39;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. + /// + /// + /// &#39;http.route&#39; 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&#39;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&#39;s string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don&#39;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/semantic-conventions/.gitignore b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/.gitignore new file mode 100644 index 00000000000..a93b221beb5 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/.gitignore @@ -0,0 +1 @@ +opentelemetry-specification/ diff --git a/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.ps1 new file mode 100644 index 00000000000..942f499ee4e --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.ps1 @@ -0,0 +1,51 @@ + +$SCRIPT_DIR=$PSScriptRoot +$ROOT_DIR="${SCRIPT_DIR}/../../" + +# freeze the spec & generator tools versions to make SemanticAttributes generation reproducible +$SPEC_VERSION="v1.13.0" +$SCHEMA_URL="https://opentelemetry.io/schemas/$SPEC_VERSION" +$GENERATOR_VERSION="0.14.0" + +Set-Location $SCRIPT_DIR + +Remove-Item -r -fo opentelemetry-specification +mkdir opentelemetry-specification +Set-Location opentelemetry-specification + +git init +git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git +git fetch origin $SPEC_VERSION +git reset --hard FETCH_HEAD +Set-Location ${SCRIPT_DIR} + +docker run --rm ` + -v ${SCRIPT_DIR}/opentelemetry-specification/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 + +docker run --rm ` + -v ${SCRIPT_DIR}/opentelemetry-specification/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 + +Set-Location ${ROOT_DIR} + +# Write-Host "Running dotnet-format on the generated files" +# dotnet format --severity warn diff --git a/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.sh new file mode 100644 index 00000000000..76515a80bff --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/generate.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +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=v1.13.0 +SCHEMA_URL=https://opentelemetry.io/schemas/$SPEC_VERSION +GENERATOR_VERSION=0.14.0 + +cd ${SCRIPT_DIR} + +rm -rf opentelemetry-specification || true +mkdir opentelemetry-specification +cd opentelemetry-specification + +git init +git remote add origin https://github.com/open-telemetry/opentelemetry-specification.git +git fetch origin "$SPEC_VERSION" +git reset --hard FETCH_HEAD +cd ${SCRIPT_DIR} + +docker run --rm \ + -v ${SCRIPT_DIR}/opentelemetry-specification/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 + +docker run --rm \ + -v ${SCRIPT_DIR}/opentelemetry-specification/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 diff --git a/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/templates/SemanticConventions.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/templates/SemanticConventions.cs.j2 new file mode 100644 index 00000000000..057c417379e --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/semantic-conventions/templates/SemanticConventions.cs.j2 @@ -0,0 +1,116 @@ +{%- 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 %} + } +} +