diff --git a/.github/ISSUE_TEMPLATE/comp_semanticconventions.md b/.github/ISSUE_TEMPLATE/comp_semanticconventions.md new file mode 100644 index 0000000000..fbcd20f363 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/comp_semanticconventions.md @@ -0,0 +1,41 @@ +--- +name: OpenTelemetry.SemanticConventions +about: Issue with OpenTelemetry.SemanticConventions +labels: comp:semanticconvention +--- + +# Issue with OpenTelemetry.SemanticConventions + +List of [all OpenTelemetry NuGet +packages](https://www.nuget.org/profiles/OpenTelemetry) and version that you are +using (e.g. `OpenTelemetry 1.3.2`): + +* TBD + +Runtime version (e.g. `net462`, `net48`, `net6.0`, `net7.0` etc. You can +find this information from the `*.csproj` file): + +* TBD + +**Is this a feature request or a bug?** + +* [ ] Feature Request +* [ ] Bug + +**What is the expected behavior?** + +What do you expect to see? + +**What is the actual behavior?** + +What did you see instead? If you are reporting a bug, create a self-contained +project using the template of your choice and apply the minimum required code to +result in the issue you're observing. We will close this issue if: + +* The repro project you share with us is complex. We can't investigate custom + projects, so don't point us to such, please. +* If we can not reproduce the behavior you're reporting. + +## Additional Context + +Add any other context about the feature request here. diff --git a/.github/codecov.yml b/.github/codecov.yml index c38a11945c..927d2de317 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -88,7 +88,7 @@ flags: paths: - src/OpenTelemetry.Instrumentation.StackExchangeRedis - unittests-Instrumentation.Wcf: + unittests-Instrumentation.Wcf: carryforward: true paths: - src/OpenTelemetry.Instrumentation.Wcf @@ -118,3 +118,8 @@ flags: carryforward: true paths: - src/OpenTelemetry.ResourceDetectors.ProcessRuntime + + unittests-SemanticConventions: + carryforward: true + paths: + - src/OpenTelemetry.SemanticConventions diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index a73765ca62..02a2a6fb55 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -54,9 +54,11 @@ jobs: run: dotnet tool install -g dotnet-coverage - name: Merging test results - run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage + if: ${{ hashFiles('./TestResults/**/*.coverage') != '' }} + run: dotnet-coverage merge -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/**/*.coverage - name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} + if: ${{ hashFiles('./TestResults/Cobertura.xml') != '' }} uses: codecov/codecov-action@v4 continue-on-error: true # Note: Don't fail for upload failures env: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 417259c488..5ba1a08d59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,7 @@ jobs: redis: ['*/OpenTelemetry.Instrumentation.StackExchangeRedis*/**', 'examples/redis/**', '!**/*.md'] resourcedetectors: ['*/OpenTelemetry.ResourceDetectors.*/**', '!**/*.md'] runtime: ['*/OpenTelemetry.Instrumentation.Runtime*/**', 'examples/runtime-instrumentation/**', '!**/*.md'] + semanticconventions: ['*/OpenTelemetry.SemanticConventions*/**', '!**/*.md'] sqlclient: ['*/OpenTelemetry.Instrumentation.SqlClient*/**', '!**/*.md'] wcf: ['*/OpenTelemetry.Instrumentation.Wcf*/**', 'examples/wcf/**', '!**/*.md'] solution: [ @@ -70,6 +71,7 @@ jobs: '!examples/redis/**', '!*/OpenTelemetry.Instrumentation.Runtime*/**', '!examples/runtime-instrumentation/**', + '!*/OpenTelemetry.SemanticConventions*/**', '!*/OpenTelemetry.Instrumentation.Wcf*/**', '!examples/wcf/**', '!**/*.md' @@ -256,6 +258,17 @@ jobs: project-name: OpenTelemetry.Instrumentation.Runtime code-cov-name: Instrumentation.Runtime + build-test-semanticconventions: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'semanticconventions') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/Component.BuildTest.yml + with: + project-name: OpenTelemetry.SemanticConventions + code-cov-name: SemanticConventions + build-test-sqlclient: needs: detect-changes if: | @@ -404,6 +417,7 @@ jobs: build-test-redis, build-test-redis-integration, build-test-runtime, + build-test-semanticconventions, build-test-sqlclient, build-test-wcf, build-test-solution, diff --git a/.github/workflows/package-SemanticConventions.yml b/.github/workflows/package-SemanticConventions.yml new file mode 100644 index 0000000000..0e2427a80a --- /dev/null +++ b/.github/workflows/package-SemanticConventions.yml @@ -0,0 +1,21 @@ +name: Pack OpenTelemetry.SemanticConventions + +on: + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + push: + tags: + - 'SemanticConventions-*' # trigger when we create a tag with prefix "SemanticConventions-" + +jobs: + call-build-test-pack: + permissions: + contents: write + uses: ./.github/workflows/Component.Package.yml + with: + project-name: OpenTelemetry.SemanticConventions + secrets: inherit diff --git a/build/Projects/OpenTelemetry.SemanticConventions.proj b/build/Projects/OpenTelemetry.SemanticConventions.proj new file mode 100644 index 0000000000..91d459a156 --- /dev/null +++ b/build/Projects/OpenTelemetry.SemanticConventions.proj @@ -0,0 +1,29 @@ + + + + $([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.Parent.FullName) + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/opentelemetry-dotnet-contrib.sln b/opentelemetry-dotnet-contrib.sln index c6ba36f8b1..0bf1ae3bae 100644 --- a/opentelemetry-dotnet-contrib.sln +++ b/opentelemetry-dotnet-contrib.sln @@ -1,4 +1,4 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31912.275 MinimumVisualStudioVersion = 15.0.26124.0 @@ -69,6 +69,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ .github\workflows\package-ResourceDetectors.Process.yml = .github\workflows\package-ResourceDetectors.Process.yml .github\workflows\package-ResourceDetectors.ProcessRuntime.yml = .github\workflows\package-ResourceDetectors.ProcessRuntime.yml .github\workflows\package-Sampler.AWS.yml = .github\workflows\package-Sampler.AWS.yml + .github\workflows\package-SemanticConventions.yml = .github\workflows\package-SemanticConventions.yml .github\workflows\sanitycheck.yml = .github\workflows\sanitycheck.yml .github\workflows\stale.yml = .github\workflows\stale.yml .github\workflows\verifyaotcompat.yml = .github\workflows\verifyaotcompat.yml @@ -331,6 +332,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projects", "Projects", "{04 build\Projects\OpenTelemetry.ResourceDetectors.Host.proj = build\Projects\OpenTelemetry.ResourceDetectors.Host.proj build\Projects\OpenTelemetry.ResourceDetectors.Process.proj = build\Projects\OpenTelemetry.ResourceDetectors.Process.proj build\Projects\OpenTelemetry.ResourceDetectors.ProcessRuntime.proj = build\Projects\OpenTelemetry.ResourceDetectors.ProcessRuntime.proj + build\Projects\OpenTelemetry.SemanticConventions.proj = build\Projects\OpenTelemetry.SemanticConventions.proj EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.ResourceDetectors.ProcessRuntime", "src\OpenTelemetry.ResourceDetectors.ProcessRuntime\OpenTelemetry.ResourceDetectors.ProcessRuntime.csproj", "{95372E82-CA5B-4C61-BD6C-74E6AB1970D4}" @@ -351,6 +353,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.Instrumentati EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.Instrumentation.SqlClient.Tests", "test\OpenTelemetry.Instrumentation.SqlClient.Tests\OpenTelemetry.Instrumentation.SqlClient.Tests.csproj", "{9C996130-74D7-4FB7-8277-2EE6EBA2BFA6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTelemetry.SemanticConventions", "src\OpenTelemetry.SemanticConventions\OpenTelemetry.SemanticConventions.csproj", "{BC1959E3-164E-42AE-AE1C-DE2E3046E27C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -705,6 +709,10 @@ Global {9C996130-74D7-4FB7-8277-2EE6EBA2BFA6}.Debug|Any CPU.Build.0 = Debug|Any CPU {9C996130-74D7-4FB7-8277-2EE6EBA2BFA6}.Release|Any CPU.ActiveCfg = Release|Any CPU {9C996130-74D7-4FB7-8277-2EE6EBA2BFA6}.Release|Any CPU.Build.0 = Release|Any CPU + {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BC1959E3-164E-42AE-AE1C-DE2E3046E27C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -810,6 +818,7 @@ Global {7AD707F9-DC6D-430A-8834-D5DCD517BF6E} = {2097345F-4DD3-477D-BC54-A922F9B2B402} {737D1A9E-5A1A-4F4F-830B-E98ED100994C} = {22DF5DC0-1290-4E83-A9D8-6BB7DE3B3E63} {9C996130-74D7-4FB7-8277-2EE6EBA2BFA6} = {2097345F-4DD3-477D-BC54-A922F9B2B402} + {BC1959E3-164E-42AE-AE1C-DE2E3046E27C} = {22DF5DC0-1290-4E83-A9D8-6BB7DE3B3E63} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B0816796-CDB3-47D7-8C3C-946434DE3B66} diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt new file mode 100644 index 0000000000..f88e9e126f --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt @@ -0,0 +1,946 @@ +const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Background = "background" -> string +const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Created = "created" -> string +const OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues.Foreground = "foreground" -> string +const OpenTelemetry.SemanticConventions.AndroidAttributes.AttributeAndroidOsApiLevel = "android.os.api_level" -> string +const OpenTelemetry.SemanticConventions.AndroidAttributes.AttributeAndroidState = "android.state" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Aborted = "aborted" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Handled = "handled" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Skipped = "skipped" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues.Unhandled = "unhandled" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.Acquired = "acquired" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.EndpointLimiter = "endpoint_limiter" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.GlobalLimiter = "global_limiter" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues.RequestCanceled = "request_canceled" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues.Failure = "failure" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues.Success = "success" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback" -> string +const OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbCount = "aws.dynamodb.count" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbLimit = "aws.dynamodb.limit" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProjection = "aws.dynamodb.projection" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbSegment = "aws.dynamodb.segment" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbSelect = "aws.dynamodb.select" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsContainerArn = "aws.ecs.container.arn" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsLaunchtype = "aws.ecs.launchtype" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskArn = "aws.ecs.task.arn" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskFamily = "aws.ecs.task.family" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskId = "aws.ecs.task.id" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEcsTaskRevision = "aws.ecs.task.revision" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsEksClusterArn = "aws.eks.cluster.arn" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogGroupArns = "aws.log.group.arns" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogGroupNames = "aws.log.group.names" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogStreamArns = "aws.log.stream.arns" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsLogStreamNames = "aws.log.stream.names" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsRequestId = "aws.request_id" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Bucket = "aws.s3.bucket" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3CopySource = "aws.s3.copy_source" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Delete = "aws.s3.delete" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3Key = "aws.s3.key" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3PartNumber = "aws.s3.part_number" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AttributeAwsS3UploadId = "aws.s3.upload_id" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues.Ec2 = "ec2" -> string +const OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues.Fargate = "fargate" -> string +const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserBrands = "browser.brands" -> string +const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserLanguage = "browser.language" -> string +const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserMobile = "browser.mobile" -> string +const OpenTelemetry.SemanticConventions.BrowserAttributes.AttributeBrowserPlatform = "browser.platform" -> string +const OpenTelemetry.SemanticConventions.ClientAttributes.AttributeClientAddress = "client.address" -> string +const OpenTelemetry.SemanticConventions.ClientAttributes.AttributeClientPort = "client.port" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudAccountId = "cloud.account.id" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudAvailabilityZone = "cloud.availability_zone" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudPlatform = "cloud.platform" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudProvider = "cloud.provider" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudRegion = "cloud.region" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.AttributeCloudResourceId = "cloud.resource_id" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudEcs = "alibaba_cloud_ecs" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudFc = "alibaba_cloud_fc" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AlibabaCloudOpenshift = "alibaba_cloud_openshift" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsAppRunner = "aws_app_runner" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEc2 = "aws_ec2" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEcs = "aws_ecs" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsEks = "aws_eks" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsElasticBeanstalk = "aws_elastic_beanstalk" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsLambda = "aws_lambda" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AwsOpenshift = "aws_openshift" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureAks = "azure_aks" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureAppService = "azure_app_service" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureContainerApps = "azure_container_apps" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureContainerInstances = "azure_container_instances" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureFunctions = "azure_functions" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureOpenshift = "azure_openshift" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.AzureVm = "azure_vm" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpAppEngine = "gcp_app_engine" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpBareMetalSolution = "gcp_bare_metal_solution" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpCloudFunctions = "gcp_cloud_functions" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpCloudRun = "gcp_cloud_run" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpComputeEngine = "gcp_compute_engine" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpKubernetesEngine = "gcp_kubernetes_engine" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.GcpOpenshift = "gcp_openshift" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.IbmCloudOpenshift = "ibm_cloud_openshift" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudCvm = "tencent_cloud_cvm" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudEks = "tencent_cloud_eks" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues.TencentCloudScf = "tencent_cloud_scf" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.AlibabaCloud = "alibaba_cloud" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Aws = "aws" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Azure = "azure" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Gcp = "gcp" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.Heroku = "heroku" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.IbmCloud = "ibm_cloud" -> string +const OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues.TencentCloud = "tencent_cloud" -> string +const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventId = "cloudevents.event_id" -> string +const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSource = "cloudevents.event_source" -> string +const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version" -> string +const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventSubject = "cloudevents.event_subject" -> string +const OpenTelemetry.SemanticConventions.CloudeventsAttributes.AttributeCloudeventsEventType = "cloudevents.event_type" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeColumn = "code.column" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeFilepath = "code.filepath" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeFunction = "code.function" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeLineno = "code.lineno" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeNamespace = "code.namespace" -> string +const OpenTelemetry.SemanticConventions.CodeAttributes.AttributeCodeStacktrace = "code.stacktrace" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommand = "container.command" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommandArgs = "container.command_args" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCommandLine = "container.command_line" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerCpuState = "container.cpu.state" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerId = "container.id" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageId = "container.image.id" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageName = "container.image.name" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageRepoDigests = "container.image.repo_digests" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerImageTags = "container.image.tags" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerLabel = "container.label" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerLabels = "container.labels" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerName = "container.name" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerRuntime = "container.runtime" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.Kernel = "kernel" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.System = "system" -> string +const OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues.User = "user" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraIdempotence = "db.cassandra.idempotence" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraPageSize = "db.cassandra.page_size" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCassandraTable = "db.cassandra.table" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbConnectionString = "db.connection_string" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbClientId = "db.cosmosdb.client_id" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbContainer = "db.cosmosdb.container" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbInstanceId = "db.instance.id" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbMongodbCollection = "db.mongodb.collection" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbMssqlInstanceName = "db.mssql.instance_name" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbName = "db.name" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbOperation = "db.operation" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbRedisDatabaseIndex = "db.redis.database_index" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbSqlTable = "db.sql.table" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbStatement = "db.statement" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbSystem = "db.system" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbUser = "db.user" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.All = "all" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Any = "any" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.EachQuorum = "each_quorum" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalOne = "local_one" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalQuorum = "local_quorum" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.LocalSerial = "local_serial" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.One = "one" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Quorum = "quorum" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Serial = "serial" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Three = "three" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues.Two = "two" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues.Direct = "direct" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues.Gateway = "gateway" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Batch = "Batch" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Create = "Create" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Delete = "Delete" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Execute = "Execute" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.ExecuteJavascript = "ExecuteJavaScript" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Head = "Head" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.HeadFeed = "HeadFeed" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Invalid = "Invalid" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Patch = "Patch" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Query = "Query" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.QueryPlan = "QueryPlan" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Read = "Read" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.ReadFeed = "ReadFeed" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Replace = "Replace" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues.Upsert = "Upsert" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Adabas = "adabas" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cache = "cache" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cassandra = "cassandra" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Clickhouse = "clickhouse" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cloudscape = "cloudscape" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cockroachdb = "cockroachdb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Coldfusion = "coldfusion" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Cosmosdb = "cosmosdb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Couchbase = "couchbase" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Couchdb = "couchdb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Db2 = "db2" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Derby = "derby" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Dynamodb = "dynamodb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Edb = "edb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Elasticsearch = "elasticsearch" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Filemaker = "filemaker" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Firebird = "firebird" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Firstsql = "firstsql" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Geode = "geode" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.H2 = "h2" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hanadb = "hanadb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hbase = "hbase" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hive = "hive" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Hsqldb = "hsqldb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Informix = "informix" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Ingres = "ingres" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Instantdb = "instantdb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Interbase = "interbase" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mariadb = "mariadb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Maxdb = "maxdb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Memcached = "memcached" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mongodb = "mongodb" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mssql = "mssql" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mssqlcompact = "mssqlcompact" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Mysql = "mysql" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Neo4j = "neo4j" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Netezza = "netezza" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Opensearch = "opensearch" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Oracle = "oracle" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.OtherSql = "other_sql" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Pervasive = "pervasive" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Pointbase = "pointbase" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Postgresql = "postgresql" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Progress = "progress" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Redis = "redis" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Redshift = "redshift" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Spanner = "spanner" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Sqlite = "sqlite" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Sybase = "sybase" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Teradata = "teradata" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Trino = "trino" -> string +const OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues.Vertica = "vertica" -> string +const OpenTelemetry.SemanticConventions.DeploymentAttributes.AttributeDeploymentEnvironment = "deployment.environment" -> string +const OpenTelemetry.SemanticConventions.DestinationAttributes.AttributeDestinationAddress = "destination.address" -> string +const OpenTelemetry.SemanticConventions.DestinationAttributes.AttributeDestinationPort = "destination.port" -> string +const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceId = "device.id" -> string +const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceManufacturer = "device.manufacturer" -> string +const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceModelIdentifier = "device.model.identifier" -> string +const OpenTelemetry.SemanticConventions.DeviceAttributes.AttributeDeviceModelName = "device.model.name" -> string +const OpenTelemetry.SemanticConventions.DiskAttributes.AttributeDiskIoDirection = "disk.io.direction" -> string +const OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues.Read = "read" -> string +const OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues.Write = "write" -> string +const OpenTelemetry.SemanticConventions.DnsAttributes.AttributeDnsQuestionName = "dns.question.name" -> string +const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserId = "enduser.id" -> string +const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserRole = "enduser.role" -> string +const OpenTelemetry.SemanticConventions.EnduserAttributes.AttributeEnduserScope = "enduser.scope" -> string +const OpenTelemetry.SemanticConventions.ErrorAttributes.AttributeErrorType = "error.type" -> string +const OpenTelemetry.SemanticConventions.ErrorAttributes.ErrorTypeValues.Other = "_OTHER" -> string +const OpenTelemetry.SemanticConventions.EventAttributes.AttributeEventName = "event.name" -> string +const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionEscaped = "exception.escaped" -> string +const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionMessage = "exception.message" -> string +const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionStacktrace = "exception.stacktrace" -> string +const OpenTelemetry.SemanticConventions.ExceptionAttributes.AttributeExceptionType = "exception.type" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasColdstart = "faas.coldstart" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasCron = "faas.cron" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentCollection = "faas.document.collection" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentName = "faas.document.name" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentOperation = "faas.document.operation" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasDocumentTime = "faas.document.time" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInstance = "faas.instance" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvocationId = "faas.invocation_id" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedName = "faas.invoked_name" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedProvider = "faas.invoked_provider" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasInvokedRegion = "faas.invoked_region" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasMaxMemory = "faas.max_memory" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasName = "faas.name" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasTime = "faas.time" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasTrigger = "faas.trigger" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.AttributeFaasVersion = "faas.version" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Delete = "delete" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Edit = "edit" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues.Insert = "insert" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.AlibabaCloud = "alibaba_cloud" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Aws = "aws" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Azure = "azure" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.Gcp = "gcp" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues.TencentCloud = "tencent_cloud" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Datasource = "datasource" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Http = "http" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Other = "other" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Pubsub = "pubsub" -> string +const OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues.Timer = "timer" -> string +const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagKey = "feature_flag.key" -> string +const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagProviderName = "feature_flag.provider_name" -> string +const OpenTelemetry.SemanticConventions.FeatureFlagAttributes.AttributeFeatureFlagVariant = "feature_flag.variant" -> string +const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileDirectory = "file.directory" -> string +const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileExtension = "file.extension" -> string +const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileName = "file.name" -> string +const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFilePath = "file.path" -> string +const OpenTelemetry.SemanticConventions.FileAttributes.AttributeFileSize = "file.size" -> string +const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution" -> string +const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index" -> string +const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname" -> string +const OpenTelemetry.SemanticConventions.GcpAttributes.AttributeGcpGceInstanceName = "gcp.gce.instance.name" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlDocument = "graphql.document" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlOperationName = "graphql.operation.name" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.AttributeGraphqlOperationType = "graphql.operation.type" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Mutation = "mutation" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Query = "query" -> string +const OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues.Subscription = "subscription" -> string +const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuAppId = "heroku.app.id" -> string +const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuReleaseCommit = "heroku.release.commit" -> string +const OpenTelemetry.SemanticConventions.HerokuAttributes.AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostArch = "host.arch" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuFamily = "host.cpu.family" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuModelId = "host.cpu.model.id" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuModelName = "host.cpu.model.name" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuStepping = "host.cpu.stepping" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostCpuVendorId = "host.cpu.vendor.id" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostId = "host.id" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageId = "host.image.id" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageName = "host.image.name" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostImageVersion = "host.image.version" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostIp = "host.ip" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostMac = "host.mac" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostName = "host.name" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.AttributeHostType = "host.type" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Amd64 = "amd64" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Arm32 = "arm32" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Arm64 = "arm64" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ia64 = "ia64" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ppc32 = "ppc32" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.Ppc64 = "ppc64" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.S390x = "s390x" -> string +const OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues.X86 = "x86" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpConnectionState = "http.connection.state" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpFlavor = "http.flavor" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpMethod = "http.method" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestBodySize = "http.request.body.size" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestContentLength = "http.request_content_length" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestHeader = "http.request.header" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestMethod = "http.request.method" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestMethodOriginal = "http.request.method_original" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestResendCount = "http.request.resend_count" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestSize = "http.request.size" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseBodySize = "http.response.body.size" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseContentLength = "http.response_content_length" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseHeader = "http.response.header" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseSize = "http.response.size" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseStatusCode = "http.response.status_code" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRoute = "http.route" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpScheme = "http.scheme" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpStatusCode = "http.status_code" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpTarget = "http.target" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpUrl = "http.url" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpUserAgent = "http.user_agent" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues.Active = "active" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues.Idle = "idle" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http10 = "1.0" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http11 = "1.1" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http20 = "2.0" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Http30 = "3.0" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Quic = "QUIC" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues.Spdy = "SPDY" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Connect = "CONNECT" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Delete = "DELETE" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Get = "GET" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Head = "HEAD" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Options = "OPTIONS" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Other = "_OTHER" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Patch = "PATCH" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Post = "POST" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Put = "PUT" -> string +const OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues.Trace = "TRACE" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.AttributeIosState = "ios.state" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Active = "active" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Background = "background" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Foreground = "foreground" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Inactive = "inactive" -> string +const OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues.Terminate = "terminate" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmBufferPoolName = "jvm.buffer.pool.name" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmGcAction = "jvm.gc.action" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmGcName = "jvm.gc.name" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmMemoryPoolName = "jvm.memory.pool.name" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmMemoryType = "jvm.memory.type" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmThreadDaemon = "jvm.thread.daemon" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.AttributeJvmThreadState = "jvm.thread.state" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues.Heap = "heap" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues.NonHeap = "non_heap" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Blocked = "blocked" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.New = "new" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Runnable = "runnable" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Terminated = "terminated" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.TimedWaiting = "timed_waiting" -> string +const OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues.Waiting = "waiting" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sClusterName = "k8s.cluster.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sClusterUid = "k8s.cluster.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sContainerName = "k8s.container.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sContainerRestartCount = "k8s.container.restart_count" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sCronjobName = "k8s.cronjob.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sCronjobUid = "k8s.cronjob.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDaemonsetName = "k8s.daemonset.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDaemonsetUid = "k8s.daemonset.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDeploymentName = "k8s.deployment.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sDeploymentUid = "k8s.deployment.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sJobName = "k8s.job.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sJobUid = "k8s.job.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNamespaceName = "k8s.namespace.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNodeName = "k8s.node.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sNodeUid = "k8s.node.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodAnnotation = "k8s.pod.annotation" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabel = "k8s.pod.label" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabels = "k8s.pod.labels" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodName = "k8s.pod.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodUid = "k8s.pod.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sReplicasetName = "k8s.replicaset.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sReplicasetUid = "k8s.replicaset.uid" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sStatefulsetName = "k8s.statefulset.name" -> string +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sStatefulsetUid = "k8s.statefulset.uid" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFileName = "log.file.name" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFileNameResolved = "log.file.name_resolved" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFilePath = "log.file.path" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogFilePathResolved = "log.file.path_resolved" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogIostream = "log.iostream" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.AttributeLogRecordUid = "log.record.uid" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues.Stderr = "stderr" -> string +const OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues.Stdout = "stdout" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageCompressedSize = "message.compressed_size" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageId = "message.id" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageType = "message.type" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.AttributeMessageUncompressedSize = "message.uncompressed_size" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues.Received = "RECEIVED" -> string +const OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues.Sent = "SENT" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingBatchMessageCount = "messaging.batch.message_count" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingClientId = "messaging.client_id" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationName = "messaging.destination.name" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationPublishName = "messaging.destination_publish.name" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationTemplate = "messaging.destination.template" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingDestinationTemporary = "messaging.destination.temporary" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageBodySize = "messaging.message.body.size" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageConversationId = "messaging.message.conversation_id" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingMessageId = "messaging.message.id" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingOperation = "messaging.operation" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingSystem = "messaging.system" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Create = "create" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Deliver = "process" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Publish = "publish" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Receive = "receive" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues.Settle = "settle" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues.Broadcasting = "broadcasting" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues.Clustering = "clustering" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Delay = "delay" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Fifo = "fifo" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Normal = "normal" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues.Transaction = "transaction" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Abandon = "abandon" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Complete = "complete" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.DeadLetter = "dead_letter" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues.Defer = "defer" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Activemq = "activemq" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.AwsSqs = "aws_sqs" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Eventgrid = "eventgrid" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Eventhubs = "eventhubs" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.GcpPubsub = "gcp_pubsub" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Jms = "jms" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Kafka = "kafka" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Rabbitmq = "rabbitmq" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Rocketmq = "rocketmq" -> string +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues.Servicebus = "servicebus" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostName = "net.host.name" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostPort = "net.host.port" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetPeerName = "net.peer.name" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetPeerPort = "net.peer.port" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetProtocolName = "net.protocol.name" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetProtocolVersion = "net.protocol.version" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockFamily = "net.sock.family" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockHostAddr = "net.sock.host.addr" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockHostPort = "net.sock.host.port" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerAddr = "net.sock.peer.addr" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerName = "net.sock.peer.name" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetSockPeerPort = "net.sock.peer.port" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetTransport = "net.transport" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Inet = "inet" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Inet6 = "inet6" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues.Unix = "unix" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Inproc = "inproc" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.IpTcp = "ip_tcp" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.IpUdp = "ip_udp" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Other = "other" -> string +const OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues.Pipe = "pipe" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierIcc = "network.carrier.icc" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierMcc = "network.carrier.mcc" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierMnc = "network.carrier.mnc" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkCarrierName = "network.carrier.name" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkConnectionSubtype = "network.connection.subtype" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkConnectionType = "network.connection.type" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkIoDirection = "network.io.direction" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkLocalAddress = "network.local.address" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkLocalPort = "network.local.port" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkPeerAddress = "network.peer.address" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkPeerPort = "network.peer.port" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkProtocolName = "network.protocol.name" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkProtocolVersion = "network.protocol.version" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkTransport = "network.transport" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.AttributeNetworkType = "network.type" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Cdma = "cdma" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Cdma20001xrtt = "cdma2000_1xrtt" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Edge = "edge" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Ehrpd = "ehrpd" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Evdo0 = "evdo_0" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.EvdoA = "evdo_a" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.EvdoB = "evdo_b" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Gprs = "gprs" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Gsm = "gsm" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hsdpa = "hsdpa" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hspa = "hspa" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hspap = "hspap" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Hsupa = "hsupa" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Iden = "iden" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Iwlan = "iwlan" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Lte = "lte" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.LteCa = "lte_ca" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Nr = "nr" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Nrnsa = "nrnsa" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.TdScdma = "td_scdma" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues.Umts = "umts" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Cell = "cell" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Unavailable = "unavailable" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Unknown = "unknown" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Wifi = "wifi" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues.Wired = "wired" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues.Receive = "receive" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues.Transmit = "transmit" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Pipe = "pipe" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Tcp = "tcp" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Udp = "udp" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues.Unix = "unix" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues.Ipv4 = "ipv4" -> string +const OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues.Ipv6 = "ipv6" -> string +const OpenTelemetry.SemanticConventions.OciAttributes.AttributeOciManifestDigest = "oci.manifest.digest" -> string +const OpenTelemetry.SemanticConventions.OpentracingAttributes.AttributeOpentracingRefType = "opentracing.ref_type" -> string +const OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues.ChildOf = "child_of" -> string +const OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues.FollowsFrom = "follows_from" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsBuildId = "os.build_id" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsDescription = "os.description" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsName = "os.name" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsType = "os.type" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.AttributeOsVersion = "os.version" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Aix = "aix" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Darwin = "darwin" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Dragonflybsd = "dragonflybsd" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Freebsd = "freebsd" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Hpux = "hpux" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Linux = "linux" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Netbsd = "netbsd" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Openbsd = "openbsd" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Solaris = "solaris" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.Windows = "windows" -> string +const OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues.ZOs = "z_os" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelLibraryName = "otel.library.name" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelLibraryVersion = "otel.library.version" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelScopeName = "otel.scope.name" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelScopeVersion = "otel.scope.version" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelStatusCode = "otel.status_code" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.AttributeOtelStatusDescription = "otel.status_description" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues.Error = "ERROR" -> string +const OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues.Ok = "OK" -> string +const OpenTelemetry.SemanticConventions.OtherAttributes.AttributeState = "state" -> string +const OpenTelemetry.SemanticConventions.OtherAttributes.StateValues.Idle = "idle" -> string +const OpenTelemetry.SemanticConventions.OtherAttributes.StateValues.Used = "used" -> string +const OpenTelemetry.SemanticConventions.PeerAttributes.AttributePeerService = "peer.service" -> string +const OpenTelemetry.SemanticConventions.PoolAttributes.AttributePoolName = "pool.name" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommand = "process.command" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommandArgs = "process.command_args" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCommandLine = "process.command_line" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessContextSwitchType = "process.context_switch_type" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessCpuState = "process.cpu.state" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutableName = "process.executable.name" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutablePath = "process.executable.path" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessOwner = "process.owner" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessPagingFaultType = "process.paging.fault_type" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessParentPid = "process.parent_pid" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessPid = "process.pid" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeDescription = "process.runtime.description" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeName = "process.runtime.name" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRuntimeVersion = "process.runtime.version" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues.Involuntary = "involuntary" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues.Voluntary = "voluntary" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.System = "system" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.User = "user" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues.Wait = "wait" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues.Major = "major" -> string +const OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues.Minor = "minor" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcStatusCode = "rpc.grpc.status_code" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcMethod = "rpc.method" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcService = "rpc.service" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcSystem = "rpc.system" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Aborted = "aborted" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.AlreadyExists = "already_exists" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Cancelled = "cancelled" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.DataLoss = "data_loss" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.DeadlineExceeded = "deadline_exceeded" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.FailedPrecondition = "failed_precondition" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Internal = "internal" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.InvalidArgument = "invalid_argument" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.NotFound = "not_found" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.OutOfRange = "out_of_range" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.PermissionDenied = "permission_denied" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.ResourceExhausted = "resource_exhausted" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unauthenticated = "unauthenticated" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unavailable = "unavailable" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unimplemented = "unimplemented" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues.Unknown = "unknown" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Aborted = 10 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.AlreadyExists = 6 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Cancelled = 1 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.DataLoss = 15 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.DeadlineExceeded = 4 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.FailedPrecondition = 9 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Internal = 13 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.InvalidArgument = 3 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.NotFound = 5 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Ok = 0 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.OutOfRange = 11 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.PermissionDenied = 7 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.ResourceExhausted = 8 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unauthenticated = 16 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unavailable = 14 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unimplemented = 12 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Unknown = 2 -> int +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.ApacheDubbo = "apache_dubbo" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.ConnectRpc = "connect_rpc" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.DotnetWcf = "dotnet_wcf" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.Grpc = "grpc" -> string +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues.JavaRmi = "java_rmi" -> string +const OpenTelemetry.SemanticConventions.ServerAttributes.AttributeServerAddress = "server.address" -> string +const OpenTelemetry.SemanticConventions.ServerAttributes.AttributeServerPort = "server.port" -> string +const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceInstanceId = "service.instance.id" -> string +const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceName = "service.name" -> string +const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceNamespace = "service.namespace" -> string +const OpenTelemetry.SemanticConventions.ServiceAttributes.AttributeServiceVersion = "service.version" -> string +const OpenTelemetry.SemanticConventions.SessionAttributes.AttributeSessionId = "session.id" -> string +const OpenTelemetry.SemanticConventions.SessionAttributes.AttributeSessionPreviousId = "session.previous_id" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.AttributeSignalrConnectionStatus = "signalr.connection.status" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.AttributeSignalrTransport = "signalr.transport" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.AppShutdown = "app_shutdown" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.NormalClosure = "normal_closure" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues.Timeout = "timeout" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.LongPolling = "long_polling" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.ServerSentEvents = "server_sent_events" -> string +const OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues.WebSockets = "web_sockets" -> string +const OpenTelemetry.SemanticConventions.SourceAttributes.AttributeSourceAddress = "source.address" -> string +const OpenTelemetry.SemanticConventions.SourceAttributes.AttributeSourcePort = "source.port" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemCpuLogicalNumber = "system.cpu.logical_number" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemCpuState = "system.cpu.state" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemDevice = "system.device" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemMode = "system.filesystem.mode" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemState = "system.filesystem.state" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemFilesystemType = "system.filesystem.type" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemMemoryState = "system.memory.state" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemNetworkState = "system.network.state" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingDirection = "system.paging.direction" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingState = "system.paging.state" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemPagingType = "system.paging.type" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemProcessesStatus = "system.processes.status" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.AttributeSystemProcessStatus = "system.process.status" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Idle = "idle" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Interrupt = "interrupt" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Iowait = "iowait" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Nice = "nice" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.Steal = "steal" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.System = "system" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues.User = "user" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Free = "free" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Reserved = "reserved" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues.Used = "used" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Exfat = "exfat" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Ext4 = "ext4" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Fat32 = "fat32" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Hfsplus = "hfsplus" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Ntfs = "ntfs" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues.Refs = "refs" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Buffers = "buffers" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Cached = "cached" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Free = "free" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Shared = "shared" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues.Used = "used" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Close = "close" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.CloseWait = "close_wait" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Closing = "closing" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Delete = "delete" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Established = "established" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.FinWait1 = "fin_wait_1" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.FinWait2 = "fin_wait_2" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.LastAck = "last_ack" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.Listen = "listen" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.SynRecv = "syn_recv" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.SynSent = "syn_sent" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues.TimeWait = "time_wait" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues.In = "in" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues.Out = "out" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues.Free = "free" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues.Used = "used" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues.Major = "major" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues.Minor = "minor" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Defunct = "defunct" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Running = "running" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Sleeping = "sleeping" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues.Stopped = "stopped" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Defunct = "defunct" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Running = "running" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Sleeping = "sleeping" -> string +const OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues.Stopped = "stopped" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetryDistroName = "telemetry.distro.name" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetryDistroVersion = "telemetry.distro.version" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkLanguage = "telemetry.sdk.language" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkName = "telemetry.sdk.name" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.AttributeTelemetrySdkVersion = "telemetry.sdk.version" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Cpp = "cpp" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Dotnet = "dotnet" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Erlang = "erlang" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Go = "go" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Java = "java" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Nodejs = "nodejs" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Php = "php" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Python = "python" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Ruby = "ruby" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Rust = "rust" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Swift = "swift" -> string +const OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues.Webjs = "webjs" -> string +const OpenTelemetry.SemanticConventions.ThreadAttributes.AttributeThreadId = "thread.id" -> string +const OpenTelemetry.SemanticConventions.ThreadAttributes.AttributeThreadName = "thread.name" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsCipher = "tls.cipher" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientCertificate = "tls.client.certificate" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientCertificateChain = "tls.client.certificate_chain" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashMd5 = "tls.client.hash.md5" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashSha1 = "tls.client.hash.sha1" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientHashSha256 = "tls.client.hash.sha256" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientIssuer = "tls.client.issuer" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientJa3 = "tls.client.ja3" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientNotAfter = "tls.client.not_after" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientNotBefore = "tls.client.not_before" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientServerName = "tls.client.server_name" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientSubject = "tls.client.subject" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsCurve = "tls.curve" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsEstablished = "tls.established" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsNextProtocol = "tls.next_protocol" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsProtocolName = "tls.protocol.name" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsProtocolVersion = "tls.protocol.version" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsResumed = "tls.resumed" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerCertificate = "tls.server.certificate" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerCertificateChain = "tls.server.certificate_chain" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashMd5 = "tls.server.hash.md5" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashSha1 = "tls.server.hash.sha1" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerHashSha256 = "tls.server.hash.sha256" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerIssuer = "tls.server.issuer" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerJa3s = "tls.server.ja3s" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerNotAfter = "tls.server.not_after" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerNotBefore = "tls.server.not_before" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.AttributeTlsServerSubject = "tls.server.subject" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues.Ssl = "ssl" -> string +const OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues.Tls = "tls" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlDomain = "url.domain" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlExtension = "url.extension" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlFragment = "url.fragment" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlFull = "url.full" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlOriginal = "url.original" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlPath = "url.path" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlPort = "url.port" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlQuery = "url.query" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlRegisteredDomain = "url.registered_domain" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlScheme = "url.scheme" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlSubdomain = "url.subdomain" -> string +const OpenTelemetry.SemanticConventions.UrlAttributes.AttributeUrlTopLevelDomain = "url.top_level_domain" -> string +const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentName = "user_agent.name" -> string +const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentOriginal = "user_agent.original" -> string +const OpenTelemetry.SemanticConventions.UserAgentAttributes.AttributeUserAgentVersion = "user_agent.version" -> string +const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineDescription = "webengine.description" -> string +const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineName = "webengine.name" -> string +const OpenTelemetry.SemanticConventions.WebengineAttributes.AttributeWebengineVersion = "webengine.version" -> string +OpenTelemetry.SemanticConventions.AndroidAttributes +OpenTelemetry.SemanticConventions.AndroidAttributes.AndroidStateValues +OpenTelemetry.SemanticConventions.AspnetcoreAttributes +OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreDiagnosticsExceptionResultValues +OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRateLimitingResultValues +OpenTelemetry.SemanticConventions.AspnetcoreAttributes.AspnetcoreRoutingMatchStatusValues +OpenTelemetry.SemanticConventions.AwsAttributes +OpenTelemetry.SemanticConventions.AwsAttributes.AwsEcsLaunchtypeValues +OpenTelemetry.SemanticConventions.BrowserAttributes +OpenTelemetry.SemanticConventions.ClientAttributes +OpenTelemetry.SemanticConventions.CloudAttributes +OpenTelemetry.SemanticConventions.CloudAttributes.CloudPlatformValues +OpenTelemetry.SemanticConventions.CloudAttributes.CloudProviderValues +OpenTelemetry.SemanticConventions.CloudeventsAttributes +OpenTelemetry.SemanticConventions.CodeAttributes +OpenTelemetry.SemanticConventions.ContainerAttributes +OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues +OpenTelemetry.SemanticConventions.DbAttributes +OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues +OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues +OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues +OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues +OpenTelemetry.SemanticConventions.DeploymentAttributes +OpenTelemetry.SemanticConventions.DestinationAttributes +OpenTelemetry.SemanticConventions.DeviceAttributes +OpenTelemetry.SemanticConventions.DiskAttributes +OpenTelemetry.SemanticConventions.DiskAttributes.DiskIoDirectionValues +OpenTelemetry.SemanticConventions.DnsAttributes +OpenTelemetry.SemanticConventions.EnduserAttributes +OpenTelemetry.SemanticConventions.ErrorAttributes +OpenTelemetry.SemanticConventions.ErrorAttributes.ErrorTypeValues +OpenTelemetry.SemanticConventions.EventAttributes +OpenTelemetry.SemanticConventions.ExceptionAttributes +OpenTelemetry.SemanticConventions.FaasAttributes +OpenTelemetry.SemanticConventions.FaasAttributes.FaasDocumentOperationValues +OpenTelemetry.SemanticConventions.FaasAttributes.FaasInvokedProviderValues +OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues +OpenTelemetry.SemanticConventions.FeatureFlagAttributes +OpenTelemetry.SemanticConventions.FileAttributes +OpenTelemetry.SemanticConventions.GcpAttributes +OpenTelemetry.SemanticConventions.GraphqlAttributes +OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues +OpenTelemetry.SemanticConventions.HerokuAttributes +OpenTelemetry.SemanticConventions.HostAttributes +OpenTelemetry.SemanticConventions.HostAttributes.HostArchValues +OpenTelemetry.SemanticConventions.HttpAttributes +OpenTelemetry.SemanticConventions.HttpAttributes.HttpConnectionStateValues +OpenTelemetry.SemanticConventions.HttpAttributes.HttpFlavorValues +OpenTelemetry.SemanticConventions.HttpAttributes.HttpRequestMethodValues +OpenTelemetry.SemanticConventions.IosAttributes +OpenTelemetry.SemanticConventions.IosAttributes.IosStateValues +OpenTelemetry.SemanticConventions.JvmAttributes +OpenTelemetry.SemanticConventions.JvmAttributes.JvmMemoryTypeValues +OpenTelemetry.SemanticConventions.JvmAttributes.JvmThreadStateValues +OpenTelemetry.SemanticConventions.K8sAttributes +OpenTelemetry.SemanticConventions.LogAttributes +OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues +OpenTelemetry.SemanticConventions.MessageAttributes +OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues +OpenTelemetry.SemanticConventions.MessagingAttributes +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingSystemValues +OpenTelemetry.SemanticConventions.NetAttributes +OpenTelemetry.SemanticConventions.NetAttributes.NetSockFamilyValues +OpenTelemetry.SemanticConventions.NetAttributes.NetTransportValues +OpenTelemetry.SemanticConventions.NetworkAttributes +OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionSubtypeValues +OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkConnectionTypeValues +OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkIoDirectionValues +OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTransportValues +OpenTelemetry.SemanticConventions.NetworkAttributes.NetworkTypeValues +OpenTelemetry.SemanticConventions.OciAttributes +OpenTelemetry.SemanticConventions.OpentracingAttributes +OpenTelemetry.SemanticConventions.OpentracingAttributes.OpentracingRefTypeValues +OpenTelemetry.SemanticConventions.OsAttributes +OpenTelemetry.SemanticConventions.OsAttributes.OsTypeValues +OpenTelemetry.SemanticConventions.OtelAttributes +OpenTelemetry.SemanticConventions.OtelAttributes.OtelStatusCodeValues +OpenTelemetry.SemanticConventions.OtherAttributes +OpenTelemetry.SemanticConventions.OtherAttributes.StateValues +OpenTelemetry.SemanticConventions.PeerAttributes +OpenTelemetry.SemanticConventions.PoolAttributes +OpenTelemetry.SemanticConventions.ProcessAttributes +OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessContextSwitchTypeValues +OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessCpuStateValues +OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues +OpenTelemetry.SemanticConventions.RpcAttributes +OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues +OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues +OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues +OpenTelemetry.SemanticConventions.ServerAttributes +OpenTelemetry.SemanticConventions.ServiceAttributes +OpenTelemetry.SemanticConventions.SessionAttributes +OpenTelemetry.SemanticConventions.SignalrAttributes +OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrConnectionStatusValues +OpenTelemetry.SemanticConventions.SignalrAttributes.SignalrTransportValues +OpenTelemetry.SemanticConventions.SourceAttributes +OpenTelemetry.SemanticConventions.SystemAttributes +OpenTelemetry.SemanticConventions.SystemAttributes.SystemCpuStateValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemStateValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemFilesystemTypeValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemMemoryStateValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemNetworkStateValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingDirectionValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingStateValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemPagingTypeValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessesStatusValues +OpenTelemetry.SemanticConventions.SystemAttributes.SystemProcessStatusValues +OpenTelemetry.SemanticConventions.TelemetryAttributes +OpenTelemetry.SemanticConventions.TelemetryAttributes.TelemetrySdkLanguageValues +OpenTelemetry.SemanticConventions.ThreadAttributes +OpenTelemetry.SemanticConventions.TlsAttributes +OpenTelemetry.SemanticConventions.TlsAttributes.TlsProtocolNameValues +OpenTelemetry.SemanticConventions.UrlAttributes +OpenTelemetry.SemanticConventions.UserAgentAttributes +OpenTelemetry.SemanticConventions.WebengineAttributes \ No newline at end of file diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs new file mode 100644 index 0000000000..d03c767675 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs @@ -0,0 +1,50 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class AndroidAttributes +{ + /// + /// Uniquely identifies the framework API revision offered by a version (os.version) of the android operating system. More information can be found here. + /// + public const string AttributeAndroidOsApiLevel = "android.os.api_level"; + + /// + /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// + /// + /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived. + /// + public const string AttributeAndroidState = "android.state"; + + /// + /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// + public static class AndroidStateValues + { + /// + /// Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time. + /// + public const string Created = "created"; + + /// + /// Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state. + /// + public const string Background = "background"; + + /// + /// Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states. + /// + public const string Foreground = "foreground"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs new file mode 100644 index 0000000000..cb436aacbb --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs @@ -0,0 +1,119 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class AspnetcoreAttributes +{ + /// + /// ASP.NET Core exception middleware handling result. + /// + public const string AttributeAspnetcoreDiagnosticsExceptionResult = "aspnetcore.diagnostics.exception.result"; + + /// + /// Full type name of the IExceptionHandler implementation that handled the exception. + /// + public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type"; + + /// + /// Rate limiting policy name. + /// + public const string AttributeAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy"; + + /// + /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason. + /// + public const string AttributeAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result"; + + /// + /// Flag indicating if request was handled by the application pipeline. + /// + public const string AttributeAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled"; + + /// + /// A value that indicates whether the matched route is a fallback route. + /// + public const string AttributeAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback"; + + /// + /// Match result - success or failure. + /// + public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status"; + + /// + /// ASP.NET Core exception middleware handling result. + /// + public static class AspnetcoreDiagnosticsExceptionResultValues + { + /// + /// Exception was handled by the exception handling middleware. + /// + public const string Handled = "handled"; + + /// + /// Exception was not handled by the exception handling middleware. + /// + public const string Unhandled = "unhandled"; + + /// + /// Exception handling was skipped because the response had started. + /// + public const string Skipped = "skipped"; + + /// + /// Exception handling didn't run because the request was aborted. + /// + public const string Aborted = "aborted"; + } + + /// + /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason. + /// + public static class AspnetcoreRateLimitingResultValues + { + /// + /// Lease was acquired. + /// + public const string Acquired = "acquired"; + + /// + /// Lease request was rejected by the endpoint limiter. + /// + public const string EndpointLimiter = "endpoint_limiter"; + + /// + /// Lease request was rejected by the global limiter. + /// + public const string GlobalLimiter = "global_limiter"; + + /// + /// Lease request was canceled. + /// + public const string RequestCanceled = "request_canceled"; + } + + /// + /// Match result - success or failure. + /// + public static class AspnetcoreRoutingMatchStatusValues + { + /// + /// Match succeeded. + /// + public const string Success = "success"; + + /// + /// Match failed. + /// + public const string Failure = "failure"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs new file mode 100644 index 0000000000..fcaad1e8a7 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs @@ -0,0 +1,306 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class AwsAttributes +{ + /// + /// The JSON-serialized value of each item in the AttributeDefinitions request field. + /// + public const string AttributeAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions"; + + /// + /// The value of the AttributesToGet request parameter. + /// + public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get"; + + /// + /// The value of the ConsistentRead request parameter. + /// + public const string AttributeAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read"; + + /// + /// The JSON-serialized value of each item in the ConsumedCapacity response field. + /// + public const string AttributeAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity"; + + /// + /// The value of the Count response parameter. + /// + public const string AttributeAwsDynamodbCount = "aws.dynamodb.count"; + + /// + /// The value of the ExclusiveStartTableName request parameter. + /// + public const string AttributeAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table"; + + /// + /// The JSON-serialized value of each item in the GlobalSecondaryIndexUpdates request field. + /// + public const string AttributeAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates"; + + /// + /// The JSON-serialized value of each item of the GlobalSecondaryIndexes request field. + /// + public const string AttributeAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes"; + + /// + /// The value of the IndexName request parameter. + /// + public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name"; + + /// + /// The JSON-serialized value of the ItemCollectionMetrics response field. + /// + public const string AttributeAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics"; + + /// + /// The value of the Limit request parameter. + /// + public const string AttributeAwsDynamodbLimit = "aws.dynamodb.limit"; + + /// + /// The JSON-serialized value of each item of the LocalSecondaryIndexes request field. + /// + public const string AttributeAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes"; + + /// + /// The value of the ProjectionExpression request parameter. + /// + public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection"; + + /// + /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter. + /// + public const string AttributeAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity"; + + /// + /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter. + /// + public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity"; + + /// + /// The value of the ScanIndexForward request parameter. + /// + public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward"; + + /// + /// The value of the ScannedCount response parameter. + /// + public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count"; + + /// + /// The value of the Segment request parameter. + /// + public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment"; + + /// + /// The value of the Select request parameter. + /// + public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select"; + + /// + /// The number of items in the TableNames response parameter. + /// + public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count"; + + /// + /// The keys in the RequestItems object field. + /// + public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names"; + + /// + /// The value of the TotalSegments request parameter. + /// + public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; + + /// + /// The ARN of an ECS cluster. + /// + public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn"; + + /// + /// The Amazon Resource Name (ARN) of an ECS container instance. + /// + public const string AttributeAwsEcsContainerArn = "aws.ecs.container.arn"; + + /// + /// The launch type for an ECS task. + /// + public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype"; + + /// + /// The ARN of a running ECS task. + /// + public const string AttributeAwsEcsTaskArn = "aws.ecs.task.arn"; + + /// + /// The family name of the ECS task definition used to create the ECS task. + /// + public const string AttributeAwsEcsTaskFamily = "aws.ecs.task.family"; + + /// + /// The ID of a running ECS task. The ID MUST be extracted from task.arn. + /// + public const string AttributeAwsEcsTaskId = "aws.ecs.task.id"; + + /// + /// The revision for the task definition used to create the ECS task. + /// + public const string AttributeAwsEcsTaskRevision = "aws.ecs.task.revision"; + + /// + /// The ARN of an EKS cluster. + /// + public const string AttributeAwsEksClusterArn = "aws.eks.cluster.arn"; + + /// + /// The full invoked ARN as provided on the Context passed to the function (Lambda-Runtime-Invoked-Function-Arn header on the /runtime/invocation/next applicable). + /// + /// + /// This may be different from cloud.resource_id if an alias is involved. + /// + public const string AttributeAwsLambdaInvokedArn = "aws.lambda.invoked_arn"; + + /// + /// The Amazon Resource Name(s) (ARN) of the AWS log group(s). + /// + /// + /// See the log group ARN format documentation. + /// + public const string AttributeAwsLogGroupArns = "aws.log.group.arns"; + + /// + /// The name(s) of the AWS log group(s) an application is writing to. + /// + /// + /// Multiple log groups must be supported for cases like multi-container applications, where a single application has sidecar containers, and each write to their own log group. + /// + public const string AttributeAwsLogGroupNames = "aws.log.group.names"; + + /// + /// The ARN(s) of the AWS log stream(s). + /// + /// + /// See the log stream ARN format documentation. One log group can contain several log streams, so these ARNs necessarily identify both a log group and a log stream. + /// + public const string AttributeAwsLogStreamArns = "aws.log.stream.arns"; + + /// + /// The name(s) of the AWS log stream(s) an application is writing to. + /// + public const string AttributeAwsLogStreamNames = "aws.log.stream.names"; + + /// + /// The AWS request ID as returned in the response headers x-amz-request-id or x-amz-requestid. + /// + public const string AttributeAwsRequestId = "aws.request_id"; + + /// + /// The S3 bucket name the request refers to. Corresponds to the --bucket parameter of the S3 API operations. + /// + /// + /// The bucket attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter. + /// This applies to almost all S3 operations except list-buckets. + /// + public const string AttributeAwsS3Bucket = "aws.s3.bucket"; + + /// + /// The source object (in the form bucket/key) for the copy operation. + /// + /// + /// The copy_source attribute applies to S3 copy operations and corresponds to the --copy-source parameter + /// of the copy-object operation within the S3 API. + /// This applies in particular to the following operations:. + /// + public const string AttributeAwsS3CopySource = "aws.s3.copy_source"; + + /// + /// The delete request container that specifies the objects to be deleted. + /// + /// + /// The delete attribute is only applicable to the delete-object operation. + /// The delete attribute corresponds to the --delete parameter of the + /// delete-objects operation within the S3 API. + /// + public const string AttributeAwsS3Delete = "aws.s3.delete"; + + /// + /// The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations. + /// + /// + /// The key attribute is applicable to all object-related S3 operations, i.e. that require the object key as a mandatory parameter. + /// This applies in particular to the following operations:. + /// + public const string AttributeAwsS3Key = "aws.s3.key"; + + /// + /// The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000. + /// + /// + /// The part_number attribute is only applicable to the upload-part + /// and upload-part-copy operations. + /// The part_number attribute corresponds to the --part-number parameter of the + /// upload-part operation within the S3 API. + /// + public const string AttributeAwsS3PartNumber = "aws.s3.part_number"; + + /// + /// Upload ID that identifies the multipart upload. + /// + /// + /// The upload_id attribute applies to S3 multipart-upload operations and corresponds to the --upload-id parameter + /// of the S3 API multipart operations. + /// This applies in particular to the following operations:. + /// + public const string AttributeAwsS3UploadId = "aws.s3.upload_id"; + + /// + /// The launch type for an ECS task. + /// + public static class AwsEcsLaunchtypeValues + { + /// + /// ec2. + /// + public const string Ec2 = "ec2"; + + /// + /// fargate. + /// + public const string Fargate = "fargate"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs new file mode 100644 index 0000000000..b4d81c70b5 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs @@ -0,0 +1,49 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class BrowserAttributes +{ + /// + /// Array of brand name and version separated by a space. + /// + /// + /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.brands). + /// + public const string AttributeBrowserBrands = "browser.brands"; + + /// + /// Preferred language of the user using the browser. + /// + /// + /// This value is intended to be taken from the Navigator API navigator.language. + /// + public const string AttributeBrowserLanguage = "browser.language"; + + /// + /// A boolean that is true if the browser is running on a mobile device. + /// + /// + /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.mobile). If unavailable, this attribute SHOULD be left unset. + /// + public const string AttributeBrowserMobile = "browser.mobile"; + + /// + /// The platform on which the browser is running. + /// + /// + /// This value is intended to be taken from the UA client hints API (navigator.userAgentData.platform). If unavailable, the legacy navigator.platform API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the values to be consistent. + /// The list of possible values is defined in the W3C User-Agent Client Hints specification. Note that some (but not all) of these values can overlap with values in the os.type and os.name attributes. However, for consistency, the values in the browser.platform attribute should capture the exact value that the user agent provides. + /// + public const string AttributeBrowserPlatform = "browser.platform"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs new file mode 100644 index 0000000000..724e0bd156 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ClientAttributes +{ + /// + /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// + /// + /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeClientAddress = "client.address"; + + /// + /// Client port number. + /// + /// + /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeClientPort = "client.port"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs new file mode 100644 index 0000000000..a85e786392 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs @@ -0,0 +1,259 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class CloudAttributes +{ + /// + /// The cloud account ID the resource is assigned to. + /// + public const string AttributeCloudAccountId = "cloud.account.id"; + + /// + /// Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the zone where the resource is running. + /// + /// + /// Availability zones are called &#34;zones&#34; on Alibaba Cloud and Google Cloud. + /// + public const string AttributeCloudAvailabilityZone = "cloud.availability_zone"; + + /// + /// The cloud platform in use. + /// + /// + /// The prefix of the service SHOULD match the one specified in cloud.provider. + /// + public const string AttributeCloudPlatform = "cloud.platform"; + + /// + /// Name of the cloud provider. + /// + public const string AttributeCloudProvider = "cloud.provider"; + + /// + /// The geographical region the resource is running. + /// + /// + /// Refer to your provider&#39;s docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions. + /// + public const string AttributeCloudRegion = "cloud.region"; + + /// + /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP). + /// + /// + /// On some cloud providers, it may not be possible to determine the full ID at startup, + /// so it may be necessary to set cloud.resource_id as a span attribute instead.The exact value to use for cloud.resource_id depends on the cloud provider. + /// The following well-known definitions MUST be used if you set this attribute and they apply:. + /// + public const string AttributeCloudResourceId = "cloud.resource_id"; + + /// + /// The cloud platform in use. + /// + public static class CloudPlatformValues + { + /// + /// Alibaba Cloud Elastic Compute Service. + /// + public const string AlibabaCloudEcs = "alibaba_cloud_ecs"; + + /// + /// Alibaba Cloud Function Compute. + /// + public const string AlibabaCloudFc = "alibaba_cloud_fc"; + + /// + /// Red Hat OpenShift on Alibaba Cloud. + /// + public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift"; + + /// + /// AWS Elastic Compute Cloud. + /// + public const string AwsEc2 = "aws_ec2"; + + /// + /// AWS Elastic Container Service. + /// + public const string AwsEcs = "aws_ecs"; + + /// + /// AWS Elastic Kubernetes Service. + /// + public const string AwsEks = "aws_eks"; + + /// + /// AWS Lambda. + /// + public const string AwsLambda = "aws_lambda"; + + /// + /// AWS Elastic Beanstalk. + /// + public const string AwsElasticBeanstalk = "aws_elastic_beanstalk"; + + /// + /// AWS App Runner. + /// + public const string AwsAppRunner = "aws_app_runner"; + + /// + /// Red Hat OpenShift on AWS (ROSA). + /// + public const string AwsOpenshift = "aws_openshift"; + + /// + /// Azure Virtual Machines. + /// + public const string AzureVm = "azure_vm"; + + /// + /// Azure Container Apps. + /// + public const string AzureContainerApps = "azure_container_apps"; + + /// + /// Azure Container Instances. + /// + public const string AzureContainerInstances = "azure_container_instances"; + + /// + /// Azure Kubernetes Service. + /// + public const string AzureAks = "azure_aks"; + + /// + /// Azure Functions. + /// + public const string AzureFunctions = "azure_functions"; + + /// + /// Azure App Service. + /// + public const string AzureAppService = "azure_app_service"; + + /// + /// Azure Red Hat OpenShift. + /// + public const string AzureOpenshift = "azure_openshift"; + + /// + /// Google Bare Metal Solution (BMS). + /// + public const string GcpBareMetalSolution = "gcp_bare_metal_solution"; + + /// + /// Google Cloud Compute Engine (GCE). + /// + public const string GcpComputeEngine = "gcp_compute_engine"; + + /// + /// Google Cloud Run. + /// + public const string GcpCloudRun = "gcp_cloud_run"; + + /// + /// Google Cloud Kubernetes Engine (GKE). + /// + public const string GcpKubernetesEngine = "gcp_kubernetes_engine"; + + /// + /// Google Cloud Functions (GCF). + /// + public const string GcpCloudFunctions = "gcp_cloud_functions"; + + /// + /// Google Cloud App Engine (GAE). + /// + public const string GcpAppEngine = "gcp_app_engine"; + + /// + /// Red Hat OpenShift on Google Cloud. + /// + public const string GcpOpenshift = "gcp_openshift"; + + /// + /// Red Hat OpenShift on IBM Cloud. + /// + public const string IbmCloudOpenshift = "ibm_cloud_openshift"; + + /// + /// Tencent Cloud Cloud Virtual Machine (CVM). + /// + public const string TencentCloudCvm = "tencent_cloud_cvm"; + + /// + /// Tencent Cloud Elastic Kubernetes Service (EKS). + /// + public const string TencentCloudEks = "tencent_cloud_eks"; + + /// + /// Tencent Cloud Serverless Cloud Function (SCF). + /// + public const string TencentCloudScf = "tencent_cloud_scf"; + } + + /// + /// Name of the cloud provider. + /// + public static class CloudProviderValues + { + /// + /// Alibaba Cloud. + /// + public const string AlibabaCloud = "alibaba_cloud"; + + /// + /// Amazon Web Services. + /// + public const string Aws = "aws"; + + /// + /// Microsoft Azure. + /// + public const string Azure = "azure"; + + /// + /// Google Cloud Platform. + /// + public const string Gcp = "gcp"; + + /// + /// Heroku Platform as a Service. + /// + public const string Heroku = "heroku"; + + /// + /// IBM Cloud. + /// + public const string IbmCloud = "ibm_cloud"; + + /// + /// Tencent Cloud. + /// + public const string TencentCloud = "tencent_cloud"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs new file mode 100644 index 0000000000..17114d24a0 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs @@ -0,0 +1,41 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class CloudeventsAttributes +{ + /// + /// The event_id uniquely identifies the event. + /// + public const string AttributeCloudeventsEventId = "cloudevents.event_id"; + + /// + /// The source identifies the context in which an event happened. + /// + public const string AttributeCloudeventsEventSource = "cloudevents.event_source"; + + /// + /// The version of the CloudEvents specification which the event uses. + /// + public const string AttributeCloudeventsEventSpecVersion = "cloudevents.event_spec_version"; + + /// + /// The subject of the event in the context of the event producer (identified by source). + /// + public const string AttributeCloudeventsEventSubject = "cloudevents.event_subject"; + + /// + /// The event_type contains a value describing the type of event related to the originating occurrence. + /// + public const string AttributeCloudeventsEventType = "cloudevents.event_type"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs new file mode 100644 index 0000000000..ebe40ae35c --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs @@ -0,0 +1,46 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class CodeAttributes +{ + /// + /// The column number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function. + /// + public const string AttributeCodeColumn = "code.column"; + + /// + /// The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). + /// + public const string AttributeCodeFilepath = "code.filepath"; + + /// + /// The method or function name, or equivalent (usually rightmost part of the code unit's name). + /// + public const string AttributeCodeFunction = "code.function"; + + /// + /// The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function. + /// + public const string AttributeCodeLineno = "code.lineno"; + + /// + /// The "namespace" within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit. + /// + public const string AttributeCodeNamespace = "code.namespace"; + + /// + /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. + /// + public const string AttributeCodeStacktrace = "code.stacktrace"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs new file mode 100644 index 0000000000..53f6b930b9 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs @@ -0,0 +1,114 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ContainerAttributes +{ + /// + /// The command used to run the container (i.e. the command name). + /// + /// + /// If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. + /// + public const string AttributeContainerCommand = "container.command"; + + /// + /// All the command arguments (including the command/executable itself) run by the container. [2]. + /// + public const string AttributeContainerCommandArgs = "container.command_args"; + + /// + /// The full command run by the container as a single string representing the full command. [2]. + /// + public const string AttributeContainerCommandLine = "container.command_line"; + + /// + /// The CPU state for this data point. + /// + public const string AttributeContainerCpuState = "container.cpu.state"; + + /// + /// Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated. + /// + public const string AttributeContainerId = "container.id"; + + /// + /// Runtime specific image identifier. Usually a hash algorithm followed by a UUID. + /// + /// + /// Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint. + /// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625". + /// The ID is assinged by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes. + /// + public const string AttributeContainerImageId = "container.image.id"; + + /// + /// Name of the image the container was built on. + /// + public const string AttributeContainerImageName = "container.image.name"; + + /// + /// Repo digests of the container image as provided by the container runtime. + /// + /// + /// Docker and CRI report those under the RepoDigests field. + /// + public const string AttributeContainerImageRepoDigests = "container.image.repo_digests"; + + /// + /// Container image tags. An example can be found in Docker Image Inspect. Should be only the section of the full name for example from registry.example.com/my-org/my-image:. + /// + public const string AttributeContainerImageTags = "container.image.tags"; + + /// + /// Container labels, being the label name, the value being the label value. + /// + public const string AttributeContainerLabel = "container.label"; + + /// + /// Deprecated, use container.label instead. + /// + [Obsolete("Replaced by `container.label`")] + public const string AttributeContainerLabels = "container.labels"; + + /// + /// Container name used by container runtime. + /// + public const string AttributeContainerName = "container.name"; + + /// + /// The container runtime managing this container. + /// + public const string AttributeContainerRuntime = "container.runtime"; + + /// + /// The CPU state for this data point. + /// + public static class ContainerCpuStateValues + { + /// + /// When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). + /// + public const string User = "user"; + + /// + /// When CPU is used by the system (host OS). + /// + public const string System = "system"; + + /// + /// When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). + /// + public const string Kernel = "kernel"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs new file mode 100644 index 0000000000..ffdbf56873 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs @@ -0,0 +1,611 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DbAttributes +{ + /// + /// The consistency level of the query. Based on consistency values from CQL. + /// + public const string AttributeDbCassandraConsistencyLevel = "db.cassandra.consistency_level"; + + /// + /// The data center of the coordinating node for a query. + /// + public const string AttributeDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc"; + + /// + /// The ID of the coordinating node for a query. + /// + public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id"; + + /// + /// Whether or not the query is idempotent. + /// + public const string AttributeDbCassandraIdempotence = "db.cassandra.idempotence"; + + /// + /// The fetch size used for paging, i.e. how many rows will be returned at once. + /// + public const string AttributeDbCassandraPageSize = "db.cassandra.page_size"; + + /// + /// The number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively. + /// + public const string AttributeDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count"; + + /// + /// The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable). + /// + /// + /// This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + /// + public const string AttributeDbCassandraTable = "db.cassandra.table"; + + /// + /// Deprecated, use server.address, server.port attributes instead. + /// + [Obsolete("Replaced by `server.address` and `server.port`.")] + public const string AttributeDbConnectionString = "db.connection_string"; + + /// + /// Unique Cosmos client instance id. + /// + public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id"; + + /// + /// Cosmos client connection mode. + /// + public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode"; + + /// + /// Cosmos DB container name. + /// + public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container"; + + /// + /// CosmosDB Operation Type. + /// + public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type"; + + /// + /// RU consumed for that operation. + /// + public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge"; + + /// + /// Request payload size in bytes. + /// + public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length"; + + /// + /// Cosmos DB status code. + /// + public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code"; + + /// + /// Cosmos DB sub status code. + /// + public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code"; + + /// + /// Represents the identifier of an Elasticsearch cluster. + /// + public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name"; + + /// + /// Deprecated, use db.instance.id instead. + /// + [Obsolete("Replaced by `db.instance.id`")] + public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name"; + + /// + /// A dynamic value in the url path. + /// + /// + /// Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format db.elasticsearch.path_parts.<key>, where <key> is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names. + /// + public const string AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts"; + + /// + /// An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. The client may obtain this value in databases like MySQL using queries like select @@hostname. + /// + public const string AttributeDbInstanceId = "db.instance.id"; + + /// + /// Removed, no replacement at this time. + /// + [Obsolete("Removed as not used")] + public const string AttributeDbJdbcDriverClassname = "db.jdbc.driver_classname"; + + /// + /// The MongoDB collection being accessed within the database stated in db.name. + /// + public const string AttributeDbMongodbCollection = "db.mongodb.collection"; + + /// + /// The Microsoft SQL Server instance name connecting to. This name is used to determine the port of a named instance. + /// + /// + /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard). + /// + public const string AttributeDbMssqlInstanceName = "db.mssql.instance_name"; + + /// + /// This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). + /// + /// + /// In some SQL databases, the database name to be used is called &#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 name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword. + /// + /// + /// When setting this to an SQL keyword, it is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if the operation name is provided by the library being instrumented. If the SQL statement has an ambiguous operation, or performs more than one operation, this value may be omitted. + /// + public const string AttributeDbOperation = "db.operation"; + + /// + /// The index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute. + /// + public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index"; + + /// + /// The name of the primary table that the operation is acting upon, including the database name (if applicable). + /// + /// + /// It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set. + /// + public const string AttributeDbSqlTable = "db.sql.table"; + + /// + /// The database statement being executed. + /// + public const string AttributeDbStatement = "db.statement"; + + /// + /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + /// + public const string AttributeDbSystem = "db.system"; + + /// + /// Username for accessing the database. + /// + public const string AttributeDbUser = "db.user"; + + /// + /// The consistency level of the query. Based on consistency values from CQL. + /// + public static class DbCassandraConsistencyLevelValues + { + /// + /// all. + /// + public const string All = "all"; + + /// + /// each_quorum. + /// + public const string EachQuorum = "each_quorum"; + + /// + /// quorum. + /// + public const string Quorum = "quorum"; + + /// + /// local_quorum. + /// + public const string LocalQuorum = "local_quorum"; + + /// + /// one. + /// + public const string One = "one"; + + /// + /// two. + /// + public const string Two = "two"; + + /// + /// three. + /// + public const string Three = "three"; + + /// + /// local_one. + /// + public const string LocalOne = "local_one"; + + /// + /// any. + /// + public const string Any = "any"; + + /// + /// serial. + /// + public const string Serial = "serial"; + + /// + /// local_serial. + /// + public const string LocalSerial = "local_serial"; + } + + /// + /// Cosmos client connection mode. + /// + public static class DbCosmosdbConnectionModeValues + { + /// + /// Gateway (HTTP) connections mode. + /// + public const string Gateway = "gateway"; + + /// + /// Direct connection. + /// + public const string Direct = "direct"; + } + + /// + /// CosmosDB Operation Type. + /// + public static class DbCosmosdbOperationTypeValues + { + /// + /// invalid. + /// + public const string Invalid = "Invalid"; + + /// + /// create. + /// + public const string Create = "Create"; + + /// + /// patch. + /// + public const string Patch = "Patch"; + + /// + /// read. + /// + public const string Read = "Read"; + + /// + /// read_feed. + /// + public const string ReadFeed = "ReadFeed"; + + /// + /// delete. + /// + public const string Delete = "Delete"; + + /// + /// replace. + /// + public const string Replace = "Replace"; + + /// + /// execute. + /// + public const string Execute = "Execute"; + + /// + /// query. + /// + public const string Query = "Query"; + + /// + /// head. + /// + public const string Head = "Head"; + + /// + /// head_feed. + /// + public const string HeadFeed = "HeadFeed"; + + /// + /// upsert. + /// + public const string Upsert = "Upsert"; + + /// + /// batch. + /// + public const string Batch = "Batch"; + + /// + /// query_plan. + /// + public const string QueryPlan = "QueryPlan"; + + /// + /// execute_javascript. + /// + public const string ExecuteJavascript = "ExecuteJavaScript"; + } + + /// + /// An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. + /// + public static class DbSystemValues + { + /// + /// Some other SQL database. Fallback only. See notes. + /// + public const string OtherSql = "other_sql"; + + /// + /// Microsoft SQL Server. + /// + public const string Mssql = "mssql"; + + /// + /// Microsoft SQL Server Compact. + /// + public const string Mssqlcompact = "mssqlcompact"; + + /// + /// MySQL. + /// + public const string Mysql = "mysql"; + + /// + /// Oracle Database. + /// + public const string Oracle = "oracle"; + + /// + /// IBM Db2. + /// + public const string Db2 = "db2"; + + /// + /// PostgreSQL. + /// + public const string Postgresql = "postgresql"; + + /// + /// Amazon Redshift. + /// + public const string Redshift = "redshift"; + + /// + /// Apache Hive. + /// + public const string Hive = "hive"; + + /// + /// Cloudscape. + /// + public const string Cloudscape = "cloudscape"; + + /// + /// HyperSQL DataBase. + /// + public const string Hsqldb = "hsqldb"; + + /// + /// Progress Database. + /// + public const string Progress = "progress"; + + /// + /// SAP MaxDB. + /// + public const string Maxdb = "maxdb"; + + /// + /// SAP HANA. + /// + public const string Hanadb = "hanadb"; + + /// + /// Ingres. + /// + public const string Ingres = "ingres"; + + /// + /// FirstSQL. + /// + public const string Firstsql = "firstsql"; + + /// + /// EnterpriseDB. + /// + public const string Edb = "edb"; + + /// + /// InterSystems Caché. + /// + public const string Cache = "cache"; + + /// + /// Adabas (Adaptable Database System). + /// + public const string Adabas = "adabas"; + + /// + /// Firebird. + /// + public const string Firebird = "firebird"; + + /// + /// Apache Derby. + /// + public const string Derby = "derby"; + + /// + /// FileMaker. + /// + public const string Filemaker = "filemaker"; + + /// + /// Informix. + /// + public const string Informix = "informix"; + + /// + /// InstantDB. + /// + public const string Instantdb = "instantdb"; + + /// + /// InterBase. + /// + public const string Interbase = "interbase"; + + /// + /// MariaDB. + /// + public const string Mariadb = "mariadb"; + + /// + /// Netezza. + /// + public const string Netezza = "netezza"; + + /// + /// Pervasive PSQL. + /// + public const string Pervasive = "pervasive"; + + /// + /// PointBase. + /// + public const string Pointbase = "pointbase"; + + /// + /// SQLite. + /// + public const string Sqlite = "sqlite"; + + /// + /// Sybase. + /// + public const string Sybase = "sybase"; + + /// + /// Teradata. + /// + public const string Teradata = "teradata"; + + /// + /// Vertica. + /// + public const string Vertica = "vertica"; + + /// + /// H2. + /// + public const string H2 = "h2"; + + /// + /// ColdFusion IMQ. + /// + public const string Coldfusion = "coldfusion"; + + /// + /// Apache Cassandra. + /// + public const string Cassandra = "cassandra"; + + /// + /// Apache HBase. + /// + public const string Hbase = "hbase"; + + /// + /// MongoDB. + /// + public const string Mongodb = "mongodb"; + + /// + /// Redis. + /// + public const string Redis = "redis"; + + /// + /// Couchbase. + /// + public const string Couchbase = "couchbase"; + + /// + /// CouchDB. + /// + public const string Couchdb = "couchdb"; + + /// + /// Microsoft Azure Cosmos DB. + /// + public const string Cosmosdb = "cosmosdb"; + + /// + /// Amazon DynamoDB. + /// + public const string Dynamodb = "dynamodb"; + + /// + /// Neo4j. + /// + public const string Neo4j = "neo4j"; + + /// + /// Apache Geode. + /// + public const string Geode = "geode"; + + /// + /// Elasticsearch. + /// + public const string Elasticsearch = "elasticsearch"; + + /// + /// Memcached. + /// + public const string Memcached = "memcached"; + + /// + /// CockroachDB. + /// + public const string Cockroachdb = "cockroachdb"; + + /// + /// OpenSearch. + /// + public const string Opensearch = "opensearch"; + + /// + /// ClickHouse. + /// + public const string Clickhouse = "clickhouse"; + + /// + /// Cloud Spanner. + /// + public const string Spanner = "spanner"; + + /// + /// Trino. + /// + public const string Trino = "trino"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs new file mode 100644 index 0000000000..38312d89a3 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs @@ -0,0 +1,30 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DeploymentAttributes +{ + /// + /// Name of the deployment environment (aka deployment tier). + /// + /// + /// deployment.environment does not affect the uniqueness constraints defined through + /// the service.namespace, service.name and service.instance.id resource attributes. + /// This implies that resources carrying the following attribute combinations MUST be + /// considered to be identifying the same service:. + /// + public const string AttributeDeploymentEnvironment = "deployment.environment"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs new file mode 100644 index 0000000000..08d9e7f480 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs @@ -0,0 +1,29 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DestinationAttributes +{ + /// + /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// + /// + /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeDestinationAddress = "destination.address"; + + /// + /// Destination port number. + /// + public const string AttributeDestinationPort = "destination.port"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs new file mode 100644 index 0000000000..9ea1ebc4fb --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs @@ -0,0 +1,48 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DeviceAttributes +{ + /// + /// A unique identifier representing the device. + /// + /// + /// The device identifier MUST only be defined using the values outlined below. This value is not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this value MUST be equal to the vendor identifier. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation ID or a globally unique UUID which is persisted across sessions in your application. More information can be found here on best practices and exact implementation details. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply, ensure you do your own due diligence. + /// + public const string AttributeDeviceId = "device.id"; + + /// + /// The name of the device manufacturer. + /// + /// + /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple. + /// + public const string AttributeDeviceManufacturer = "device.manufacturer"; + + /// + /// The model identifier for the device. + /// + /// + /// It&#39;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&#39;s recommended this value represents a human-readable version of the device model rather than a machine-readable alternative. + /// + public const string AttributeDeviceModelName = "device.model.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs new file mode 100644 index 0000000000..efa5cb59ce --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs @@ -0,0 +1,37 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DiskAttributes +{ + /// + /// The disk IO operation direction. + /// + public const string AttributeDiskIoDirection = "disk.io.direction"; + + /// + /// The disk IO operation direction. + /// + public static class DiskIoDirectionValues + { + /// + /// read. + /// + public const string Read = "read"; + + /// + /// write. + /// + public const string Write = "write"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs new file mode 100644 index 0000000000..c7db90e746 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs @@ -0,0 +1,24 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class DnsAttributes +{ + /// + /// The name being queried. + /// + /// + /// If the name field contains non-printable characters (below 32 or above 126), those characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n respectively. + /// + public const string AttributeDnsQuestionName = "dns.question.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs new file mode 100644 index 0000000000..cdee87e966 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class EnduserAttributes +{ + /// + /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system. + /// + public const string AttributeEnduserId = "enduser.id"; + + /// + /// Actual/assumed role the client is making the request under extracted from token or application security context. + /// + public const string AttributeEnduserRole = "enduser.role"; + + /// + /// Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an OAuth 2.0 Access Token or an attribute value in a SAML 2.0 Assertion. + /// + public const string AttributeEnduserScope = "enduser.scope"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs new file mode 100644 index 0000000000..4793805994 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs @@ -0,0 +1,43 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ErrorAttributes +{ + /// + /// Describes a class of error the operation ended with. + /// + /// + /// The error.type SHOULD be predictable and SHOULD have low cardinality. + /// Instrumentations SHOULD document the list of errors they report.The cardinality of error.type within one instrumentation library SHOULD be low. + /// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications + /// should be prepared for error.type to have high cardinality at query time when no + /// additional filters are applied.If the operation has completed successfully, instrumentations SHOULD NOT set error.type.If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), + /// it&#39;s RECOMMENDED to:. + /// + public const string AttributeErrorType = "error.type"; + + /// + /// Describes a class of error the operation ended with. + /// + public static class ErrorTypeValues + { + /// + /// A fallback error value to be used when the instrumentation doesn't define a custom value. + /// + public const string Other = "_OTHER"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs new file mode 100644 index 0000000000..7def01aeaa --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs @@ -0,0 +1,24 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class EventAttributes +{ + /// + /// Identifies the class / type of event. + /// + /// + /// Event names are subject to the same rules as attribute names. Notably, event names are namespaced to avoid collisions and provide a clean separation of semantics for events in separate domains like browser, mobile, and kubernetes. + /// + public const string AttributeEventName = "event.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs new file mode 100644 index 0000000000..9b26f61d88 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs @@ -0,0 +1,50 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ExceptionAttributes +{ + /// + /// SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span. + /// + /// + /// An exception is considered to have escaped (or left) the scope of a span, + /// if that span is ended while the exception is still logically &#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 for recording span exceptions.It follows that an exception may still escape the scope of the span + /// even if the exception.escaped attribute was not set or set to false, + /// since the event might have been recorded at a time where it was not + /// clear whether the exception will escape. + /// + public const string AttributeExceptionEscaped = "exception.escaped"; + + /// + /// The exception message. + /// + public const string AttributeExceptionMessage = "exception.message"; + + /// + /// A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. + /// + public const string AttributeExceptionStacktrace = "exception.stacktrace"; + + /// + /// The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it. + /// + public const string AttributeExceptionType = "exception.type"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs new file mode 100644 index 0000000000..bf4ff8d157 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs @@ -0,0 +1,223 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class FaasAttributes +{ + /// + /// A boolean that is true if the serverless function is executed for the first time (aka cold-start). + /// + public const string AttributeFaasColdstart = "faas.coldstart"; + + /// + /// A string containing the schedule period as Cron Expression. + /// + public const string AttributeFaasCron = "faas.cron"; + + /// + /// The name of the source on which the triggering operation was performed. For example, in Cloud Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. + /// + public const string AttributeFaasDocumentCollection = "faas.document.collection"; + + /// + /// The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of the file, and in Cosmos DB the table name. + /// + public const string AttributeFaasDocumentName = "faas.document.name"; + + /// + /// Describes the type of the operation that was performed on the data. + /// + public const string AttributeFaasDocumentOperation = "faas.document.operation"; + + /// + /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. + /// + public const string AttributeFaasDocumentTime = "faas.document.time"; + + /// + /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. + /// + /// + /// . + /// + public const string AttributeFaasInstance = "faas.instance"; + + /// + /// The invocation ID of the current function invocation. + /// + public const string AttributeFaasInvocationId = "faas.invocation_id"; + + /// + /// The name of the invoked function. + /// + /// + /// SHOULD be equal to the faas.name resource attribute of the invoked function. + /// + public const string AttributeFaasInvokedName = "faas.invoked_name"; + + /// + /// The cloud provider of the invoked function. + /// + /// + /// SHOULD be equal to the cloud.provider resource attribute of the invoked function. + /// + public const string AttributeFaasInvokedProvider = "faas.invoked_provider"; + + /// + /// The cloud region of the invoked function. + /// + /// + /// SHOULD be equal to the cloud.region resource attribute of the invoked function. + /// + public const string AttributeFaasInvokedRegion = "faas.invoked_region"; + + /// + /// The amount of memory available to the serverless function converted to Bytes. + /// + /// + /// It&#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 (which must be multiplied by 1,048,576). + /// + public const string AttributeFaasMaxMemory = "faas.max_memory"; + + /// + /// The name of the single function that this runtime instance executes. + /// + /// + /// This is the name of the function as configured/deployed on the FaaS + /// platform and is usually different from the name of the callback + /// function (which may be stored in the + /// code.namespace/code.function + /// span attributes).For some cloud providers, the above definition is ambiguous. The following + /// definition of function name MUST be used for this attribute + /// (and consequently the span name) for the listed cloud providers/products:. + /// + public const string AttributeFaasName = "faas.name"; + + /// + /// A string containing the function invocation time in the ISO 8601 format expressed in UTC. + /// + public const string AttributeFaasTime = "faas.time"; + + /// + /// Type of the trigger which caused this function invocation. + /// + public const string AttributeFaasTrigger = "faas.trigger"; + + /// + /// The immutable version of the function being executed. + /// + /// + /// Depending on the cloud provider and platform, use:. + /// + public const string AttributeFaasVersion = "faas.version"; + + /// + /// Describes the type of the operation that was performed on the data. + /// + public static class FaasDocumentOperationValues + { + /// + /// When a new object is created. + /// + public const string Insert = "insert"; + + /// + /// When an object is modified. + /// + public const string Edit = "edit"; + + /// + /// When an object is deleted. + /// + public const string Delete = "delete"; + } + + /// + /// The cloud provider of the invoked function. + /// + public static class FaasInvokedProviderValues + { + /// + /// Alibaba Cloud. + /// + public const string AlibabaCloud = "alibaba_cloud"; + + /// + /// Amazon Web Services. + /// + public const string Aws = "aws"; + + /// + /// Microsoft Azure. + /// + public const string Azure = "azure"; + + /// + /// Google Cloud Platform. + /// + public const string Gcp = "gcp"; + + /// + /// Tencent Cloud. + /// + public const string TencentCloud = "tencent_cloud"; + } + + /// + /// Type of the trigger which caused this function invocation. + /// + public static class FaasTriggerValues + { + /// + /// A response to some data source operation such as a database or filesystem read/write. + /// + public const string Datasource = "datasource"; + + /// + /// To provide an answer to an inbound HTTP request. + /// + public const string Http = "http"; + + /// + /// A function is set to be executed when messages are sent to a messaging system. + /// + public const string Pubsub = "pubsub"; + + /// + /// A function is scheduled to be executed regularly. + /// + public const string Timer = "timer"; + + /// + /// If none of the others apply. + /// + public const string Other = "other"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs new file mode 100644 index 0000000000..31c3a7c683 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs @@ -0,0 +1,39 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class FeatureFlagAttributes +{ + /// + /// The unique identifier of the feature flag. + /// + public const string AttributeFeatureFlagKey = "feature_flag.key"; + + /// + /// The name of the service provider that performs the flag evaluation. + /// + public const string AttributeFeatureFlagProviderName = "feature_flag.provider_name"; + + /// + /// SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the value can be used. + /// + /// + /// A semantic identifier, commonly referred to as a variant, provides a means + /// for referring to a value without including the value itself. This can + /// provide additional context for understanding the meaning behind a value. + /// For example, the variant red maybe be used for the value #c05543.A stringified version of the value can be used in situations where a + /// semantic identifier is unavailable. String representation of the value + /// should be determined by the implementer. + /// + public const string AttributeFeatureFlagVariant = "feature_flag.variant"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs new file mode 100644 index 0000000000..e0d80da3d4 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs @@ -0,0 +1,44 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class FileAttributes +{ + /// + /// Directory where the file is located. It should include the drive letter, when appropriate. + /// + public const string AttributeFileDirectory = "file.directory"; + + /// + /// File extension, excluding the leading dot. + /// + /// + /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured (&#34;gz&#34;, not &#34;tar.gz&#34;). + /// + public const string AttributeFileExtension = "file.extension"; + + /// + /// Name of the file including the extension, without the directory. + /// + public const string AttributeFileName = "file.name"; + + /// + /// Full path to the file, including the file name. It should include the drive letter, when appropriate. + /// + public const string AttributeFilePath = "file.path"; + + /// + /// File size in bytes. + /// + public const string AttributeFileSize = "file.size"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs new file mode 100644 index 0000000000..d22ebdd455 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class GcpAttributes +{ + /// + /// The name of the Cloud Run execution being run for the Job, as set by the CLOUD_RUN_EXECUTION environment variable. + /// + public const string AttributeGcpCloudRunJobExecution = "gcp.cloud_run.job.execution"; + + /// + /// The index for a task within an execution as provided by the CLOUD_RUN_TASK_INDEX environment variable. + /// + public const string AttributeGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index"; + + /// + /// The hostname of a GCE instance. This is the full value of the default or custom hostname. + /// + public const string AttributeGcpGceInstanceHostname = "gcp.gce.instance.hostname"; + + /// + /// The instance name of a GCE instance. This is the value provided by host.name, the visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of the instance as defined by the default internal DNS name. + /// + public const string AttributeGcpGceInstanceName = "gcp.gce.instance.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs new file mode 100644 index 0000000000..d41a88d9c6 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs @@ -0,0 +1,55 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class GraphqlAttributes +{ + /// + /// The GraphQL document being executed. + /// + /// + /// The value may be sanitized to exclude sensitive information. + /// + public const string AttributeGraphqlDocument = "graphql.document"; + + /// + /// The name of the operation being executed. + /// + public const string AttributeGraphqlOperationName = "graphql.operation.name"; + + /// + /// The type of the operation being executed. + /// + public const string AttributeGraphqlOperationType = "graphql.operation.type"; + + /// + /// The type of the operation being executed. + /// + public static class GraphqlOperationTypeValues + { + /// + /// GraphQL query. + /// + public const string Query = "query"; + + /// + /// GraphQL mutation. + /// + public const string Mutation = "mutation"; + + /// + /// GraphQL subscription. + /// + public const string Subscription = "subscription"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs new file mode 100644 index 0000000000..0a4f498019 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class HerokuAttributes +{ + /// + /// Unique identifier for the application. + /// + public const string AttributeHerokuAppId = "heroku.app.id"; + + /// + /// Commit hash for the current release. + /// + public const string AttributeHerokuReleaseCommit = "heroku.release.commit"; + + /// + /// Time and date the release was created. + /// + public const string AttributeHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs new file mode 100644 index 0000000000..c80d817bde --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs @@ -0,0 +1,146 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class HostAttributes +{ + /// + /// The CPU architecture the host system is running on. + /// + public const string AttributeHostArch = "host.arch"; + + /// + /// The amount of level 2 memory cache available to the processor (in Bytes). + /// + public const string AttributeHostCpuCacheL2Size = "host.cpu.cache.l2.size"; + + /// + /// Family or generation of the CPU. + /// + public const string AttributeHostCpuFamily = "host.cpu.family"; + + /// + /// Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. + /// + public const string AttributeHostCpuModelId = "host.cpu.model.id"; + + /// + /// Model designation of the processor. + /// + public const string AttributeHostCpuModelName = "host.cpu.model.name"; + + /// + /// Stepping or core revisions. + /// + public const string AttributeHostCpuStepping = "host.cpu.stepping"; + + /// + /// Processor manufacturer identifier. A maximum 12-character string. + /// + /// + /// CPUID command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string. + /// + public const string AttributeHostCpuVendorId = "host.cpu.vendor.id"; + + /// + /// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the machine-id. See the table below for the sources to use to determine the machine-id based on operating system. + /// + public const string AttributeHostId = "host.id"; + + /// + /// VM image ID or host OS image ID. For Cloud, this value is from the provider. + /// + public const string AttributeHostImageId = "host.image.id"; + + /// + /// Name of the VM image or OS install the host was instantiated from. + /// + public const string AttributeHostImageName = "host.image.name"; + + /// + /// The version string of the VM image or host OS as defined in Version Attributes. + /// + public const string AttributeHostImageVersion = "host.image.version"; + + /// + /// Available IP addresses of the host, excluding loopback interfaces. + /// + /// + /// IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the RFC 5952 format. + /// + public const string AttributeHostIp = "host.ip"; + + /// + /// Available MAC addresses of the host, excluding loopback interfaces. + /// + /// + /// MAC Addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant. + /// + public const string AttributeHostMac = "host.mac"; + + /// + /// Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. + /// + public const string AttributeHostName = "host.name"; + + /// + /// Type of host. For Cloud, this must be the machine type. + /// + public const string AttributeHostType = "host.type"; + + /// + /// The CPU architecture the host system is running on. + /// + public static class HostArchValues + { + /// + /// AMD64. + /// + public const string Amd64 = "amd64"; + + /// + /// ARM32. + /// + public const string Arm32 = "arm32"; + + /// + /// ARM64. + /// + public const string Arm64 = "arm64"; + + /// + /// Itanium. + /// + public const string Ia64 = "ia64"; + + /// + /// 32-bit PowerPC. + /// + public const string Ppc32 = "ppc32"; + + /// + /// 64-bit PowerPC. + /// + public const string Ppc64 = "ppc64"; + + /// + /// IBM z/Architecture. + /// + public const string S390x = "s390x"; + + /// + /// 32-bit x86. + /// + public const string X86 = "x86"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs new file mode 100644 index 0000000000..e84a5b8bf7 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs @@ -0,0 +1,265 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class HttpAttributes +{ + /// + /// State of the HTTP connection in the HTTP connection pool. + /// + public const string AttributeHttpConnectionState = "http.connection.state"; + + /// + /// Deprecated, use network.protocol.name instead. + /// + [Obsolete("Replaced by `network.protocol.name`")] + public const string AttributeHttpFlavor = "http.flavor"; + + /// + /// Deprecated, use http.request.method instead. + /// + [Obsolete("Replaced by `http.request.method`")] + public const string AttributeHttpMethod = "http.method"; + + /// + /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. + /// + public const string AttributeHttpRequestBodySize = "http.request.body.size"; + + /// + /// HTTP request headers, being the normalized HTTP Header name (lowercase), the value being the header values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all request headers can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// The User-Agent header is already captured in the user_agent.original attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. + /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + /// + public const string AttributeHttpRequestHeader = "http.request.header"; + + /// + /// HTTP request method. + /// + /// + /// HTTP request method value SHOULD be &#34;known&#34; to the instrumentation. + /// By default, this convention defines &#34;known&#34; methods as the ones listed in RFC9110 + /// and the PATCH method defined in RFC5789.If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER.If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override + /// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named + /// OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods + /// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults).HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly. + /// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. + /// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value. + /// + public const string AttributeHttpRequestMethod = "http.request.method"; + + /// + /// Original HTTP method sent by the client in the request line. + /// + public const string AttributeHttpRequestMethodOriginal = "http.request.method_original"; + + /// + /// The ordinal number of request resending attempt (for any reason, including redirects). + /// + /// + /// The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues, or any other). + /// + public const string AttributeHttpRequestResendCount = "http.request.resend_count"; + + /// + /// The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any. + /// + public const string AttributeHttpRequestSize = "http.request.size"; + + /// + /// Deprecated, use http.request.header.content-length instead. + /// + [Obsolete("Replaced by `http.request.header.content-length`")] + public const string AttributeHttpRequestContentLength = "http.request_content_length"; + + /// + /// The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the Content-Length header. For requests using transport encoding, this should be the compressed size. + /// + public const string AttributeHttpResponseBodySize = "http.response.body.size"; + + /// + /// HTTP response headers, being the normalized HTTP Header name (lowercase), the value being the header values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which headers are to be captured. Including all response headers can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// Users MAY explicitly configure instrumentations to capture them even though it is not recommended. + /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers. + /// + public const string AttributeHttpResponseHeader = "http.response.header"; + + /// + /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any. + /// + public const string AttributeHttpResponseSize = "http.response.size"; + + /// + /// HTTP response status code. + /// + public const string AttributeHttpResponseStatusCode = "http.response.status_code"; + + /// + /// Deprecated, use http.response.header.content-length instead. + /// + [Obsolete("Replaced by `http.response.header.content-length`")] + public const string AttributeHttpResponseContentLength = "http.response_content_length"; + + /// + /// The matched route, that is, the path template in the format used by the respective server framework. + /// + /// + /// MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. + /// SHOULD include the application root if there is one. + /// + public const string AttributeHttpRoute = "http.route"; + + /// + /// Deprecated, use url.scheme instead. + /// + [Obsolete("Replaced by `url.scheme` instead")] + public const string AttributeHttpScheme = "http.scheme"; + + /// + /// Deprecated, use http.response.status_code instead. + /// + [Obsolete("Replaced by `http.response.status_code`")] + public const string AttributeHttpStatusCode = "http.status_code"; + + /// + /// Deprecated, use url.path and url.query instead. + /// + [Obsolete("Split to `url.path` and `url.query")] + public const string AttributeHttpTarget = "http.target"; + + /// + /// Deprecated, use url.full instead. + /// + [Obsolete("Replaced by `url.full`")] + public const string AttributeHttpUrl = "http.url"; + + /// + /// Deprecated, use user_agent.original instead. + /// + [Obsolete("Replaced by `user_agent.original`")] + public const string AttributeHttpUserAgent = "http.user_agent"; + + /// + /// State of the HTTP connection in the HTTP connection pool. + /// + public static class HttpConnectionStateValues + { + /// + /// active state. + /// + public const string Active = "active"; + + /// + /// idle state. + /// + public const string Idle = "idle"; + } + + /// + /// Deprecated, use network.protocol.name instead. + /// + public static class HttpFlavorValues + { + /// + /// HTTP/1.0. + /// + public const string Http10 = "1.0"; + + /// + /// HTTP/1.1. + /// + public const string Http11 = "1.1"; + + /// + /// HTTP/2. + /// + public const string Http20 = "2.0"; + + /// + /// HTTP/3. + /// + public const string Http30 = "3.0"; + + /// + /// SPDY protocol. + /// + public const string Spdy = "SPDY"; + + /// + /// QUIC protocol. + /// + public const string Quic = "QUIC"; + } + + /// + /// HTTP request method. + /// + public static class HttpRequestMethodValues + { + /// + /// CONNECT method. + /// + public const string Connect = "CONNECT"; + + /// + /// DELETE method. + /// + public const string Delete = "DELETE"; + + /// + /// GET method. + /// + public const string Get = "GET"; + + /// + /// HEAD method. + /// + public const string Head = "HEAD"; + + /// + /// OPTIONS method. + /// + public const string Options = "OPTIONS"; + + /// + /// PATCH method. + /// + public const string Patch = "PATCH"; + + /// + /// POST method. + /// + public const string Post = "POST"; + + /// + /// PUT method. + /// + public const string Put = "PUT"; + + /// + /// TRACE method. + /// + public const string Trace = "TRACE"; + + /// + /// Any HTTP method that the instrumentation has no prior knowledge of. + /// + public const string Other = "_OTHER"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs new file mode 100644 index 0000000000..0ba843170d --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs @@ -0,0 +1,55 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class IosAttributes +{ + /// + /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// + /// + /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived. + /// + public const string AttributeIosState = "ios.state"; + + /// + /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// + public static class IosStateValues + { + /// + /// The app has become active. Associated with UIKit notification applicationDidBecomeActive. + /// + public const string Active = "active"; + + /// + /// The app is now inactive. Associated with UIKit notification applicationWillResignActive. + /// + public const string Inactive = "inactive"; + + /// + /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground. + /// + public const string Background = "background"; + + /// + /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground. + /// + public const string Foreground = "foreground"; + + /// + /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate. + /// + public const string Terminate = "terminate"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs new file mode 100644 index 0000000000..74ba9d1983 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs @@ -0,0 +1,115 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class JvmAttributes +{ + /// + /// Name of the buffer pool. + /// + /// + /// Pool names are generally obtained via BufferPoolMXBean#getName(). + /// + public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name"; + + /// + /// Name of the garbage collector action. + /// + /// + /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + /// + public const string AttributeJvmGcAction = "jvm.gc.action"; + + /// + /// Name of the garbage collector. + /// + /// + /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + /// + public const string AttributeJvmGcName = "jvm.gc.name"; + + /// + /// Name of the memory pool. + /// + /// + /// Pool names are generally obtained via MemoryPoolMXBean#getName(). + /// + public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name"; + + /// + /// The type of memory. + /// + public const string AttributeJvmMemoryType = "jvm.memory.type"; + + /// + /// Whether the thread is daemon or not. + /// + public const string AttributeJvmThreadDaemon = "jvm.thread.daemon"; + + /// + /// State of the thread. + /// + public const string AttributeJvmThreadState = "jvm.thread.state"; + + /// + /// The type of memory. + /// + public static class JvmMemoryTypeValues + { + /// + /// Heap memory. + /// + public const string Heap = "heap"; + + /// + /// Non-heap memory. + /// + public const string NonHeap = "non_heap"; + } + + /// + /// State of the thread. + /// + public static class JvmThreadStateValues + { + /// + /// A thread that has not yet started is in this state. + /// + public const string New = "new"; + + /// + /// A thread executing in the Java virtual machine is in this state. + /// + public const string Runnable = "runnable"; + + /// + /// A thread that is blocked waiting for a monitor lock is in this state. + /// + public const string Blocked = "blocked"; + + /// + /// A thread that is waiting indefinitely for another thread to perform a particular action is in this state. + /// + public const string Waiting = "waiting"; + + /// + /// A thread that is waiting for another thread to perform an action for up to a specified waiting time is in this state. + /// + public const string TimedWaiting = "timed_waiting"; + + /// + /// A thread that has exited is in this state. + /// + public const string Terminated = "terminated"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs new file mode 100644 index 0000000000..614ce06d72 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs @@ -0,0 +1,155 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class K8sAttributes +{ + /// + /// The name of the cluster. + /// + public const string AttributeK8sClusterName = "k8s.cluster.name"; + + /// + /// A pseudo-ID for the cluster, set to the UID of the kube-system namespace. + /// + /// + /// K8s doesn&#39;t have support for obtaining a cluster ID. If this is ever + /// added, we will recommend collecting the k8s.cluster.uid through the + /// official APIs. In the meantime, we are able to use the uid of the + /// kube-system namespace as a proxy for cluster ID. Read on for the + /// rationale.Every object created in a K8s cluster is assigned a distinct UID. The + /// kube-system namespace is used by Kubernetes itself and will exist + /// for the lifetime of the cluster. Using the uid of the kube-system + /// namespace is a reasonable proxy for the K8s ClusterID as it will only + /// change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are + /// UUIDs as standardized by + /// ISO/IEC 9834-8 and ITU-T X.667. + /// Which states:&gt; If generated according to one of the mechanisms defined in Rec. + /// ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be + /// different from all other UUIDs generated before 3603 A.D., or is + /// extremely likely to be different (depending on the mechanism chosen).Therefore, UIDs between clusters should be extremely unlikely to + /// conflict. + /// + public const string AttributeK8sClusterUid = "k8s.cluster.uid"; + + /// + /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name). + /// + public const string AttributeK8sContainerName = "k8s.container.name"; + + /// + /// Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. + /// + public const string AttributeK8sContainerRestartCount = "k8s.container.restart_count"; + + /// + /// The name of the CronJob. + /// + public const string AttributeK8sCronjobName = "k8s.cronjob.name"; + + /// + /// The UID of the CronJob. + /// + public const string AttributeK8sCronjobUid = "k8s.cronjob.uid"; + + /// + /// The name of the DaemonSet. + /// + public const string AttributeK8sDaemonsetName = "k8s.daemonset.name"; + + /// + /// The UID of the DaemonSet. + /// + public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid"; + + /// + /// The name of the Deployment. + /// + public const string AttributeK8sDeploymentName = "k8s.deployment.name"; + + /// + /// The UID of the Deployment. + /// + public const string AttributeK8sDeploymentUid = "k8s.deployment.uid"; + + /// + /// The name of the Job. + /// + public const string AttributeK8sJobName = "k8s.job.name"; + + /// + /// The UID of the Job. + /// + public const string AttributeK8sJobUid = "k8s.job.uid"; + + /// + /// The name of the namespace that the pod is running in. + /// + public const string AttributeK8sNamespaceName = "k8s.namespace.name"; + + /// + /// The name of the Node. + /// + public const string AttributeK8sNodeName = "k8s.node.name"; + + /// + /// The UID of the Node. + /// + public const string AttributeK8sNodeUid = "k8s.node.uid"; + + /// + /// The annotation key-value pairs placed on the Pod, the being the annotation name, the value being the annotation value. + /// + public const string AttributeK8sPodAnnotation = "k8s.pod.annotation"; + + /// + /// The label key-value pairs placed on the Pod, the being the label name, the value being the label value. + /// + public const string AttributeK8sPodLabel = "k8s.pod.label"; + + /// + /// Deprecated, use k8s.pod.label instead. + /// + [Obsolete("Replaced by `k8s.pod.label`")] + public const string AttributeK8sPodLabels = "k8s.pod.labels"; + + /// + /// The name of the Pod. + /// + public const string AttributeK8sPodName = "k8s.pod.name"; + + /// + /// The UID of the Pod. + /// + public const string AttributeK8sPodUid = "k8s.pod.uid"; + + /// + /// The name of the ReplicaSet. + /// + public const string AttributeK8sReplicasetName = "k8s.replicaset.name"; + + /// + /// The UID of the ReplicaSet. + /// + public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid"; + + /// + /// The name of the StatefulSet. + /// + public const string AttributeK8sStatefulsetName = "k8s.statefulset.name"; + + /// + /// The UID of the StatefulSet. + /// + public const string AttributeK8sStatefulsetUid = "k8s.statefulset.uid"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs new file mode 100644 index 0000000000..a314e0deb4 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs @@ -0,0 +1,66 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class LogAttributes +{ + /// + /// The basename of the file. + /// + public const string AttributeLogFileName = "log.file.name"; + + /// + /// The basename of the file, with symlinks resolved. + /// + public const string AttributeLogFileNameResolved = "log.file.name_resolved"; + + /// + /// The full path to the file. + /// + public const string AttributeLogFilePath = "log.file.path"; + + /// + /// The full path to the file, with symlinks resolved. + /// + public const string AttributeLogFilePathResolved = "log.file.path_resolved"; + + /// + /// The stream associated with the log. See below for a list of well-known values. + /// + public const string AttributeLogIostream = "log.iostream"; + + /// + /// A unique identifier for the Log Record. + /// + /// + /// If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values. + /// The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed. + /// + public const string AttributeLogRecordUid = "log.record.uid"; + + /// + /// The stream associated with the log. See below for a list of well-known values. + /// + public static class LogIostreamValues + { + /// + /// Logs from stdout stream. + /// + public const string Stdout = "stdout"; + + /// + /// Events from stderr stream. + /// + public const string Stderr = "stderr"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs new file mode 100644 index 0000000000..5014c3b41d --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs @@ -0,0 +1,55 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class MessageAttributes +{ + /// + /// Compressed size of the message in bytes. + /// + public const string AttributeMessageCompressedSize = "message.compressed_size"; + + /// + /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message. + /// + /// + /// This way we guarantee that the values will be consistent between different implementations. + /// + public const string AttributeMessageId = "message.id"; + + /// + /// Whether this is a received or sent message. + /// + public const string AttributeMessageType = "message.type"; + + /// + /// Uncompressed size of the message in bytes. + /// + public const string AttributeMessageUncompressedSize = "message.uncompressed_size"; + + /// + /// Whether this is a received or sent message. + /// + public static class MessageTypeValues + { + /// + /// sent. + /// + public const string Sent = "SENT"; + + /// + /// received. + /// + public const string Received = "RECEIVED"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs new file mode 100644 index 0000000000..22c391ac2a --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs @@ -0,0 +1,390 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class MessagingAttributes +{ + /// + /// The number of messages sent, received, or processed in the scope of the batching operation. + /// + /// + /// Instrumentations SHOULD NOT set messaging.batch.message_count on spans that operate with a single message. When a messaging client library supports both batch and single-message API for the same operation, instrumentations SHOULD use messaging.batch.message_count for batching APIs and SHOULD NOT use it for single-message APIs. + /// + public const string AttributeMessagingBatchMessageCount = "messaging.batch.message_count"; + + /// + /// A unique identifier for the client that consumes or produces a message. + /// + public const string AttributeMessagingClientId = "messaging.client_id"; + + /// + /// A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name). + /// + public const string AttributeMessagingDestinationAnonymous = "messaging.destination.anonymous"; + + /// + /// The message destination name. + /// + /// + /// Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If + /// the broker doesn&#39;t have such notion, the destination name SHOULD uniquely identify the broker. + /// + public const string AttributeMessagingDestinationName = "messaging.destination.name"; + + /// + /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name. + /// + public const string AttributeMessagingDestinationPartitionId = "messaging.destination.partition.id"; + + /// + /// Low cardinality representation of the messaging destination name. + /// + /// + /// Destination names could be constructed from templates. An example would be a destination name involving a user name or product id. Although the destination name in this case is of high cardinality, the underlying template is of low cardinality and can be effectively used for grouping and aggregation. + /// + public const string AttributeMessagingDestinationTemplate = "messaging.destination.template"; + + /// + /// A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed. + /// + public const string AttributeMessagingDestinationTemporary = "messaging.destination.temporary"; + + /// + /// A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name). + /// + public const string AttributeMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous"; + + /// + /// The name of the original destination the message was published to. + /// + /// + /// The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If + /// the broker doesn&#39;t have such notion, the original destination name SHOULD uniquely identify the broker. + /// + public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name"; + + /// + /// The name of the consumer group the event consumer is associated with. + /// + public const string AttributeMessagingEventhubsConsumerGroup = "messaging.eventhubs.consumer.group"; + + /// + /// The UTC epoch seconds at which the message has been accepted and stored in the entity. + /// + public const string AttributeMessagingEventhubsMessageEnqueuedTime = "messaging.eventhubs.message.enqueued_time"; + + /// + /// The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. + /// + public const string AttributeMessagingGcpPubsubMessageOrderingKey = "messaging.gcp_pubsub.message.ordering_key"; + + /// + /// Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. + /// + public const string AttributeMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group"; + + /// + /// "Deprecated, use messaging.destination.partition.id instead.". + /// + [Obsolete("Replaced by `messaging.destination.partition.id`")] + public const string AttributeMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition"; + + /// + /// Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set. + /// + /// + /// If the key type is not string, it&#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"; + + /// + /// The offset of a record in the corresponding Kafka partition. + /// + public const string AttributeMessagingKafkaMessageOffset = "messaging.kafka.message.offset"; + + /// + /// A boolean that is true if the message is a tombstone. + /// + public const string AttributeMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone"; + + /// + /// The size of the message body in bytes. + /// + /// + /// This can refer to both the compressed or uncompressed body size. If both sizes are known, the uncompressed + /// body size should be used. + /// + public const string AttributeMessagingMessageBodySize = "messaging.message.body.size"; + + /// + /// The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". + /// + public const string AttributeMessagingMessageConversationId = "messaging.message.conversation_id"; + + /// + /// The size of the message body and metadata in bytes. + /// + /// + /// This can refer to both the compressed or uncompressed size. If both sizes are known, the uncompressed + /// size should be used. + /// + public const string AttributeMessagingMessageEnvelopeSize = "messaging.message.envelope.size"; + + /// + /// A value used by the messaging system as an identifier for the message, represented as a string. + /// + public const string AttributeMessagingMessageId = "messaging.message.id"; + + /// + /// A string identifying the kind of messaging operation. + /// + /// + /// If a custom value is used, it MUST be of low cardinality. + /// + public const string AttributeMessagingOperation = "messaging.operation"; + + /// + /// RabbitMQ message routing key. + /// + public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key"; + + /// + /// RabbitMQ message delivery tag. + /// + public const string AttributeMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag"; + + /// + /// Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind. + /// + public const string AttributeMessagingRocketmqClientGroup = "messaging.rocketmq.client_group"; + + /// + /// Model of message consumption. This only applies to consumer spans. + /// + public const string AttributeMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model"; + + /// + /// The delay time level for delay message, which determines the message delay time. + /// + public const string AttributeMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level"; + + /// + /// The timestamp in milliseconds that the delay message is expected to be delivered to consumer. + /// + public const string AttributeMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp"; + + /// + /// It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. + /// + public const string AttributeMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group"; + + /// + /// Key(s) of message, another way to mark message besides message id. + /// + public const string AttributeMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys"; + + /// + /// The secondary classifier of message besides topic. + /// + public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag"; + + /// + /// Type of message. + /// + public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type"; + + /// + /// Namespace of RocketMQ resources, resources in different namespaces are individual. + /// + public const string AttributeMessagingRocketmqNamespace = "messaging.rocketmq.namespace"; + + /// + /// The name of the subscription in the topic messages are received from. + /// + public const string AttributeMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name"; + + /// + /// Describes the settlement type. + /// + public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status"; + + /// + /// Number of deliveries that have been attempted for this message. + /// + public const string AttributeMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count"; + + /// + /// The UTC epoch seconds at which the message has been accepted and stored in the entity. + /// + public const string AttributeMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time"; + + /// + /// An identifier for the messaging system being used. See below for a list of well-known identifiers. + /// + public const string AttributeMessagingSystem = "messaging.system"; + + /// + /// A string identifying the kind of messaging operation. + /// + public static class MessagingOperationValues + { + /// + /// One or more messages are provided for publishing to an intermediary. If a single message is published, the context of the "Publish" span can be used as the creation context and no "Create" span needs to be created. + /// + public const string Publish = "publish"; + + /// + /// A message is created. "Create" spans always refer to a single message and are used to provide a unique creation context for messages in batch publishing scenarios. + /// + public const string Create = "create"; + + /// + /// One or more messages are requested by a consumer. This operation refers to pull-based scenarios, where consumers explicitly call methods of messaging SDKs to receive messages. + /// + public const string Receive = "receive"; + + /// + /// One or more messages are delivered to or processed by a consumer. + /// + public const string Deliver = "process"; + + /// + /// One or more messages are settled. + /// + public const string Settle = "settle"; + } + + /// + /// Model of message consumption. This only applies to consumer spans. + /// + public static class MessagingRocketmqConsumptionModelValues + { + /// + /// Clustering consumption model. + /// + public const string Clustering = "clustering"; + + /// + /// Broadcasting consumption model. + /// + public const string Broadcasting = "broadcasting"; + } + + /// + /// Type of message. + /// + public static class MessagingRocketmqMessageTypeValues + { + /// + /// Normal message. + /// + public const string Normal = "normal"; + + /// + /// FIFO message. + /// + public const string Fifo = "fifo"; + + /// + /// Delay message. + /// + public const string Delay = "delay"; + + /// + /// Transaction message. + /// + public const string Transaction = "transaction"; + } + + /// + /// Describes the settlement type. + /// + public static class MessagingServicebusDispositionStatusValues + { + /// + /// Message is completed. + /// + public const string Complete = "complete"; + + /// + /// Message is abandoned. + /// + public const string Abandon = "abandon"; + + /// + /// Message is sent to dead letter queue. + /// + public const string DeadLetter = "dead_letter"; + + /// + /// Message is deferred. + /// + public const string Defer = "defer"; + } + + /// + /// An identifier for the messaging system being used. See below for a list of well-known identifiers. + /// + public static class MessagingSystemValues + { + /// + /// Apache ActiveMQ. + /// + public const string Activemq = "activemq"; + + /// + /// Amazon Simple Queue Service (SQS). + /// + public const string AwsSqs = "aws_sqs"; + + /// + /// Azure Event Grid. + /// + public const string Eventgrid = "eventgrid"; + + /// + /// Azure Event Hubs. + /// + public const string Eventhubs = "eventhubs"; + + /// + /// Azure Service Bus. + /// + public const string Servicebus = "servicebus"; + + /// + /// Google Cloud Pub/Sub. + /// + public const string GcpPubsub = "gcp_pubsub"; + + /// + /// Java Message Service. + /// + public const string Jms = "jms"; + + /// + /// Apache Kafka. + /// + public const string Kafka = "kafka"; + + /// + /// RabbitMQ. + /// + public const string Rabbitmq = "rabbitmq"; + + /// + /// Apache RocketMQ. + /// + public const string Rocketmq = "rocketmq"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs new file mode 100644 index 0000000000..70ea82c16e --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs @@ -0,0 +1,146 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class NetAttributes +{ + /// + /// Deprecated, use server.address. + /// + [Obsolete("Replaced by `server.address`")] + public const string AttributeNetHostName = "net.host.name"; + + /// + /// Deprecated, use server.port. + /// + [Obsolete("Replaced by `server.port`")] + public const string AttributeNetHostPort = "net.host.port"; + + /// + /// Deprecated, use server.address on client spans and client.address on server spans. + /// + [Obsolete("Replaced by `server.address` on client spans and `client.address` on server spans")] + public const string AttributeNetPeerName = "net.peer.name"; + + /// + /// Deprecated, use server.port on client spans and client.port on server spans. + /// + [Obsolete("Replaced by `server.port` on client spans and `client.port` on server spans")] + public const string AttributeNetPeerPort = "net.peer.port"; + + /// + /// Deprecated, use network.protocol.name. + /// + [Obsolete("Replaced by `network.protocol.name`")] + public const string AttributeNetProtocolName = "net.protocol.name"; + + /// + /// Deprecated, use network.protocol.version. + /// + [Obsolete("Replaced by `network.protocol.version`")] + public const string AttributeNetProtocolVersion = "net.protocol.version"; + + /// + /// Deprecated, use network.transport and network.type. + /// + [Obsolete("Split to `network.transport` and `network.type`")] + public const string AttributeNetSockFamily = "net.sock.family"; + + /// + /// Deprecated, use network.local.address. + /// + [Obsolete("Replaced by `network.local.address`")] + public const string AttributeNetSockHostAddr = "net.sock.host.addr"; + + /// + /// Deprecated, use network.local.port. + /// + [Obsolete("Replaced by `network.local.port`")] + public const string AttributeNetSockHostPort = "net.sock.host.port"; + + /// + /// Deprecated, use network.peer.address. + /// + [Obsolete("Replaced by `network.peer.address`")] + public const string AttributeNetSockPeerAddr = "net.sock.peer.addr"; + + /// + /// Deprecated, no replacement at this time. + /// + [Obsolete("Removed")] + public const string AttributeNetSockPeerName = "net.sock.peer.name"; + + /// + /// Deprecated, use network.peer.port. + /// + [Obsolete("Replaced by `network.peer.port`")] + public const string AttributeNetSockPeerPort = "net.sock.peer.port"; + + /// + /// Deprecated, use network.transport. + /// + [Obsolete("Replaced by `network.transport`")] + public const string AttributeNetTransport = "net.transport"; + + /// + /// Deprecated, use network.transport and network.type. + /// + public static class NetSockFamilyValues + { + /// + /// IPv4 address. + /// + public const string Inet = "inet"; + + /// + /// IPv6 address. + /// + public const string Inet6 = "inet6"; + + /// + /// Unix domain socket path. + /// + public const string Unix = "unix"; + } + + /// + /// Deprecated, use network.transport. + /// + public static class NetTransportValues + { + /// + /// ip_tcp. + /// + public const string IpTcp = "ip_tcp"; + + /// + /// ip_udp. + /// + public const string IpUdp = "ip_udp"; + + /// + /// Named or anonymous pipe. + /// + public const string Pipe = "pipe"; + + /// + /// In-process communication. + /// + public const string Inproc = "inproc"; + + /// + /// Something else (non IP-based). + /// + public const string Other = "other"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs new file mode 100644 index 0000000000..77e6914a6c --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs @@ -0,0 +1,305 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class NetworkAttributes +{ + /// + /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + /// + public const string AttributeNetworkCarrierIcc = "network.carrier.icc"; + + /// + /// The mobile carrier country code. + /// + public const string AttributeNetworkCarrierMcc = "network.carrier.mcc"; + + /// + /// The mobile carrier network code. + /// + public const string AttributeNetworkCarrierMnc = "network.carrier.mnc"; + + /// + /// The name of the mobile carrier. + /// + public const string AttributeNetworkCarrierName = "network.carrier.name"; + + /// + /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + /// + public const string AttributeNetworkConnectionSubtype = "network.connection.subtype"; + + /// + /// The internet connection type. + /// + public const string AttributeNetworkConnectionType = "network.connection.type"; + + /// + /// The network IO operation direction. + /// + public const string AttributeNetworkIoDirection = "network.io.direction"; + + /// + /// Local address of the network connection - IP address or Unix domain socket name. + /// + public const string AttributeNetworkLocalAddress = "network.local.address"; + + /// + /// Local port number of the network connection. + /// + public const string AttributeNetworkLocalPort = "network.local.port"; + + /// + /// Peer address of the network connection - IP address or Unix domain socket name. + /// + public const string AttributeNetworkPeerAddress = "network.peer.address"; + + /// + /// Peer port number of the network connection. + /// + public const string AttributeNetworkPeerPort = "network.peer.port"; + + /// + /// OSI application layer or non-OSI equivalent. + /// + /// + /// The value SHOULD be normalized to lowercase. + /// + public const string AttributeNetworkProtocolName = "network.protocol.name"; + + /// + /// The actual version of the protocol used for network communication. + /// + /// + /// If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. + /// + public const string AttributeNetworkProtocolVersion = "network.protocol.version"; + + /// + /// OSI transport layer or inter-process communication method. + /// + /// + /// The value SHOULD be normalized to lowercase.Consider always setting the transport when setting a port number, since + /// a port number is ambiguous without knowing the transport. For example + /// different processes could be listening on TCP port 12345 and UDP port 12345. + /// + public const string AttributeNetworkTransport = "network.transport"; + + /// + /// OSI network layer or non-OSI equivalent. + /// + /// + /// The value SHOULD be normalized to lowercase. + /// + public const string AttributeNetworkType = "network.type"; + + /// + /// This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. + /// + public static class NetworkConnectionSubtypeValues + { + /// + /// GPRS. + /// + public const string Gprs = "gprs"; + + /// + /// EDGE. + /// + public const string Edge = "edge"; + + /// + /// UMTS. + /// + public const string Umts = "umts"; + + /// + /// CDMA. + /// + public const string Cdma = "cdma"; + + /// + /// EVDO Rel. 0. + /// + public const string Evdo0 = "evdo_0"; + + /// + /// EVDO Rev. A. + /// + public const string EvdoA = "evdo_a"; + + /// + /// CDMA2000 1XRTT. + /// + public const string Cdma20001xrtt = "cdma2000_1xrtt"; + + /// + /// HSDPA. + /// + public const string Hsdpa = "hsdpa"; + + /// + /// HSUPA. + /// + public const string Hsupa = "hsupa"; + + /// + /// HSPA. + /// + public const string Hspa = "hspa"; + + /// + /// IDEN. + /// + public const string Iden = "iden"; + + /// + /// EVDO Rev. B. + /// + public const string EvdoB = "evdo_b"; + + /// + /// LTE. + /// + public const string Lte = "lte"; + + /// + /// EHRPD. + /// + public const string Ehrpd = "ehrpd"; + + /// + /// HSPAP. + /// + public const string Hspap = "hspap"; + + /// + /// GSM. + /// + public const string Gsm = "gsm"; + + /// + /// TD-SCDMA. + /// + public const string TdScdma = "td_scdma"; + + /// + /// IWLAN. + /// + public const string Iwlan = "iwlan"; + + /// + /// 5G NR (New Radio). + /// + public const string Nr = "nr"; + + /// + /// 5G NRNSA (New Radio Non-Standalone). + /// + public const string Nrnsa = "nrnsa"; + + /// + /// LTE CA. + /// + public const string LteCa = "lte_ca"; + } + + /// + /// The internet connection type. + /// + public static class NetworkConnectionTypeValues + { + /// + /// wifi. + /// + public const string Wifi = "wifi"; + + /// + /// wired. + /// + public const string Wired = "wired"; + + /// + /// cell. + /// + public const string Cell = "cell"; + + /// + /// unavailable. + /// + public const string Unavailable = "unavailable"; + + /// + /// unknown. + /// + public const string Unknown = "unknown"; + } + + /// + /// The network IO operation direction. + /// + public static class NetworkIoDirectionValues + { + /// + /// transmit. + /// + public const string Transmit = "transmit"; + + /// + /// receive. + /// + public const string Receive = "receive"; + } + + /// + /// OSI transport layer or inter-process communication method. + /// + public static class NetworkTransportValues + { + /// + /// TCP. + /// + public const string Tcp = "tcp"; + + /// + /// UDP. + /// + public const string Udp = "udp"; + + /// + /// Named or anonymous pipe. + /// + public const string Pipe = "pipe"; + + /// + /// Unix domain socket. + /// + public const string Unix = "unix"; + } + + /// + /// OSI network layer or non-OSI equivalent. + /// + public static class NetworkTypeValues + { + /// + /// IPv4. + /// + public const string Ipv4 = "ipv4"; + + /// + /// IPv6. + /// + public const string Ipv6 = "ipv6"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs new file mode 100644 index 0000000000..7168299a0e --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs @@ -0,0 +1,25 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class OciAttributes +{ + /// + /// The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. + /// + /// + /// Follows OCI Image Manifest Specification, and specifically the Digest property. + /// An example can be found in Example Image Manifest. + /// + public const string AttributeOciManifestDigest = "oci.manifest.digest"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs new file mode 100644 index 0000000000..fbad4c94c8 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs @@ -0,0 +1,40 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class OpentracingAttributes +{ + /// + /// Parent-child Reference type. + /// + /// + /// The causal relationship between a child Span and a parent Span. + /// + public const string AttributeOpentracingRefType = "opentracing.ref_type"; + + /// + /// Parent-child Reference type. + /// + public static class OpentracingRefTypeValues + { + /// + /// The parent Span depends on the child Span in some capacity. + /// + public const string ChildOf = "child_of"; + + /// + /// The parent Span doesn't depend in any way on the result of the child Span. + /// + public const string FollowsFrom = "follows_from"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs new file mode 100644 index 0000000000..fd9e81d555 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs @@ -0,0 +1,102 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class OsAttributes +{ + /// + /// Unique identifier for a particular build or compilation of the operating system. + /// + public const string AttributeOsBuildId = "os.build_id"; + + /// + /// Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands. + /// + public const string AttributeOsDescription = "os.description"; + + /// + /// Human readable operating system name. + /// + public const string AttributeOsName = "os.name"; + + /// + /// The operating system type. + /// + public const string AttributeOsType = "os.type"; + + /// + /// The version string of the operating system as defined in Version Attributes. + /// + public const string AttributeOsVersion = "os.version"; + + /// + /// The operating system type. + /// + public static class OsTypeValues + { + /// + /// Microsoft Windows. + /// + public const string Windows = "windows"; + + /// + /// Linux. + /// + public const string Linux = "linux"; + + /// + /// Apple Darwin. + /// + public const string Darwin = "darwin"; + + /// + /// FreeBSD. + /// + public const string Freebsd = "freebsd"; + + /// + /// NetBSD. + /// + public const string Netbsd = "netbsd"; + + /// + /// OpenBSD. + /// + public const string Openbsd = "openbsd"; + + /// + /// DragonFly BSD. + /// + public const string Dragonflybsd = "dragonflybsd"; + + /// + /// HP-UX (Hewlett Packard Unix). + /// + public const string Hpux = "hpux"; + + /// + /// AIX (Advanced Interactive eXecutive). + /// + public const string Aix = "aix"; + + /// + /// SunOS, Oracle Solaris. + /// + public const string Solaris = "solaris"; + + /// + /// IBM z/OS. + /// + public const string ZOs = "z_os"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs new file mode 100644 index 0000000000..03c76f69ae --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs @@ -0,0 +1,64 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class OtelAttributes +{ + /// + /// None. + /// + [Obsolete("use the `otel.scope.name` attribute")] + public const string AttributeOtelLibraryName = "otel.library.name"; + + /// + /// None. + /// + [Obsolete("use the `otel.scope.version` attribute")] + public const string AttributeOtelLibraryVersion = "otel.library.version"; + + /// + /// The name of the instrumentation scope - (InstrumentationScope.Name in OTLP). + /// + public const string AttributeOtelScopeName = "otel.scope.name"; + + /// + /// The version of the instrumentation scope - (InstrumentationScope.Version in OTLP). + /// + public const string AttributeOtelScopeVersion = "otel.scope.version"; + + /// + /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + /// + public const string AttributeOtelStatusCode = "otel.status_code"; + + /// + /// Description of the Status if it has a value, otherwise not set. + /// + public const string AttributeOtelStatusDescription = "otel.status_description"; + + /// + /// Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + /// + public static class OtelStatusCodeValues + { + /// + /// The operation has been validated by an Application developer or Operator to have completed successfully. + /// + public const string Ok = "OK"; + + /// + /// The operation contains an error. + /// + public const string Error = "ERROR"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs new file mode 100644 index 0000000000..e489e2a8e0 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs @@ -0,0 +1,37 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class OtherAttributes +{ + /// + /// The state of a connection in the pool. + /// + public const string AttributeState = "state"; + + /// + /// The state of a connection in the pool. + /// + public static class StateValues + { + /// + /// idle. + /// + public const string Idle = "idle"; + + /// + /// used. + /// + public const string Used = "used"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs new file mode 100644 index 0000000000..d186722a12 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs @@ -0,0 +1,21 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class PeerAttributes +{ + /// + /// The service.name of the remote service. SHOULD be equal to the actual service.name resource attribute of the remote service if any. + /// + public const string AttributePeerService = "peer.service"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs new file mode 100644 index 0000000000..3e8f9d2dd6 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs @@ -0,0 +1,21 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class PoolAttributes +{ + /// + /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation should use a combination of server.address and server.port attributes formatted as server.address:server.port. + /// + public const string AttributePoolName = "pool.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs new file mode 100644 index 0000000000..4c9870fdd6 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs @@ -0,0 +1,139 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ProcessAttributes +{ + /// + /// The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in proc/[pid]/cmdline. On Windows, can be set to the first parameter extracted from GetCommandLineW. + /// + public const string AttributeProcessCommand = "process.command"; + + /// + /// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from proc/[pid]/cmdline. For libc-based executables, this would be the full argv vector passed to main. + /// + public const string AttributeProcessCommandArgs = "process.command_args"; + + /// + /// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of GetCommandLineW. Do not set this if you have to assemble it just for monitoring; use process.command_args instead. + /// + public const string AttributeProcessCommandLine = "process.command_line"; + + /// + /// Specifies whether the context switches for this data point were voluntary or involuntary. + /// + public const string AttributeProcessContextSwitchType = "process.context_switch_type"; + + /// + /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels. + /// + public const string AttributeProcessCpuState = "process.cpu.state"; + + /// + /// The name of the process executable. On Linux based systems, can be set to the Name in proc/[pid]/status. On Windows, can be set to the base name of GetProcessImageFileNameW. + /// + public const string AttributeProcessExecutableName = "process.executable.name"; + + /// + /// The full path to the process executable. On Linux based systems, can be set to the target of proc/[pid]/exe. On Windows, can be set to the result of GetProcessImageFileNameW. + /// + public const string AttributeProcessExecutablePath = "process.executable.path"; + + /// + /// The username of the user that owns the process. + /// + public const string AttributeProcessOwner = "process.owner"; + + /// + /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults. + /// + public const string AttributeProcessPagingFaultType = "process.paging.fault_type"; + + /// + /// Parent Process identifier (PPID). + /// + public const string AttributeProcessParentPid = "process.parent_pid"; + + /// + /// Process identifier (PID). + /// + public const string AttributeProcessPid = "process.pid"; + + /// + /// An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. + /// + public const string AttributeProcessRuntimeDescription = "process.runtime.description"; + + /// + /// The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. + /// + public const string AttributeProcessRuntimeName = "process.runtime.name"; + + /// + /// The version of the runtime of this process, as returned by the runtime without modification. + /// + public const string AttributeProcessRuntimeVersion = "process.runtime.version"; + + /// + /// Specifies whether the context switches for this data point were voluntary or involuntary. + /// + public static class ProcessContextSwitchTypeValues + { + /// + /// voluntary. + /// + public const string Voluntary = "voluntary"; + + /// + /// involuntary. + /// + public const string Involuntary = "involuntary"; + } + + /// + /// The CPU state for this data point. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels. + /// + public static class ProcessCpuStateValues + { + /// + /// system. + /// + public const string System = "system"; + + /// + /// user. + /// + public const string User = "user"; + + /// + /// wait. + /// + public const string Wait = "wait"; + } + + /// + /// The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults. + /// + public static class ProcessPagingFaultTypeValues + { + /// + /// major. + /// + public const string Major = "major"; + + /// + /// minor. + /// + public const string Minor = "minor"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs new file mode 100644 index 0000000000..40f96ac2f9 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs @@ -0,0 +1,307 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class RpcAttributes +{ + /// + /// The error codes of the Connect request. Error codes are always string values. + /// + public const string AttributeRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code"; + + /// + /// Connect request metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// + public const string AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata"; + + /// + /// Connect response metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// + public const string AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata"; + + /// + /// gRPC request metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// + public const string AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata"; + + /// + /// gRPC response metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + /// + /// + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information. + /// + public const string AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata"; + + /// + /// The numeric status code of the gRPC request. + /// + public const string AttributeRpcGrpcStatusCode = "rpc.grpc.status_code"; + + /// + /// error.code property of response if it is an error response. + /// + public const string AttributeRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code"; + + /// + /// error.message property of response if it is an error response. + /// + public const string AttributeRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message"; + + /// + /// id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification. + /// + public const string AttributeRpcJsonrpcRequestId = "rpc.jsonrpc.request_id"; + + /// + /// Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted. + /// + public const string AttributeRpcJsonrpcVersion = "rpc.jsonrpc.version"; + + /// + /// The name of the (logical) method being called, must be equal to the $method part in the span name. + /// + /// + /// This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The code.function attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side). + /// + public const string AttributeRpcMethod = "rpc.method"; + + /// + /// The full (logical) name of the service being called, including its package name, if applicable. + /// + /// + /// This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The code.namespace attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side). + /// + public const string AttributeRpcService = "rpc.service"; + + /// + /// A string identifying the remoting system. See below for a list of well-known identifiers. + /// + public const string AttributeRpcSystem = "rpc.system"; + + /// + /// The error codes of the Connect request. Error codes are always string values. + /// + public static class RpcConnectRpcErrorCodeValues + { + /// + /// cancelled. + /// + public const string Cancelled = "cancelled"; + + /// + /// unknown. + /// + public const string Unknown = "unknown"; + + /// + /// invalid_argument. + /// + public const string InvalidArgument = "invalid_argument"; + + /// + /// deadline_exceeded. + /// + public const string DeadlineExceeded = "deadline_exceeded"; + + /// + /// not_found. + /// + public const string NotFound = "not_found"; + + /// + /// already_exists. + /// + public const string AlreadyExists = "already_exists"; + + /// + /// permission_denied. + /// + public const string PermissionDenied = "permission_denied"; + + /// + /// resource_exhausted. + /// + public const string ResourceExhausted = "resource_exhausted"; + + /// + /// failed_precondition. + /// + public const string FailedPrecondition = "failed_precondition"; + + /// + /// aborted. + /// + public const string Aborted = "aborted"; + + /// + /// out_of_range. + /// + public const string OutOfRange = "out_of_range"; + + /// + /// unimplemented. + /// + public const string Unimplemented = "unimplemented"; + + /// + /// internal. + /// + public const string Internal = "internal"; + + /// + /// unavailable. + /// + public const string Unavailable = "unavailable"; + + /// + /// data_loss. + /// + public const string DataLoss = "data_loss"; + + /// + /// unauthenticated. + /// + public const string Unauthenticated = "unauthenticated"; + } + + /// + /// The numeric status code of the gRPC request. + /// + public static class RpcGrpcStatusCodeValues + { + /// + /// OK. + /// + public const int Ok = 0; + + /// + /// CANCELLED. + /// + public const int Cancelled = 1; + + /// + /// UNKNOWN. + /// + public const int Unknown = 2; + + /// + /// INVALID_ARGUMENT. + /// + public const int InvalidArgument = 3; + + /// + /// DEADLINE_EXCEEDED. + /// + public const int DeadlineExceeded = 4; + + /// + /// NOT_FOUND. + /// + public const int NotFound = 5; + + /// + /// ALREADY_EXISTS. + /// + public const int AlreadyExists = 6; + + /// + /// PERMISSION_DENIED. + /// + public const int PermissionDenied = 7; + + /// + /// RESOURCE_EXHAUSTED. + /// + public const int ResourceExhausted = 8; + + /// + /// FAILED_PRECONDITION. + /// + public const int FailedPrecondition = 9; + + /// + /// ABORTED. + /// + public const int Aborted = 10; + + /// + /// OUT_OF_RANGE. + /// + public const int OutOfRange = 11; + + /// + /// UNIMPLEMENTED. + /// + public const int Unimplemented = 12; + + /// + /// INTERNAL. + /// + public const int Internal = 13; + + /// + /// UNAVAILABLE. + /// + public const int Unavailable = 14; + + /// + /// DATA_LOSS. + /// + public const int DataLoss = 15; + + /// + /// UNAUTHENTICATED. + /// + public const int Unauthenticated = 16; + } + + /// + /// A string identifying the remoting system. See below for a list of well-known identifiers. + /// + public static class RpcSystemValues + { + /// + /// gRPC. + /// + public const string Grpc = "grpc"; + + /// + /// Java RMI. + /// + public const string JavaRmi = "java_rmi"; + + /// + /// .NET WCF. + /// + public const string DotnetWcf = "dotnet_wcf"; + + /// + /// Apache Dubbo. + /// + public const string ApacheDubbo = "apache_dubbo"; + + /// + /// Connect RPC. + /// + public const string ConnectRpc = "connect_rpc"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs new file mode 100644 index 0000000000..b31282b237 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ServerAttributes +{ + /// + /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// + /// + /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeServerAddress = "server.address"; + + /// + /// Server port number. + /// + /// + /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeServerPort = "server.port"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs new file mode 100644 index 0000000000..b2dfc48164 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs @@ -0,0 +1,62 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ServiceAttributes +{ + /// + /// The string ID of the service instance. + /// + /// + /// MUST be unique for each instance of the same service.namespace,service.name pair (in other words + /// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to + /// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled + /// service).Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC + /// 4122 UUID, but are free to use an inherent unique ID as the source of + /// this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and + /// SHOULD use the following UUID as the namespace: 4d63009a-8d0f-11ee-aad7-4c796ed8e320.UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is + /// needed. Similar to what can be seen in the man page for the + /// /etc/machine-id file, the underlying + /// data, such as pod name and namespace should be treated as confidential, being the user&#39;s choice to expose it + /// or not via another resource attribute.For applications running behind an application server (like unicorn), we do not recommend using one identifier + /// for all processes participating in the application. Instead, it&#39;s recommended each division (e.g. a worker + /// thread in unicorn) to have its own instance.id.It&#39;s not recommended for a Collector to set service.instance.id if it can&#39;t unambiguously determine the + /// service instance that is generating that telemetry. For instance, creating an UUID based on pod.name will + /// likely be wrong, as the Collector might not know from which container within that pod the telemetry originated. + /// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance + /// for that telemetry. This is typically the case for scraping receivers, as they know the target address and + /// port. + /// + public const string AttributeServiceInstanceId = "service.instance.id"; + + /// + /// Logical name of the service. + /// + /// + /// MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to unknown_service: concatenated with process.executable.name, e.g. unknown_service:bash. If process.executable.name is not available, the value MUST be set to unknown_service. + /// + public const string AttributeServiceName = "service.name"; + + /// + /// A namespace for service.name. + /// + /// + /// A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. service.name is expected to be unique within the same namespace. If service.namespace is not specified in the Resource then service.name is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace. + /// + public const string AttributeServiceNamespace = "service.namespace"; + + /// + /// The version string of the service API or implementation. The format is not defined by these conventions. + /// + public const string AttributeServiceVersion = "service.version"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs new file mode 100644 index 0000000000..7f6ff71fdb --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs @@ -0,0 +1,26 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class SessionAttributes +{ + /// + /// A unique id to identify a session. + /// + public const string AttributeSessionId = "session.id"; + + /// + /// The previous session.id for this user, when known. + /// + public const string AttributeSessionPreviousId = "session.previous_id"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs new file mode 100644 index 0000000000..dd937d7004 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs @@ -0,0 +1,68 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class SignalrAttributes +{ + /// + /// SignalR HTTP connection closure status. + /// + public const string AttributeSignalrConnectionStatus = "signalr.connection.status"; + + /// + /// SignalR transport type. + /// + public const string AttributeSignalrTransport = "signalr.transport"; + + /// + /// SignalR HTTP connection closure status. + /// + public static class SignalrConnectionStatusValues + { + /// + /// The connection was closed normally. + /// + public const string NormalClosure = "normal_closure"; + + /// + /// The connection was closed due to a timeout. + /// + public const string Timeout = "timeout"; + + /// + /// The connection was closed because the app is shutting down. + /// + public const string AppShutdown = "app_shutdown"; + } + + /// + /// SignalR transport type. + /// + public static class SignalrTransportValues + { + /// + /// ServerSentEvents protocol. + /// + public const string ServerSentEvents = "server_sent_events"; + + /// + /// LongPolling protocol. + /// + public const string LongPolling = "long_polling"; + + /// + /// WebSockets protocol. + /// + public const string WebSockets = "web_sockets"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs new file mode 100644 index 0000000000..5c24ee0440 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs @@ -0,0 +1,29 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class SourceAttributes +{ + /// + /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// + /// + /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it&#39;s available. + /// + public const string AttributeSourceAddress = "source.address"; + + /// + /// Source port number. + /// + public const string AttributeSourcePort = "source.port"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs new file mode 100644 index 0000000000..3270d58b22 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs @@ -0,0 +1,382 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class SystemAttributes +{ + /// + /// The logical CPU number [0..n-1]. + /// + public const string AttributeSystemCpuLogicalNumber = "system.cpu.logical_number"; + + /// + /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels. + /// + public const string AttributeSystemCpuState = "system.cpu.state"; + + /// + /// The device identifier. + /// + public const string AttributeSystemDevice = "system.device"; + + /// + /// The filesystem mode. + /// + public const string AttributeSystemFilesystemMode = "system.filesystem.mode"; + + /// + /// The filesystem mount path. + /// + public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint"; + + /// + /// The filesystem state. + /// + public const string AttributeSystemFilesystemState = "system.filesystem.state"; + + /// + /// The filesystem type. + /// + public const string AttributeSystemFilesystemType = "system.filesystem.type"; + + /// + /// The memory state. + /// + public const string AttributeSystemMemoryState = "system.memory.state"; + + /// + /// A stateless protocol MUST NOT set this attribute. + /// + public const string AttributeSystemNetworkState = "system.network.state"; + + /// + /// The paging access direction. + /// + public const string AttributeSystemPagingDirection = "system.paging.direction"; + + /// + /// The memory paging state. + /// + public const string AttributeSystemPagingState = "system.paging.state"; + + /// + /// The memory paging type. + /// + public const string AttributeSystemPagingType = "system.paging.type"; + + /// + /// The process state, e.g., Linux Process State Codes. + /// + public const string AttributeSystemProcessStatus = "system.process.status"; + + /// + /// Deprecated, use system.process.status instead. + /// + [Obsolete("Replaced by `system.process.status`")] + public const string AttributeSystemProcessesStatus = "system.processes.status"; + + /// + /// The CPU state for this data point. A system's CPU SHOULD be characterized either by data points with no state labels, or only data points with state labels. + /// + public static class SystemCpuStateValues + { + /// + /// user. + /// + public const string User = "user"; + + /// + /// system. + /// + public const string System = "system"; + + /// + /// nice. + /// + public const string Nice = "nice"; + + /// + /// idle. + /// + public const string Idle = "idle"; + + /// + /// iowait. + /// + public const string Iowait = "iowait"; + + /// + /// interrupt. + /// + public const string Interrupt = "interrupt"; + + /// + /// steal. + /// + public const string Steal = "steal"; + } + + /// + /// The filesystem state. + /// + public static class SystemFilesystemStateValues + { + /// + /// used. + /// + public const string Used = "used"; + + /// + /// free. + /// + public const string Free = "free"; + + /// + /// reserved. + /// + public const string Reserved = "reserved"; + } + + /// + /// The filesystem type. + /// + public static class SystemFilesystemTypeValues + { + /// + /// fat32. + /// + public const string Fat32 = "fat32"; + + /// + /// exfat. + /// + public const string Exfat = "exfat"; + + /// + /// ntfs. + /// + public const string Ntfs = "ntfs"; + + /// + /// refs. + /// + public const string Refs = "refs"; + + /// + /// hfsplus. + /// + public const string Hfsplus = "hfsplus"; + + /// + /// ext4. + /// + public const string Ext4 = "ext4"; + } + + /// + /// The memory state. + /// + public static class SystemMemoryStateValues + { + /// + /// used. + /// + public const string Used = "used"; + + /// + /// free. + /// + public const string Free = "free"; + + /// + /// shared. + /// + public const string Shared = "shared"; + + /// + /// buffers. + /// + public const string Buffers = "buffers"; + + /// + /// cached. + /// + public const string Cached = "cached"; + } + + /// + /// A stateless protocol MUST NOT set this attribute. + /// + public static class SystemNetworkStateValues + { + /// + /// close. + /// + public const string Close = "close"; + + /// + /// close_wait. + /// + public const string CloseWait = "close_wait"; + + /// + /// closing. + /// + public const string Closing = "closing"; + + /// + /// delete. + /// + public const string Delete = "delete"; + + /// + /// established. + /// + public const string Established = "established"; + + /// + /// fin_wait_1. + /// + public const string FinWait1 = "fin_wait_1"; + + /// + /// fin_wait_2. + /// + public const string FinWait2 = "fin_wait_2"; + + /// + /// last_ack. + /// + public const string LastAck = "last_ack"; + + /// + /// listen. + /// + public const string Listen = "listen"; + + /// + /// syn_recv. + /// + public const string SynRecv = "syn_recv"; + + /// + /// syn_sent. + /// + public const string SynSent = "syn_sent"; + + /// + /// time_wait. + /// + public const string TimeWait = "time_wait"; + } + + /// + /// The paging access direction. + /// + public static class SystemPagingDirectionValues + { + /// + /// in. + /// + public const string In = "in"; + + /// + /// out. + /// + public const string Out = "out"; + } + + /// + /// The memory paging state. + /// + public static class SystemPagingStateValues + { + /// + /// used. + /// + public const string Used = "used"; + + /// + /// free. + /// + public const string Free = "free"; + } + + /// + /// The memory paging type. + /// + public static class SystemPagingTypeValues + { + /// + /// major. + /// + public const string Major = "major"; + + /// + /// minor. + /// + public const string Minor = "minor"; + } + + /// + /// The process state, e.g., Linux Process State Codes. + /// + public static class SystemProcessStatusValues + { + /// + /// running. + /// + public const string Running = "running"; + + /// + /// sleeping. + /// + public const string Sleeping = "sleeping"; + + /// + /// stopped. + /// + public const string Stopped = "stopped"; + + /// + /// defunct. + /// + public const string Defunct = "defunct"; + } + + /// + /// Deprecated, use system.process.status instead. + /// + public static class SystemProcessesStatusValues + { + /// + /// running. + /// + public const string Running = "running"; + + /// + /// sleeping. + /// + public const string Sleeping = "sleeping"; + + /// + /// stopped. + /// + public const string Stopped = "stopped"; + + /// + /// defunct. + /// + public const string Defunct = "defunct"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs new file mode 100644 index 0000000000..f08ca9fd85 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs @@ -0,0 +1,119 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class TelemetryAttributes +{ + /// + /// The name of the auto instrumentation agent or distribution, if used. + /// + /// + /// Official auto instrumentation agents and distributions SHOULD set the telemetry.distro.name attribute to + /// a string starting with opentelemetry-, e.g. opentelemetry-java-instrumentation. + /// + public const string AttributeTelemetryDistroName = "telemetry.distro.name"; + + /// + /// The version string of the auto instrumentation agent or distribution, if used. + /// + public const string AttributeTelemetryDistroVersion = "telemetry.distro.version"; + + /// + /// The language of the telemetry SDK. + /// + public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language"; + + /// + /// The name of the telemetry SDK as defined above. + /// + /// + /// The OpenTelemetry SDK MUST set the telemetry.sdk.name attribute to opentelemetry. + /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the + /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK&#39;s main entry point + /// or another suitable identifier depending on the language. + /// The identifier opentelemetry is reserved and MUST NOT be used in this case. + /// All custom identifiers SHOULD be stable across different versions of an implementation. + /// + public const string AttributeTelemetrySdkName = "telemetry.sdk.name"; + + /// + /// The version string of the telemetry SDK. + /// + public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version"; + + /// + /// The language of the telemetry SDK. + /// + public static class TelemetrySdkLanguageValues + { + /// + /// cpp. + /// + public const string Cpp = "cpp"; + + /// + /// dotnet. + /// + public const string Dotnet = "dotnet"; + + /// + /// erlang. + /// + public const string Erlang = "erlang"; + + /// + /// go. + /// + public const string Go = "go"; + + /// + /// java. + /// + public const string Java = "java"; + + /// + /// nodejs. + /// + public const string Nodejs = "nodejs"; + + /// + /// php. + /// + public const string Php = "php"; + + /// + /// python. + /// + public const string Python = "python"; + + /// + /// ruby. + /// + public const string Ruby = "ruby"; + + /// + /// rust. + /// + public const string Rust = "rust"; + + /// + /// swift. + /// + public const string Swift = "swift"; + + /// + /// webjs. + /// + public const string Webjs = "webjs"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs new file mode 100644 index 0000000000..82eb2c18ee --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs @@ -0,0 +1,26 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class ThreadAttributes +{ + /// + /// Current "managed" thread ID (as opposed to OS thread ID). + /// + public const string AttributeThreadId = "thread.id"; + + /// + /// Current thread name. + /// + public const string AttributeThreadName = "thread.name"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs new file mode 100644 index 0000000000..fbcac49fea --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs @@ -0,0 +1,180 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class TlsAttributes +{ + /// + /// String indicating the cipher used during the current connection. + /// + /// + /// The values allowed for tls.cipher MUST be one of the Descriptions of the registered TLS Cipher Suits. + /// + public const string AttributeTlsCipher = "tls.cipher"; + + /// + /// PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of client.certificate_chain since this value also exists in that list. + /// + public const string AttributeTlsClientCertificate = "tls.client.certificate"; + + /// + /// Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of client.certificate since that value should be the first certificate in the chain. + /// + public const string AttributeTlsClientCertificateChain = "tls.client.certificate_chain"; + + /// + /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsClientHashMd5 = "tls.client.hash.md5"; + + /// + /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsClientHashSha1 = "tls.client.hash.sha1"; + + /// + /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsClientHashSha256 = "tls.client.hash.sha256"; + + /// + /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client. + /// + public const string AttributeTlsClientIssuer = "tls.client.issuer"; + + /// + /// A hash that identifies clients based on how they perform an SSL/TLS handshake. + /// + public const string AttributeTlsClientJa3 = "tls.client.ja3"; + + /// + /// Date/Time indicating when client certificate is no longer considered valid. + /// + public const string AttributeTlsClientNotAfter = "tls.client.not_after"; + + /// + /// Date/Time indicating when client certificate is first considered valid. + /// + public const string AttributeTlsClientNotBefore = "tls.client.not_before"; + + /// + /// Also called an SNI, this tells the server which hostname to which the client is attempting to connect to. + /// + public const string AttributeTlsClientServerName = "tls.client.server_name"; + + /// + /// Distinguished name of subject of the x.509 certificate presented by the client. + /// + public const string AttributeTlsClientSubject = "tls.client.subject"; + + /// + /// Array of ciphers offered by the client during the client hello. + /// + public const string AttributeTlsClientSupportedCiphers = "tls.client.supported_ciphers"; + + /// + /// String indicating the curve used for the given cipher, when applicable. + /// + public const string AttributeTlsCurve = "tls.curve"; + + /// + /// Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel. + /// + public const string AttributeTlsEstablished = "tls.established"; + + /// + /// String indicating the protocol being tunneled. Per the values in the IANA registry, this string should be lower case. + /// + public const string AttributeTlsNextProtocol = "tls.next_protocol"; + + /// + /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version. + /// + public const string AttributeTlsProtocolName = "tls.protocol.name"; + + /// + /// Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol version. + /// + public const string AttributeTlsProtocolVersion = "tls.protocol.version"; + + /// + /// Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation. + /// + public const string AttributeTlsResumed = "tls.resumed"; + + /// + /// PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of server.certificate_chain since this value also exists in that list. + /// + public const string AttributeTlsServerCertificate = "tls.server.certificate"; + + /// + /// Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of server.certificate since that value should be the first certificate in the chain. + /// + public const string AttributeTlsServerCertificateChain = "tls.server.certificate_chain"; + + /// + /// Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsServerHashMd5 = "tls.server.hash.md5"; + + /// + /// Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsServerHashSha1 = "tls.server.hash.sha1"; + + /// + /// Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. + /// + public const string AttributeTlsServerHashSha256 = "tls.server.hash.sha256"; + + /// + /// Distinguished name of subject of the issuer of the x.509 certificate presented by the client. + /// + public const string AttributeTlsServerIssuer = "tls.server.issuer"; + + /// + /// A hash that identifies servers based on how they perform an SSL/TLS handshake. + /// + public const string AttributeTlsServerJa3s = "tls.server.ja3s"; + + /// + /// Date/Time indicating when server certificate is no longer considered valid. + /// + public const string AttributeTlsServerNotAfter = "tls.server.not_after"; + + /// + /// Date/Time indicating when server certificate is first considered valid. + /// + public const string AttributeTlsServerNotBefore = "tls.server.not_before"; + + /// + /// Distinguished name of subject of the x.509 certificate presented by the server. + /// + public const string AttributeTlsServerSubject = "tls.server.subject"; + + /// + /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version. + /// + public static class TlsProtocolNameValues + { + /// + /// ssl. + /// + public const string Ssl = "ssl"; + + /// + /// tls. + /// + public const string Tls = "tls"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs new file mode 100644 index 0000000000..7471d882e5 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs @@ -0,0 +1,106 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class UrlAttributes +{ + /// + /// Domain extracted from the url.full, such as "opentelemetry.io". + /// + /// + /// In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by [ and ], the [ and ] characters should also be captured in the domain field. + /// + public const string AttributeUrlDomain = "url.domain"; + + /// + /// The file extension extracted from the url.full, excluding the leading dot. + /// + /// + /// The file extension is only set if it exists, as not every url has a file extension. When the file name has multiple extensions example.tar.gz, only the last one should be captured gz, not tar.gz. + /// + public const string AttributeUrlExtension = "url.extension"; + + /// + /// The URI fragment component. + /// + public const string AttributeUrlFragment = "url.fragment"; + + /// + /// Absolute URL describing a network resource according to RFC3986. + /// + /// + /// For network calls, URL usually has scheme://host[:port][path][?query][#fragment] format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. + /// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute&#39;s value SHOULD be https://REDACTED:REDACTED@www.example.com/. + /// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it. + /// + public const string AttributeUrlFull = "url.full"; + + /// + /// Unmodified original URL as seen in the event source. + /// + /// + /// In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is often just represented as a path. This field is meant to represent the URL as it was observed, complete or not. + /// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute&#39;s value SHOULD remain the same. + /// + public const string AttributeUrlOriginal = "url.original"; + + /// + /// The URI path component. + /// + /// + /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it. + /// + public const string AttributeUrlPath = "url.path"; + + /// + /// Port extracted from the url.full. + /// + public const string AttributeUrlPort = "url.port"; + + /// + /// The URI query component. + /// + /// + /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it. + /// + public const string AttributeUrlQuery = "url.query"; + + /// + /// The highest registered url domain, stripped of the subdomain. + /// + /// + /// This value can be determined precisely with the public suffix list. For example, the registered domain for foo.example.com is example.com. Trying to approximate this by simply taking the last two labels will not work well for TLDs such as co.uk. + /// + public const string AttributeUrlRegisteredDomain = "url.registered_domain"; + + /// + /// The URI scheme component identifying the used protocol. + /// + public const string AttributeUrlScheme = "url.scheme"; + + /// + /// The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. + /// + /// + /// The subdomain portion of www.east.mydomain.co.uk is east. If the domain has multiple levels of subdomain, such as sub2.sub1.example.com, the subdomain field should contain sub2.sub1, with no trailing period. + /// + public const string AttributeUrlSubdomain = "url.subdomain"; + + /// + /// The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is com. + /// + /// + /// This value can be determined precisely with the public suffix list. + /// + public const string AttributeUrlTopLevelDomain = "url.top_level_domain"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs new file mode 100644 index 0000000000..86c35643f2 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs @@ -0,0 +1,37 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class UserAgentAttributes +{ + /// + /// Name of the user-agent extracted from original. Usually refers to the browser's name. + /// + /// + /// Example of extracting browser&#39;s name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version. + /// + public const string AttributeUserAgentName = "user_agent.name"; + + /// + /// Value of the HTTP User-Agent header sent by the client. + /// + public const string AttributeUserAgentOriginal = "user_agent.original"; + + /// + /// Version of the user-agent extracted from original. Usually refers to the browser's version. + /// + /// + /// Example of extracting browser&#39;s version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name. + /// + public const string AttributeUserAgentVersion = "user_agent.version"; +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs new file mode 100644 index 0000000000..1a3d5ca741 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class WebengineAttributes +{ + /// + /// Additional description of the web engine (e.g. detailed version and edition information). + /// + public const string AttributeWebengineDescription = "webengine.description"; + + /// + /// The name of the web engine. + /// + public const string AttributeWebengineName = "webengine.name"; + + /// + /// The version of the web engine. + /// + public const string AttributeWebengineVersion = "webengine.version"; +} diff --git a/src/OpenTelemetry.SemanticConventions/CHANGELOG.md b/src/OpenTelemetry.SemanticConventions/CHANGELOG.md new file mode 100644 index 0000000000..49e8b99e72 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +## Unreleased + +* Updated to `1.25.0` release of OpenTelemetry Semantic Conventions. + ([#1672](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1672)) + +* Moved from `https://github.com/open-telemetry/opentelemetry-dotnet/` to + `https://github.com/open-telemetry/opentelemetry-dotnet-contrib/`. diff --git a/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj new file mode 100644 index 0000000000..fe387d70e4 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/OpenTelemetry.SemanticConventions.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.0 + OpenTelemetry Semantic Conventions + $(PackageTags);semantic-conventions + SemanticConventions- + false + + + diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md new file mode 100644 index 0000000000..5c68066ab0 --- /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](https://github.com/open-telemetry/semantic-conventions) +defined by the OpenTelemetry specification. + +## Installation + +```shell +dotnet add package OpenTelemetry.SemanticConventions --prerelease +``` + +## 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 template +and the script files used in the process. + +To generate the code files, run: + +```shell +./scripts/generate.sh +``` + +Or, with PowerShell: + +```shell +./scripts/generate.ps1 +``` + +## References + +* [OpenTelemetry Project](https://opentelemetry.io/) +* [Build tools](https://github.com/open-telemetry/build-tools) diff --git a/src/OpenTelemetry.SemanticConventions/scripts/.gitignore b/src/OpenTelemetry.SemanticConventions/scripts/.gitignore new file mode 100644 index 0000000000..dfd65b8051 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/.gitignore @@ -0,0 +1 @@ +semantic-conventions/ diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 new file mode 100644 index 0000000000..81d03e27f3 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 @@ -0,0 +1,29 @@ +$SCRIPT_DIR = $PSScriptRoot +$ROOT_DIR = "${SCRIPT_DIR}/../" + +# freeze the spec version to make SemanticAttributes generation reproducible +$SPEC_VERSION = "1.25.0" +$GENERATOR_VERSION = "latest" + +Set-Location $SCRIPT_DIR + +Remove-Item -r -fo semantic-conventions +mkdir semantic-conventions +Set-Location semantic-conventions + +git init +git remote add origin https://github.com/open-telemetry/semantic-conventions.git +git fetch origin v$SPEC_VERSION +git reset --hard FETCH_HEAD +Set-Location ${SCRIPT_DIR} + +docker run --rm ` + -v ${SCRIPT_DIR}/semantic-conventions/model:/source ` + -v ${SCRIPT_DIR}/templates:/templates ` + -v ${ROOT_DIR}/Attributes:/output ` + otel/semconvgen:$GENERATOR_VERSION ` + -f /source code ` + --template /templates/SemanticConventionsAttributes.cs.j2 ` + --output "/output/{{pascal_prefix}}Attributes.cs" ` + --trim-whitespace ` + --file-per-group root_namespace diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh new file mode 100644 index 0000000000..a60fdb1a26 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh @@ -0,0 +1,32 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="${SCRIPT_DIR}/../" + +# freeze the spec version to make SemanticAttributes generation reproducible +SPEC_VERSION=1.25.0 +GENERATOR_VERSION=latest + +cd ${SCRIPT_DIR} + +rm -rf semantic-conventions || true +mkdir semantic-conventions +cd semantic-conventions + +git init +git remote add origin https://github.com/open-telemetry/semantic-conventions.git +git fetch origin "v$SPEC_VERSION" +git reset --hard FETCH_HEAD +cd ${SCRIPT_DIR} + +docker run --rm \ + -v ${SCRIPT_DIR}/semantic-conventions/model:/source \ + -v ${SCRIPT_DIR}/templates:/templates \ + -v ${ROOT_DIR}/Attributes:/output \ + otel/semconvgen:$GENERATOR_VERSION \ + -f /source code \ + --template /templates/SemanticConventionsAttributes.cs.j2 \ + --output /output/{{pascal_prefix}}Attributes.cs \ + --trim-whitespace \ + --file-per-group root_namespace diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 new file mode 100644 index 0000000000..1c2e139a73 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 @@ -0,0 +1,65 @@ +{%- 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 +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from scripts{{template}} + +#pragma warning disable CS1570 // XML comment has badly formed XML + +using System; + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class {{ root_namespace | to_camelcase(True) }}Attributes +{ +{% for attribute in attributes_and_templates %} +{% if not loop.first %}{{"\n"}}{% endif %} + /// + /// {{format_xml_doc(attribute.brief | render_markdown(code="{0}", paragraph="{0}"))}} + /// +{% if attribute.note %} + /// + /// {{format_remarks(attribute.note | to_doc_brief | escape | render_markdown(code="{0}", paragraph="{0}"))}}. + /// +{% endif %} +{% if attribute.deprecated %} + [Obsolete("{{attribute.deprecated | to_doc_brief | replace('"', "")}}")] +{% endif %} + public const string Attribute{{attribute.fqn | replace("-","_") | to_camelcase(True)}} = "{{attribute.fqn}}"; +{% endfor %} +{% for attribute in enum_attributes %} +{% 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) }} = {{ attribute | print_member_value(member) }}; + {% if not loop.last %}{{"\n"}}{% endif %} + {% endfor %} + } +{% endfor %} +} +