From 2f76c24ed65e7801faf49fe4918f375b05253a22 Mon Sep 17 00:00:00 2001 From: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> Date: Fri, 13 Sep 2024 10:34:33 +0200 Subject: [PATCH] [SemanticConvention] Migrate generation to Weaver and bump version to 1.26 (#2040) --- build/scripts/sanitycheck.py | 1 + .../.publicApi/PublicAPI.Shipped.txt | 1 + .../.publicApi/PublicAPI.Unshipped.txt | 1679 +++++++++-------- .../Attributes/AndroidAttributes.cs | 20 +- .../Attributes/AspnetcoreAttributes.cs | 46 +- .../Attributes/AwsAttributes.cs | 178 +- .../Attributes/BrowserAttributes.cs | 22 +- .../Attributes/ClientAttributes.cs | 14 +- .../Attributes/CloudAttributes.cs | 130 +- .../Attributes/CloudeventsAttributes.cs | 16 +- .../Attributes/CodeAttributes.cs | 18 +- .../Attributes/ContainerAttributes.cs | 54 +- .../Attributes/DbAttributes.cs | 329 ++-- .../Attributes/DeploymentAttributes.cs | 22 +- .../Attributes/DestinationAttributes.cs | 12 +- .../Attributes/DeviceAttributes.cs | 22 +- .../Attributes/DiskAttributes.cs | 14 +- .../Attributes/DnsAttributes.cs | 10 +- .../Attributes/EnduserAttributes.cs | 12 +- .../Attributes/ErrorAttributes.cs | 42 +- .../Attributes/EventAttributes.cs | 10 +- .../Attributes/ExceptionAttributes.cs | 40 +- .../Attributes/FaasAttributes.cs | 132 +- .../Attributes/FeatureFlagAttributes.cs | 24 +- .../Attributes/FileAttributes.cs | 18 +- .../Attributes/GcpAttributes.cs | 14 +- .../Attributes/GenAiAttributes.cs | 96 + .../Attributes/GraphqlAttributes.cs | 22 +- .../Attributes/HerokuAttributes.cs | 12 +- .../Attributes/HostAttributes.cs | 60 +- .../Attributes/HttpAttributes.cs | 182 +- .../Attributes/IosAttributes.cs | 28 +- .../Attributes/JvmAttributes.cs | 48 +- .../Attributes/K8sAttributes.cs | 107 +- .../Attributes/LogAttributes.cs | 26 +- .../Attributes/MessageAttributes.cs | 29 +- .../Attributes/MessagingAttributes.cs | 195 +- .../Attributes/NetAttributes.cs | 96 +- .../Attributes/NetworkAttributes.cs | 128 +- .../Attributes/OciAttributes.cs | 10 +- .../Attributes/OpentracingAttributes.cs | 16 +- .../Attributes/OsAttributes.cs | 40 +- .../Attributes/OtelAttributes.cs | 32 +- .../Attributes/OtherAttributes.cs | 17 +- .../Attributes/PeerAttributes.cs | 8 +- .../Attributes/PoolAttributes.cs | 9 +- .../Attributes/ProcessAttributes.cs | 122 +- .../Attributes/RpcAttributes.cs | 173 +- .../Attributes/ServerAttributes.cs | 14 +- .../Attributes/ServiceAttributes.cs | 60 +- .../Attributes/SessionAttributes.cs | 10 +- .../Attributes/SignalrAttributes.cs | 26 +- .../Attributes/SourceAttributes.cs | 12 +- .../Attributes/SystemAttributes.cs | 154 +- .../Attributes/TelemetryAttributes.cs | 54 +- .../Attributes/ThreadAttributes.cs | 10 +- .../Attributes/TlsAttributes.cs | 72 +- .../Attributes/UrlAttributes.cs | 55 +- .../Attributes/UserAgentAttributes.cs | 16 +- .../Attributes/WebengineAttributes.cs | 12 +- .../CHANGELOG.md | 3 + .../README.md | 7 +- .../scripts/generate.ps1 | 23 +- .../scripts/generate.sh | 21 +- .../SemanticConventionsAttributes.cs.j2 | 65 - .../SemanticConventionsAttributes.cs.j2 | 52 + .../scripts/templates/registry/common.j2 | 3 + .../scripts/templates/registry/weaver.yaml | 48 + 68 files changed, 2792 insertions(+), 2261 deletions(-) create mode 100644 src/OpenTelemetry.SemanticConventions/Attributes/GenAiAttributes.cs delete mode 100644 src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/templates/registry/SemanticConventionsAttributes.cs.j2 create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/templates/registry/common.j2 create mode 100644 src/OpenTelemetry.SemanticConventions/scripts/templates/registry/weaver.yaml diff --git a/build/scripts/sanitycheck.py b/build/scripts/sanitycheck.py index 06b33c3a61..2e7d10ceda 100644 --- a/build/scripts/sanitycheck.py +++ b/build/scripts/sanitycheck.py @@ -9,6 +9,7 @@ LF = b'\n' # Add paths to exclude from sanity checks here +# Mostly used for auto-generated code exclude_folders = [ "src/OpenTelemetry.SemanticConventions/Attributes" ] diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt index e69de29bb2..7dc5c58110 100644 --- a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt +++ b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Shipped.txt @@ -0,0 +1 @@ +#nullable enable diff --git a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt index f88e9e126f..6500a8befd 100644 --- a/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry.SemanticConventions/.publicApi/PublicAPI.Unshipped.txt @@ -1,661 +1,711 @@ -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.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.AttributeContainerLabelsTemplate = "container.labels" -> string! +const OpenTelemetry.SemanticConventions.ContainerAttributes.AttributeContainerLabelTemplate = "container.label" -> 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.AttributeDbClientConnectionsPoolName = "db.client.connections.pool.name" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbClientConnectionsState = "db.client.connections.state" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbCollectionName = "db.collection.name" -> 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.AttributeDbElasticsearchPathPartsTemplate = "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.AttributeDbNamespace = "db.namespace" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbOperation = "db.operation" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbOperationName = "db.operation.name" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbQueryParameterTemplate = "db.query.parameter" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.AttributeDbQueryText = "db.query.text" -> 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.DbClientConnectionsStateValues.Idle = "idle" -> string! +const OpenTelemetry.SemanticConventions.DbAttributes.DbClientConnectionsStateValues.Used = "used" -> 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.GenAiAttributes.AttributeGenAiCompletion = "gen_ai.completion" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiPrompt = "gen_ai.prompt" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiRequestMaxTokens = "gen_ai.request.max_tokens" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiRequestModel = "gen_ai.request.model" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiRequestTemperature = "gen_ai.request.temperature" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiRequestTopP = "gen_ai.request.top_p" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiResponseFinishReasons = "gen_ai.response.finish_reasons" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiResponseId = "gen_ai.response.id" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiResponseModel = "gen_ai.response.model" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiSystem = "gen_ai.system" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiUsageCompletionTokens = "gen_ai.usage.completion_tokens" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.AttributeGenAiUsagePromptTokens = "gen_ai.usage.prompt_tokens" -> string! +const OpenTelemetry.SemanticConventions.GenAiAttributes.GenAiSystemValues.Openai = "openai" -> 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.AttributeHttpClientIp = "http.client_ip" -> string! +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpConnectionState = "http.connection.state" -> string! +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpFlavor = "http.flavor" -> string! +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpHost = "http.host" -> 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.AttributeHttpRequestContentLengthUncompressed = "http.request_content_length_uncompressed" -> string! +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpRequestHeaderTemplate = "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.AttributeHttpResponseContentLengthUncompressed = "http.response_content_length_uncompressed" -> string! +const OpenTelemetry.SemanticConventions.HttpAttributes.AttributeHttpResponseHeaderTemplate = "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.AttributeHttpServerName = "http.server_name" -> 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.AttributeK8sContainerStatusLastTerminatedReason = "k8s.container.status.last_terminated_reason" -> 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.AttributeK8sPodAnnotationTemplate = "k8s.pod.annotation" -> string! +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabelsTemplate = "k8s.pod.labels" -> string! +const OpenTelemetry.SemanticConventions.K8sAttributes.AttributeK8sPodLabelTemplate = "k8s.pod.label" -> 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.AttributeMessagingGcpPubsubMessageAckDeadline = "messaging.gcp_pubsub.message.ack_deadline" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingGcpPubsubMessageAckId = "messaging.gcp_pubsub.message.ack_id" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingGcpPubsubMessageDeliveryAttempt = "messaging.gcp_pubsub.message.delivery_attempt" -> 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.AttributeMessagingOperationName = "messaging.operation.name" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.AttributeMessagingOperationType = "messaging.operation.type" -> 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.MessagingOperationTypeValues.Create = "create" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationTypeValues.Deliver = "process" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationTypeValues.Publish = "publish" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationTypeValues.Receive = "receive" -> string! +const OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationTypeValues.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.AttributeNetHostIp = "net.host.ip" -> string! +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostName = "net.host.name" -> string! +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetHostPort = "net.host.port" -> string! +const OpenTelemetry.SemanticConventions.NetAttributes.AttributeNetPeerIp = "net.peer.ip" -> 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.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.AttributeProcessCreationTime = "process.creation.time" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutableName = "process.executable.name" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExecutablePath = "process.executable.path" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExitCode = "process.exit.code" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessExitTime = "process.exit.time" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessGroupLeaderPid = "process.group_leader.pid" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessInteractive = "process.interactive" -> 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.AttributeProcessRealUserId = "process.real_user.id" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessRealUserName = "process.real_user.name" -> 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.AttributeProcessSavedUserId = "process.saved_user.id" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessSavedUserName = "process.saved_user.name" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessSessionLeaderPid = "process.session_leader.pid" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessUserId = "process.user.id" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessUserName = "process.user.name" -> string! +const OpenTelemetry.SemanticConventions.ProcessAttributes.AttributeProcessVpid = "process.vpid" -> 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.AttributeRpcConnectRpcRequestMetadataTemplate = "rpc.connect_rpc.request.metadata" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcConnectRpcResponseMetadataTemplate = "rpc.connect_rpc.response.metadata" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcRequestMetadataTemplate = "rpc.grpc.request.metadata" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcGrpcResponseMetadataTemplate = "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.AttributeRpcMessageCompressedSize = "rpc.message.compressed_size" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcMessageId = "rpc.message.id" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcMessageType = "rpc.message.type" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.AttributeRpcMessageUncompressedSize = "rpc.message.uncompressed_size" -> 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 @@ -673,158 +723,161 @@ const OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues.Un 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 +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcMessageTypeValues.Received = "RECEIVED" -> string! +const OpenTelemetry.SemanticConventions.RpcAttributes.RpcMessageTypeValues.Sent = "SENT" -> string! +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.AttributeUrlTemplate = "url.template" -> 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 @@ -844,6 +897,7 @@ OpenTelemetry.SemanticConventions.ContainerAttributes OpenTelemetry.SemanticConventions.ContainerAttributes.ContainerCpuStateValues OpenTelemetry.SemanticConventions.DbAttributes OpenTelemetry.SemanticConventions.DbAttributes.DbCassandraConsistencyLevelValues +OpenTelemetry.SemanticConventions.DbAttributes.DbClientConnectionsStateValues OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbConnectionModeValues OpenTelemetry.SemanticConventions.DbAttributes.DbCosmosdbOperationTypeValues OpenTelemetry.SemanticConventions.DbAttributes.DbSystemValues @@ -865,6 +919,8 @@ OpenTelemetry.SemanticConventions.FaasAttributes.FaasTriggerValues OpenTelemetry.SemanticConventions.FeatureFlagAttributes OpenTelemetry.SemanticConventions.FileAttributes OpenTelemetry.SemanticConventions.GcpAttributes +OpenTelemetry.SemanticConventions.GenAiAttributes +OpenTelemetry.SemanticConventions.GenAiAttributes.GenAiSystemValues OpenTelemetry.SemanticConventions.GraphqlAttributes OpenTelemetry.SemanticConventions.GraphqlAttributes.GraphqlOperationTypeValues OpenTelemetry.SemanticConventions.HerokuAttributes @@ -885,7 +941,7 @@ OpenTelemetry.SemanticConventions.LogAttributes.LogIostreamValues OpenTelemetry.SemanticConventions.MessageAttributes OpenTelemetry.SemanticConventions.MessageAttributes.MessageTypeValues OpenTelemetry.SemanticConventions.MessagingAttributes -OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationValues +OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingOperationTypeValues OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqConsumptionModelValues OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingRocketmqMessageTypeValues OpenTelemetry.SemanticConventions.MessagingAttributes.MessagingServicebusDispositionStatusValues @@ -917,6 +973,7 @@ OpenTelemetry.SemanticConventions.ProcessAttributes.ProcessPagingFaultTypeValues OpenTelemetry.SemanticConventions.RpcAttributes OpenTelemetry.SemanticConventions.RpcAttributes.RpcConnectRpcErrorCodeValues OpenTelemetry.SemanticConventions.RpcAttributes.RpcGrpcStatusCodeValues +OpenTelemetry.SemanticConventions.RpcAttributes.RpcMessageTypeValues OpenTelemetry.SemanticConventions.RpcAttributes.RpcSystemValues OpenTelemetry.SemanticConventions.ServerAttributes OpenTelemetry.SemanticConventions.ServiceAttributes diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs index d03c767675..87e2bbc526 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AndroidAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,35 +15,35 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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. + /// Deprecated use the device.app.lifecycle event definition including android.state as a payload field instead /// /// - /// The Android lifecycle states are defined in Activity lifecycle callbacks, and from which the OS identifiers are derived. + /// 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. + /// Deprecated use the device.app.lifecycle event definition including android.state as a payload field instead /// 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. + /// 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. + /// 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. + /// 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 index cb436aacbb..3166fb95fb 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AspnetcoreAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,104 +15,104 @@ namespace OpenTelemetry.SemanticConventions; public static class AspnetcoreAttributes { /// - /// ASP.NET Core exception middleware handling result. + /// 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. + /// Full type name of the IExceptionHandler implementation that handled the exception /// public const string AttributeAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type"; /// - /// Rate limiting policy name. + /// 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. + /// 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. + /// 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. + /// 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. + /// Match result - success or failure /// public const string AttributeAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status"; /// - /// ASP.NET Core exception middleware handling result. + /// ASP.NET Core exception middleware handling result /// public static class AspnetcoreDiagnosticsExceptionResultValues { /// - /// Exception was handled by the exception handling middleware. + /// Exception was handled by the exception handling middleware /// public const string Handled = "handled"; /// - /// Exception was not handled by the exception handling middleware. + /// Exception was not handled by the exception handling middleware /// public const string Unhandled = "unhandled"; /// - /// Exception handling was skipped because the response had started. + /// Exception handling was skipped because the response had started /// public const string Skipped = "skipped"; /// - /// Exception handling didn't run because the request was aborted. + /// 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. + /// Rate-limiting result, shows whether the lease was acquired or contains a rejection reason /// public static class AspnetcoreRateLimitingResultValues { /// - /// Lease was acquired. + /// Lease was acquired /// public const string Acquired = "acquired"; /// - /// Lease request was rejected by the endpoint limiter. + /// Lease request was rejected by the endpoint limiter /// public const string EndpointLimiter = "endpoint_limiter"; /// - /// Lease request was rejected by the global limiter. + /// Lease request was rejected by the global limiter /// public const string GlobalLimiter = "global_limiter"; /// - /// Lease request was canceled. + /// Lease request was canceled /// public const string RequestCanceled = "request_canceled"; } /// - /// Match result - success or failure. + /// Match result - success or failure /// public static class AspnetcoreRoutingMatchStatusValues { /// - /// Match succeeded. + /// Match succeeded /// public const string Success = "success"; /// - /// Match failed. + /// Match failed /// public const string Failure = "failure"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs index fcaad1e8a7..02ea3d403c 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/AwsAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,291 +15,297 @@ namespace OpenTelemetry.SemanticConventions; public static class AwsAttributes { /// - /// The JSON-serialized value of each item in the AttributeDefinitions request field. + /// 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. + /// The value of the AttributesToGet request parameter /// public const string AttributeAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get"; /// - /// The value of the ConsistentRead request parameter. + /// 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. + /// 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. + /// The value of the Count response parameter /// public const string AttributeAwsDynamodbCount = "aws.dynamodb.count"; /// - /// The value of the ExclusiveStartTableName request parameter. + /// 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. + /// 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. + /// 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. + /// The value of the IndexName request parameter /// public const string AttributeAwsDynamodbIndexName = "aws.dynamodb.index_name"; /// - /// The JSON-serialized value of the ItemCollectionMetrics response field. + /// 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. + /// 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. + /// 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. + /// The value of the ProjectionExpression request parameter /// public const string AttributeAwsDynamodbProjection = "aws.dynamodb.projection"; /// - /// The value of the ProvisionedThroughput.ReadCapacityUnits request parameter. + /// 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. + /// The value of the ProvisionedThroughput.WriteCapacityUnits request parameter /// public const string AttributeAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity"; /// - /// The value of the ScanIndexForward request parameter. + /// The value of the ScanIndexForward request parameter /// public const string AttributeAwsDynamodbScanForward = "aws.dynamodb.scan_forward"; /// - /// The value of the ScannedCount response parameter. + /// The value of the ScannedCount response parameter /// public const string AttributeAwsDynamodbScannedCount = "aws.dynamodb.scanned_count"; /// - /// The value of the Segment request parameter. + /// The value of the Segment request parameter /// public const string AttributeAwsDynamodbSegment = "aws.dynamodb.segment"; /// - /// The value of the Select request parameter. + /// The value of the Select request parameter /// public const string AttributeAwsDynamodbSelect = "aws.dynamodb.select"; /// - /// The number of items in the TableNames response parameter. + /// The number of items in the TableNames response parameter /// public const string AttributeAwsDynamodbTableCount = "aws.dynamodb.table_count"; /// - /// The keys in the RequestItems object field. + /// The keys in the RequestItems object field /// public const string AttributeAwsDynamodbTableNames = "aws.dynamodb.table_names"; /// - /// The value of the TotalSegments request parameter. + /// The value of the TotalSegments request parameter /// public const string AttributeAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; /// - /// The ARN of an ECS cluster. + /// The ARN of an ECS cluster /// public const string AttributeAwsEcsClusterArn = "aws.ecs.cluster.arn"; /// - /// The Amazon Resource Name (ARN) of an ECS container instance. + /// 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. + /// The launch type for an ECS task /// public const string AttributeAwsEcsLaunchtype = "aws.ecs.launchtype"; /// - /// The ARN of a running ECS task. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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). + /// 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. + /// 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). + /// The Amazon Resource Name(s) (ARN) of the AWS log group(s) /// /// - /// See the log group ARN format documentation. + /// 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. + /// 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. + /// 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). + /// 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. + /// 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. + /// 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. + /// 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 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. + /// 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 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:. + /// 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 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. + /// 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 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:. + /// 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 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. + /// 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. + /// 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:. + /// 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. + /// The launch type for an ECS task /// public static class AwsEcsLaunchtypeValues { /// - /// ec2. + /// ec2 /// public const string Ec2 = "ec2"; /// - /// fargate. + /// fargate /// public const string Fargate = "fargate"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs index b4d81c70b5..d8a1891593 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/BrowserAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,35 +15,35 @@ namespace OpenTelemetry.SemanticConventions; public static class BrowserAttributes { /// - /// Array of brand name and version separated by a space. + /// 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). + /// 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. + /// Preferred language of the user using the browser /// /// - /// This value is intended to be taken from the Navigator API navigator.language. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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 index 724e0bd156..d8aa303707 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ClientAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,18 +15,18 @@ namespace OpenTelemetry.SemanticConventions; public static class ClientAttributes { /// - /// Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// 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. + /// When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it's available /// public const string AttributeClientAddress = "client.address"; /// - /// Client port number. + /// 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. + /// When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it's available /// public const string AttributeClientPort = "client.port"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs index a85e786392..dc96f362c7 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CloudAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,244 +15,248 @@ namespace OpenTelemetry.SemanticConventions; public static class CloudAttributes { /// - /// The cloud account ID the resource is assigned to. + /// 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. + /// 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. + /// Availability zones are called "zones" on Alibaba Cloud and Google Cloud /// public const string AttributeCloudAvailabilityZone = "cloud.availability_zone"; /// - /// The cloud platform in use. + /// The cloud platform in use /// /// - /// The prefix of the service SHOULD match the one specified in cloud.provider. + /// The prefix of the service SHOULD match the one specified in cloud.provider /// public const string AttributeCloudPlatform = "cloud.platform"; /// - /// Name of the cloud provider. + /// Name of the cloud provider /// public const string AttributeCloudProvider = "cloud.provider"; /// - /// The geographical region the resource is running. + /// 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. + /// Refer to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions /// public const string AttributeCloudRegion = "cloud.region"; /// - /// Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, a fully qualified resource ID on Azure, a full resource name on GCP). + /// 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:. + /// 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. + /// The cloud platform in use /// public static class CloudPlatformValues { /// - /// Alibaba Cloud Elastic Compute Service. + /// Alibaba Cloud Elastic Compute Service /// public const string AlibabaCloudEcs = "alibaba_cloud_ecs"; /// - /// Alibaba Cloud Function Compute. + /// Alibaba Cloud Function Compute /// public const string AlibabaCloudFc = "alibaba_cloud_fc"; /// - /// Red Hat OpenShift on Alibaba Cloud. + /// Red Hat OpenShift on Alibaba Cloud /// public const string AlibabaCloudOpenshift = "alibaba_cloud_openshift"; /// - /// AWS Elastic Compute Cloud. + /// AWS Elastic Compute Cloud /// public const string AwsEc2 = "aws_ec2"; /// - /// AWS Elastic Container Service. + /// AWS Elastic Container Service /// public const string AwsEcs = "aws_ecs"; /// - /// AWS Elastic Kubernetes Service. + /// AWS Elastic Kubernetes Service /// public const string AwsEks = "aws_eks"; /// - /// AWS Lambda. + /// AWS Lambda /// public const string AwsLambda = "aws_lambda"; /// - /// AWS Elastic Beanstalk. + /// AWS Elastic Beanstalk /// public const string AwsElasticBeanstalk = "aws_elastic_beanstalk"; /// - /// AWS App Runner. + /// AWS App Runner /// public const string AwsAppRunner = "aws_app_runner"; /// - /// Red Hat OpenShift on AWS (ROSA). + /// Red Hat OpenShift on AWS (ROSA) /// public const string AwsOpenshift = "aws_openshift"; /// - /// Azure Virtual Machines. + /// Azure Virtual Machines /// public const string AzureVm = "azure_vm"; /// - /// Azure Container Apps. + /// Azure Container Apps /// public const string AzureContainerApps = "azure_container_apps"; /// - /// Azure Container Instances. + /// Azure Container Instances /// public const string AzureContainerInstances = "azure_container_instances"; /// - /// Azure Kubernetes Service. + /// Azure Kubernetes Service /// public const string AzureAks = "azure_aks"; /// - /// Azure Functions. + /// Azure Functions /// public const string AzureFunctions = "azure_functions"; /// - /// Azure App Service. + /// Azure App Service /// public const string AzureAppService = "azure_app_service"; /// - /// Azure Red Hat OpenShift. + /// Azure Red Hat OpenShift /// public const string AzureOpenshift = "azure_openshift"; /// - /// Google Bare Metal Solution (BMS). + /// Google Bare Metal Solution (BMS) /// public const string GcpBareMetalSolution = "gcp_bare_metal_solution"; /// - /// Google Cloud Compute Engine (GCE). + /// Google Cloud Compute Engine (GCE) /// public const string GcpComputeEngine = "gcp_compute_engine"; /// - /// Google Cloud Run. + /// Google Cloud Run /// public const string GcpCloudRun = "gcp_cloud_run"; /// - /// Google Cloud Kubernetes Engine (GKE). + /// Google Cloud Kubernetes Engine (GKE) /// public const string GcpKubernetesEngine = "gcp_kubernetes_engine"; /// - /// Google Cloud Functions (GCF). + /// Google Cloud Functions (GCF) /// public const string GcpCloudFunctions = "gcp_cloud_functions"; /// - /// Google Cloud App Engine (GAE). + /// Google Cloud App Engine (GAE) /// public const string GcpAppEngine = "gcp_app_engine"; /// - /// Red Hat OpenShift on Google Cloud. + /// Red Hat OpenShift on Google Cloud /// public const string GcpOpenshift = "gcp_openshift"; /// - /// Red Hat OpenShift on IBM Cloud. + /// Red Hat OpenShift on IBM Cloud /// public const string IbmCloudOpenshift = "ibm_cloud_openshift"; /// - /// Tencent Cloud Cloud Virtual Machine (CVM). + /// Tencent Cloud Cloud Virtual Machine (CVM) /// public const string TencentCloudCvm = "tencent_cloud_cvm"; /// - /// Tencent Cloud Elastic Kubernetes Service (EKS). + /// Tencent Cloud Elastic Kubernetes Service (EKS) /// public const string TencentCloudEks = "tencent_cloud_eks"; /// - /// Tencent Cloud Serverless Cloud Function (SCF). + /// Tencent Cloud Serverless Cloud Function (SCF) /// public const string TencentCloudScf = "tencent_cloud_scf"; } /// - /// Name of the cloud provider. + /// Name of the cloud provider /// public static class CloudProviderValues { /// - /// Alibaba Cloud. + /// Alibaba Cloud /// public const string AlibabaCloud = "alibaba_cloud"; /// - /// Amazon Web Services. + /// Amazon Web Services /// public const string Aws = "aws"; /// - /// Microsoft Azure. + /// Microsoft Azure /// public const string Azure = "azure"; /// - /// Google Cloud Platform. + /// Google Cloud Platform /// public const string Gcp = "gcp"; /// - /// Heroku Platform as a Service. + /// Heroku Platform as a Service /// public const string Heroku = "heroku"; /// - /// IBM Cloud. + /// IBM Cloud /// public const string IbmCloud = "ibm_cloud"; /// - /// Tencent 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 index 17114d24a0..7c13858791 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CloudeventsAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,27 +15,27 @@ namespace OpenTelemetry.SemanticConventions; public static class CloudeventsAttributes { /// - /// The event_id uniquely identifies the event. + /// The event_id uniquely identifies the event /// public const string AttributeCloudeventsEventId = "cloudevents.event_id"; /// - /// The source identifies the context in which an event happened. + /// 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. + /// 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). + /// 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. + /// 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 index ebe40ae35c..41eee11105 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/CodeAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,32 +15,32 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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). + /// 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). + /// 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. + /// 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. + /// 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. + /// 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 index 53f6b930b9..2476dd9440 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ContainerAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,99 +15,99 @@ namespace OpenTelemetry.SemanticConventions; public static class ContainerAttributes { /// - /// The command used to run the container (i.e. the command name). + /// 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. + /// 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]. + /// 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]. + /// 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. + /// 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. + /// 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. + /// 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. + /// K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625". + /// The ID is assigned 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. + /// 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. + /// Repo digests of the container image as provided by the container runtime /// /// - /// Docker and CRI report those under the RepoDigests field. + /// 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:. + /// 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. + /// Container labels, being the label name, the value being the label value /// - public const string AttributeContainerLabel = "container.label"; + public const string AttributeContainerLabelTemplate = "container.label"; /// - /// Deprecated, use container.label instead. + /// Deprecated, use container.label instead /// - [Obsolete("Replaced by `container.label`")] - public const string AttributeContainerLabels = "container.labels"; + [Obsolete("Replaced by container.label")] + public const string AttributeContainerLabelsTemplate = "container.labels"; /// - /// Container name used by container runtime. + /// Container name used by container runtime /// public const string AttributeContainerName = "container.name"; /// - /// The container runtime managing this container. + /// The container runtime managing this container /// public const string AttributeContainerRuntime = "container.runtime"; /// - /// The CPU state for this data point. + /// 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). + /// 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). + /// 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). + /// 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 index ffdbf56873..3ca71b84ff 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DbAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,596 +15,661 @@ namespace OpenTelemetry.SemanticConventions; public static class DbAttributes { /// - /// The consistency level of the query. Based on consistency values from CQL. + /// 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. + /// 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. + /// The ID of the coordinating node for a query /// public const string AttributeDbCassandraCoordinatorId = "db.cassandra.coordinator.id"; /// - /// Whether or not the query is idempotent. + /// 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. + /// 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. + /// 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). + /// Deprecated, use db.collection.name instead + /// + [Obsolete("Replaced by db.collection.name")] + public const string AttributeDbCassandraTable = "db.cassandra.table"; + + /// + /// 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 AttributeDbClientConnectionsPoolName = "db.client.connections.pool.name"; + + /// + /// The state of a connection in the pool + /// + public const string AttributeDbClientConnectionsState = "db.client.connections.state"; + + /// + /// The name of a collection (table, container) within the database /// /// - /// 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. + /// If the collection name is parsed from the query, it SHOULD match the value provided in the query and may be qualified with the schema and database name. + /// It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization /// - public const string AttributeDbCassandraTable = "db.cassandra.table"; + public const string AttributeDbCollectionName = "db.collection.name"; /// - /// Deprecated, use server.address, server.port attributes instead. + /// Deprecated, use server.address, server.port attributes instead /// - [Obsolete("Replaced by `server.address` and `server.port`.")] + [Obsolete("Replaced by server.address and server.port")] public const string AttributeDbConnectionString = "db.connection_string"; /// - /// Unique Cosmos client instance id. + /// Unique Cosmos client instance id /// public const string AttributeDbCosmosdbClientId = "db.cosmosdb.client_id"; /// - /// Cosmos client connection mode. + /// Cosmos client connection mode /// public const string AttributeDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode"; /// - /// Cosmos DB container name. + /// Deprecated, use db.collection.name instead /// + [Obsolete("Replaced by db.collection.name")] public const string AttributeDbCosmosdbContainer = "db.cosmosdb.container"; /// - /// CosmosDB Operation Type. + /// CosmosDB Operation Type /// public const string AttributeDbCosmosdbOperationType = "db.cosmosdb.operation_type"; /// - /// RU consumed for that operation. + /// RU consumed for that operation /// public const string AttributeDbCosmosdbRequestCharge = "db.cosmosdb.request_charge"; /// - /// Request payload size in bytes. + /// Request payload size in bytes /// public const string AttributeDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length"; /// - /// Cosmos DB status code. + /// Cosmos DB status code /// public const string AttributeDbCosmosdbStatusCode = "db.cosmosdb.status_code"; /// - /// Cosmos DB sub status code. + /// Cosmos DB sub status code /// public const string AttributeDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code"; /// - /// Represents the identifier of an Elasticsearch cluster. + /// Represents the identifier of an Elasticsearch cluster /// public const string AttributeDbElasticsearchClusterName = "db.elasticsearch.cluster.name"; /// - /// Deprecated, use db.instance.id instead. + /// Represents the human-readable identifier of the node/instance to which a request was routed /// - [Obsolete("Replaced by `db.instance.id`")] public const string AttributeDbElasticsearchNodeName = "db.elasticsearch.node.name"; /// - /// A dynamic value in the url path. + /// 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. + /// Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format db.elasticsearch.path_parts., where is the url path part name. The implementation SHOULD reference the elasticsearch schema in order to map the path part values to their names /// - public const string AttributeDbElasticsearchPathParts = "db.elasticsearch.path_parts"; + public const string AttributeDbElasticsearchPathPartsTemplate = "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. + /// Deprecated, no general replacement at this time. For Elasticsearch, use db.elasticsearch.node.name instead /// + [Obsolete("Deprecated, no general replacement at this time. For Elasticsearch, use db.elasticsearch.node.name instead")] public const string AttributeDbInstanceId = "db.instance.id"; /// - /// Removed, no replacement at this time. + /// 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. + /// Deprecated, use db.collection.name instead /// + [Obsolete("Replaced by db.collection.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. + /// Deprecated, SQL Server instance is now populated as a part of db.namespace attribute /// - /// - /// If setting a db.mssql.instance_name, server.port is no longer required (but still recommended if non-standard). - /// + [Obsolete("Deprecated, no replacement at this time")] 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). + /// Deprecated, use db.namespace instead /// - /// - /// 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). - /// + [Obsolete("Replaced by db.namespace")] 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. + /// The name of the database, fully qualified within the server address and port /// /// - /// 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. + /// If a database system has multiple namespace components, they SHOULD be concatenated (potentially using database system specific conventions) from most general to most specific namespace component, and more specific namespaces SHOULD NOT be captured without the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid. + /// Semantic conventions for individual database systems SHOULD document what db.namespace means in the context of that system. + /// It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization /// + public const string AttributeDbNamespace = "db.namespace"; + + /// + /// Deprecated, use db.operation.name instead + /// + [Obsolete("Replaced by db.operation.name")] 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. + /// The name of the operation or command being executed /// - public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index"; + /// + /// It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization + /// + public const string AttributeDbOperationName = "db.operation.name"; /// - /// The name of the primary table that the operation is acting upon, including the database name (if applicable). + /// The query parameters used in db.query.text, with being the parameter name, and the attribute value being the parameter value /// /// - /// 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. + /// Query parameters should only be captured when db.query.text is parameterized with placeholders. + /// If a parameter has no name and instead is referenced only by index, then SHOULD be the 0-based index /// + public const string AttributeDbQueryParameterTemplate = "db.query.parameter"; + + /// + /// The database query being executed + /// + public const string AttributeDbQueryText = "db.query.text"; + + /// + /// Deprecated, use db.namespace instead + /// + [Obsolete("Replaced by db.namespace")] + public const string AttributeDbRedisDatabaseIndex = "db.redis.database_index"; + + /// + /// Deprecated, use db.collection.name instead + /// + [Obsolete("Replaced by db.collection.name")] public const string AttributeDbSqlTable = "db.sql.table"; /// - /// The database statement being executed. + /// The database statement being executed /// + [Obsolete("Replaced by db.query.text")] 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. + /// The database management system (DBMS) product as identified by the client instrumentation /// + /// + /// The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the db.system is set to postgresql based on the instrumentation's best knowledge + /// public const string AttributeDbSystem = "db.system"; /// - /// Username for accessing the database. + /// Deprecated, no replacement at this time /// + [Obsolete("No replacement at this time")] public const string AttributeDbUser = "db.user"; /// - /// The consistency level of the query. Based on consistency values from CQL. + /// The consistency level of the query. Based on consistency values from CQL /// public static class DbCassandraConsistencyLevelValues { /// - /// all. + /// all /// public const string All = "all"; /// - /// each_quorum. + /// each_quorum /// public const string EachQuorum = "each_quorum"; /// - /// quorum. + /// quorum /// public const string Quorum = "quorum"; /// - /// local_quorum. + /// local_quorum /// public const string LocalQuorum = "local_quorum"; /// - /// one. + /// one /// public const string One = "one"; /// - /// two. + /// two /// public const string Two = "two"; /// - /// three. + /// three /// public const string Three = "three"; /// - /// local_one. + /// local_one /// public const string LocalOne = "local_one"; /// - /// any. + /// any /// public const string Any = "any"; /// - /// serial. + /// serial /// public const string Serial = "serial"; /// - /// local_serial. + /// local_serial /// public const string LocalSerial = "local_serial"; } /// - /// Cosmos client connection mode. + /// The state of a connection in the pool + /// + public static class DbClientConnectionsStateValues + { + /// + /// idle + /// + public const string Idle = "idle"; + + /// + /// used + /// + public const string Used = "used"; + } + + /// + /// Cosmos client connection mode /// public static class DbCosmosdbConnectionModeValues { /// - /// Gateway (HTTP) connections mode. + /// Gateway (HTTP) connections mode /// public const string Gateway = "gateway"; /// - /// Direct connection. + /// Direct connection /// public const string Direct = "direct"; } /// - /// CosmosDB Operation Type. + /// CosmosDB Operation Type /// public static class DbCosmosdbOperationTypeValues { /// - /// invalid. + /// invalid /// public const string Invalid = "Invalid"; /// - /// create. + /// create /// public const string Create = "Create"; /// - /// patch. + /// patch /// public const string Patch = "Patch"; /// - /// read. + /// read /// public const string Read = "Read"; /// - /// read_feed. + /// read_feed /// public const string ReadFeed = "ReadFeed"; /// - /// delete. + /// delete /// public const string Delete = "Delete"; /// - /// replace. + /// replace /// public const string Replace = "Replace"; /// - /// execute. + /// execute /// public const string Execute = "Execute"; /// - /// query. + /// query /// public const string Query = "Query"; /// - /// head. + /// head /// public const string Head = "Head"; /// - /// head_feed. + /// head_feed /// public const string HeadFeed = "HeadFeed"; /// - /// upsert. + /// upsert /// public const string Upsert = "Upsert"; /// - /// batch. + /// batch /// public const string Batch = "Batch"; /// - /// query_plan. + /// query_plan /// public const string QueryPlan = "QueryPlan"; /// - /// execute_javascript. + /// 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. + /// The database management system (DBMS) product as identified by the client instrumentation /// public static class DbSystemValues { /// - /// Some other SQL database. Fallback only. See notes. + /// Some other SQL database. Fallback only. See notes /// public const string OtherSql = "other_sql"; /// - /// Microsoft SQL Server. + /// Microsoft SQL Server /// public const string Mssql = "mssql"; /// - /// Microsoft SQL Server Compact. + /// Microsoft SQL Server Compact /// public const string Mssqlcompact = "mssqlcompact"; /// - /// MySQL. + /// MySQL /// public const string Mysql = "mysql"; /// - /// Oracle Database. + /// Oracle Database /// public const string Oracle = "oracle"; /// - /// IBM Db2. + /// IBM Db2 /// public const string Db2 = "db2"; /// - /// PostgreSQL. + /// PostgreSQL /// public const string Postgresql = "postgresql"; /// - /// Amazon Redshift. + /// Amazon Redshift /// public const string Redshift = "redshift"; /// - /// Apache Hive. + /// Apache Hive /// public const string Hive = "hive"; /// - /// Cloudscape. + /// Cloudscape /// public const string Cloudscape = "cloudscape"; /// - /// HyperSQL DataBase. + /// HyperSQL DataBase /// public const string Hsqldb = "hsqldb"; /// - /// Progress Database. + /// Progress Database /// public const string Progress = "progress"; /// - /// SAP MaxDB. + /// SAP MaxDB /// public const string Maxdb = "maxdb"; /// - /// SAP HANA. + /// SAP HANA /// public const string Hanadb = "hanadb"; /// - /// Ingres. + /// Ingres /// public const string Ingres = "ingres"; /// - /// FirstSQL. + /// FirstSQL /// public const string Firstsql = "firstsql"; /// - /// EnterpriseDB. + /// EnterpriseDB /// public const string Edb = "edb"; /// - /// InterSystems Caché. + /// InterSystems Caché /// public const string Cache = "cache"; /// - /// Adabas (Adaptable Database System). + /// Adabas (Adaptable Database System) /// public const string Adabas = "adabas"; /// - /// Firebird. + /// Firebird /// public const string Firebird = "firebird"; /// - /// Apache Derby. + /// Apache Derby /// public const string Derby = "derby"; /// - /// FileMaker. + /// FileMaker /// public const string Filemaker = "filemaker"; /// - /// Informix. + /// Informix /// public const string Informix = "informix"; /// - /// InstantDB. + /// InstantDB /// public const string Instantdb = "instantdb"; /// - /// InterBase. + /// InterBase /// public const string Interbase = "interbase"; /// - /// MariaDB. + /// MariaDB /// public const string Mariadb = "mariadb"; /// - /// Netezza. + /// Netezza /// public const string Netezza = "netezza"; /// - /// Pervasive PSQL. + /// Pervasive PSQL /// public const string Pervasive = "pervasive"; /// - /// PointBase. + /// PointBase /// public const string Pointbase = "pointbase"; /// - /// SQLite. + /// SQLite /// public const string Sqlite = "sqlite"; /// - /// Sybase. + /// Sybase /// public const string Sybase = "sybase"; /// - /// Teradata. + /// Teradata /// public const string Teradata = "teradata"; /// - /// Vertica. + /// Vertica /// public const string Vertica = "vertica"; /// - /// H2. + /// H2 /// public const string H2 = "h2"; /// - /// ColdFusion IMQ. + /// ColdFusion IMQ /// public const string Coldfusion = "coldfusion"; /// - /// Apache Cassandra. + /// Apache Cassandra /// public const string Cassandra = "cassandra"; /// - /// Apache HBase. + /// Apache HBase /// public const string Hbase = "hbase"; /// - /// MongoDB. + /// MongoDB /// public const string Mongodb = "mongodb"; /// - /// Redis. + /// Redis /// public const string Redis = "redis"; /// - /// Couchbase. + /// Couchbase /// public const string Couchbase = "couchbase"; /// - /// CouchDB. + /// CouchDB /// public const string Couchdb = "couchdb"; /// - /// Microsoft Azure Cosmos DB. + /// Microsoft Azure Cosmos DB /// public const string Cosmosdb = "cosmosdb"; /// - /// Amazon DynamoDB. + /// Amazon DynamoDB /// public const string Dynamodb = "dynamodb"; /// - /// Neo4j. + /// Neo4j /// public const string Neo4j = "neo4j"; /// - /// Apache Geode. + /// Apache Geode /// public const string Geode = "geode"; /// - /// Elasticsearch. + /// Elasticsearch /// public const string Elasticsearch = "elasticsearch"; /// - /// Memcached. + /// Memcached /// public const string Memcached = "memcached"; /// - /// CockroachDB. + /// CockroachDB /// public const string Cockroachdb = "cockroachdb"; /// - /// OpenSearch. + /// OpenSearch /// public const string Opensearch = "opensearch"; /// - /// ClickHouse. + /// ClickHouse /// public const string Clickhouse = "clickhouse"; /// - /// Cloud Spanner. + /// Cloud Spanner /// public const string Spanner = "spanner"; /// - /// Trino. + /// Trino /// public const string Trino = "trino"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs index 38312d89a3..048d733ccb 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DeploymentAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,16 +15,18 @@ namespace OpenTelemetry.SemanticConventions; public static class DeploymentAttributes { /// - /// Name of the deployment environment (aka deployment tier). + /// 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:. + /// 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 index 08d9e7f480..41bc27913d 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DestinationAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,15 +15,15 @@ namespace OpenTelemetry.SemanticConventions; public static class DestinationAttributes { /// - /// Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// 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. + /// When observed from the source side, and when communicating through an intermediary, destination.address SHOULD represent the destination address behind any intermediaries, for example proxies, if it's available /// public const string AttributeDestinationAddress = "destination.address"; /// - /// Destination port number. + /// 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 index 9ea1ebc4fb..04ca99d4ef 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DeviceAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,34 +15,34 @@ namespace OpenTelemetry.SemanticConventions; public static class DeviceAttributes { /// - /// A unique identifier representing the device. + /// 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. + /// 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 name of the device manufacturer /// /// - /// The Android OS provides this field via Build. iOS apps SHOULD hardcode the value Apple. + /// 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. + /// 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. + /// It's recommended this value represents a machine-readable version of the model identifier rather than the market or consumer-friendly name of the device /// public const string AttributeDeviceModelIdentifier = "device.model.identifier"; /// - /// The marketing name for the device model. + /// 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. + /// It's recommended this value represents a human-readable version of the device model rather than a machine-readable alternative /// public const string AttributeDeviceModelName = "device.model.name"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs index efa5cb59ce..14921a8de6 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DiskAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,22 +15,22 @@ namespace OpenTelemetry.SemanticConventions; public static class DiskAttributes { /// - /// The disk IO operation direction. + /// The disk IO operation direction /// public const string AttributeDiskIoDirection = "disk.io.direction"; /// - /// The disk IO operation direction. + /// The disk IO operation direction /// public static class DiskIoDirectionValues { /// - /// read. + /// read /// public const string Read = "read"; /// - /// write. + /// write /// public const string Write = "write"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs index c7db90e746..04dbadfd07 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/DnsAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,10 +15,10 @@ namespace OpenTelemetry.SemanticConventions; public static class DnsAttributes { /// - /// The name being queried. + /// 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. + /// 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 index cdee87e966..5153558c13 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/EnduserAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,17 +15,17 @@ namespace OpenTelemetry.SemanticConventions; public static class EnduserAttributes { /// - /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system. + /// 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. + /// 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. + /// 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 index 4793805994..d8edc109da 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ErrorAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,28 +15,40 @@ namespace OpenTelemetry.SemanticConventions; public static class ErrorAttributes { /// - /// Describes a class of error the operation ended with. + /// 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:. + /// The error.type SHOULD be predictable, and SHOULD have low cardinality. + ///

+ /// When error.type is set to a type (e.g., an exception type), its + /// canonical class name identifying the type within the artifact SHOULD be used. + ///

+ /// Instrumentations SHOULD document the list of errors they report. + ///

+ /// The cardinality of error.type within one instrumentation library SHOULD be low. + /// Telemetry consumers that aggregate data from multiple instrumentation libraries and applications + /// should be prepared for error.type to have high cardinality at query time when no + /// additional filters are applied. + ///

+ /// If the operation has completed successfully, instrumentations SHOULD NOT set error.type. + ///

+ /// If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status codes), + /// it's RECOMMENDED to: + ///

+ ///

///
public const string AttributeErrorType = "error.type"; /// - /// Describes a class of error the operation ended with. + /// 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. + /// 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 index 7def01aeaa..e8885e84d5 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/EventAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,10 +15,10 @@ namespace OpenTelemetry.SemanticConventions; public static class EventAttributes { /// - /// Identifies the class / type of event. + /// 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. + /// 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 index 9b26f61d88..66e71559be 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ExceptionAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,36 +15,40 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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. + /// if that span is ended while the exception is still logically "in flight". + /// This may be actually "in flight" in some languages (e.g. if the exception + /// is passed to a Context manager's __exit__ method in Python) but will + /// usually be caught at the point of recording the exception in most languages. + ///

+ /// It is usually not possible to determine at the point where an exception is thrown + /// whether it will escape the scope of a span. + /// However, it is trivial to know that an exception + /// will escape, if one checks for an active exception just before ending the span, + /// as done in the example for recording span exceptions. + ///

+ /// It follows that an exception may still escape the scope of the span + /// even if the exception.escaped attribute was not set or set to false, + /// since the event might have been recorded at a time where it was not + /// clear whether the exception will escape /// public const string AttributeExceptionEscaped = "exception.escaped"; ///

- /// The exception message. + /// 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. + /// 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. + /// 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 index bf4ff8d157..981e1a4a43 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FaasAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,208 +15,214 @@ namespace OpenTelemetry.SemanticConventions; public static class FaasAttributes { /// - /// A boolean that is true if the serverless function is executed for the first time (aka cold-start). + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC /// public const string AttributeFaasDocumentTime = "faas.document.time"; /// - /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. + /// The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version /// /// /// . + ///
  • AWS Lambda: Use the (full) log stream name
  • + /// ///
    public const string AttributeFaasInstance = "faas.instance"; /// - /// The invocation ID of the current function invocation. + /// The invocation ID of the current function invocation /// public const string AttributeFaasInvocationId = "faas.invocation_id"; /// - /// The name of the invoked function. + /// The name of the invoked function /// /// - /// SHOULD be equal to the faas.name resource attribute 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. + /// The cloud provider of the invoked function /// /// - /// SHOULD be equal to the cloud.provider resource attribute 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. + /// The cloud region of the invoked function /// /// - /// SHOULD be equal to the cloud.region resource attribute 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. + /// 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). + /// It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable AWS_LAMBDA_FUNCTION_MEMORY_SIZE provides this information (which must be multiplied by 1,048,576) /// public const string AttributeFaasMaxMemory = "faas.max_memory"; /// - /// The name of the single function that this runtime instance executes. + /// 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:. + /// 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. + /// 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. + /// Type of the trigger which caused this function invocation /// public const string AttributeFaasTrigger = "faas.trigger"; /// - /// The immutable version of the function being executed. + /// The immutable version of the function being executed /// /// - /// Depending on the cloud provider and platform, use:. + /// 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. + /// Describes the type of the operation that was performed on the data /// public static class FaasDocumentOperationValues { /// - /// When a new object is created. + /// When a new object is created /// public const string Insert = "insert"; /// - /// When an object is modified. + /// When an object is modified /// public const string Edit = "edit"; /// - /// When an object is deleted. + /// When an object is deleted /// public const string Delete = "delete"; } /// - /// The cloud provider of the invoked function. + /// The cloud provider of the invoked function /// public static class FaasInvokedProviderValues { /// - /// Alibaba Cloud. + /// Alibaba Cloud /// public const string AlibabaCloud = "alibaba_cloud"; /// - /// Amazon Web Services. + /// Amazon Web Services /// public const string Aws = "aws"; /// - /// Microsoft Azure. + /// Microsoft Azure /// public const string Azure = "azure"; /// - /// Google Cloud Platform. + /// Google Cloud Platform /// public const string Gcp = "gcp"; /// - /// Tencent Cloud. + /// Tencent Cloud /// public const string TencentCloud = "tencent_cloud"; } /// - /// Type of the trigger which caused this function invocation. + /// 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. + /// 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. + /// 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. + /// 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. + /// A function is scheduled to be executed regularly /// public const string Timer = "timer"; /// - /// If none of the others apply. + /// 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 index 31c3a7c683..b8aee7bdc4 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FeatureFlagAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,25 +15,27 @@ namespace OpenTelemetry.SemanticConventions; public static class FeatureFlagAttributes { /// - /// The unique identifier of the feature flag. + /// 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. + /// 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. + /// 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. + /// 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 index e0d80da3d4..1310eae87e 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/FileAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,30 +15,30 @@ namespace OpenTelemetry.SemanticConventions; public static class FileAttributes { ///

    - /// Directory where the file is located. It should include the drive letter, when appropriate. + /// 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. + /// 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;). + /// When the file name has multiple extensions (example.tar.gz), only the last one should be captured ("gz", not "tar.gz") /// public const string AttributeFileExtension = "file.extension"; /// - /// Name of the file including the extension, without the directory. + /// 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. + /// 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. + /// 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 index d22ebdd455..f1a3601af5 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/GcpAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,22 +15,22 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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. + /// 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. + /// 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. + /// 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/GenAiAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GenAiAttributes.cs new file mode 100644 index 0000000000..b335bf6444 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/Attributes/GenAiAttributes.cs @@ -0,0 +1,96 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' + +#nullable enable + +#pragma warning disable CS1570 // XML comment has badly formed XML + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class GenAiAttributes +{ + /// + /// The full response received from the LLM + /// + /// + /// It's RECOMMENDED to format completions as JSON string matching OpenAI messages format + /// + public const string AttributeGenAiCompletion = "gen_ai.completion"; + + /// + /// The full prompt sent to an LLM + /// + /// + /// It's RECOMMENDED to format prompts as JSON string matching OpenAI messages format + /// + public const string AttributeGenAiPrompt = "gen_ai.prompt"; + + /// + /// The maximum number of tokens the LLM generates for a request + /// + public const string AttributeGenAiRequestMaxTokens = "gen_ai.request.max_tokens"; + + /// + /// The name of the LLM a request is being made to + /// + public const string AttributeGenAiRequestModel = "gen_ai.request.model"; + + /// + /// The temperature setting for the LLM request + /// + public const string AttributeGenAiRequestTemperature = "gen_ai.request.temperature"; + + /// + /// The top_p sampling setting for the LLM request + /// + public const string AttributeGenAiRequestTopP = "gen_ai.request.top_p"; + + /// + /// Array of reasons the model stopped generating tokens, corresponding to each generation received + /// + public const string AttributeGenAiResponseFinishReasons = "gen_ai.response.finish_reasons"; + + /// + /// The unique identifier for the completion + /// + public const string AttributeGenAiResponseId = "gen_ai.response.id"; + + /// + /// The name of the LLM a response was generated from + /// + public const string AttributeGenAiResponseModel = "gen_ai.response.model"; + + /// + /// The Generative AI product as identified by the client instrumentation + /// + /// + /// The actual GenAI product may differ from the one identified by the client. For example, when using OpenAI client libraries to communicate with Mistral, the gen_ai.system is set to openai based on the instrumentation's best knowledge + /// + public const string AttributeGenAiSystem = "gen_ai.system"; + + /// + /// The number of tokens used in the LLM response (completion) + /// + public const string AttributeGenAiUsageCompletionTokens = "gen_ai.usage.completion_tokens"; + + /// + /// The number of tokens used in the LLM prompt + /// + public const string AttributeGenAiUsagePromptTokens = "gen_ai.usage.prompt_tokens"; + + /// + /// The Generative AI product as identified by the client instrumentation + /// + public static class GenAiSystemValues + { + /// + /// OpenAI + /// + public const string Openai = "openai"; + } +} diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs index d41a88d9c6..b770ad6a73 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/GraphqlAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,40 +15,40 @@ namespace OpenTelemetry.SemanticConventions; public static class GraphqlAttributes { /// - /// The GraphQL document being executed. + /// The GraphQL document being executed /// /// - /// The value may be sanitized to exclude sensitive information. + /// The value may be sanitized to exclude sensitive information /// public const string AttributeGraphqlDocument = "graphql.document"; /// - /// The name of the operation being executed. + /// The name of the operation being executed /// public const string AttributeGraphqlOperationName = "graphql.operation.name"; /// - /// The type of the operation being executed. + /// The type of the operation being executed /// public const string AttributeGraphqlOperationType = "graphql.operation.type"; /// - /// The type of the operation being executed. + /// The type of the operation being executed /// public static class GraphqlOperationTypeValues { /// - /// GraphQL query. + /// GraphQL query /// public const string Query = "query"; /// - /// GraphQL mutation. + /// GraphQL mutation /// public const string Mutation = "mutation"; /// - /// GraphQL subscription. + /// GraphQL subscription /// public const string Subscription = "subscription"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs index 0a4f498019..5d4aea042f 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HerokuAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,17 +15,17 @@ namespace OpenTelemetry.SemanticConventions; public static class HerokuAttributes { /// - /// Unique identifier for the application. + /// Unique identifier for the application /// public const string AttributeHerokuAppId = "heroku.app.id"; /// - /// Commit hash for the current release. + /// Commit hash for the current release /// public const string AttributeHerokuReleaseCommit = "heroku.release.commit"; /// - /// Time and date the release was created. + /// 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 index c80d817bde..d4e9506030 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HostAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,131 +15,131 @@ namespace OpenTelemetry.SemanticConventions; public static class HostAttributes { /// - /// The CPU architecture the host system is running on. + /// 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). + /// 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. + /// 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. + /// 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. + /// Model designation of the processor /// public const string AttributeHostCpuModelName = "host.cpu.model.name"; /// - /// Stepping or core revisions. + /// Stepping or core revisions /// public const string AttributeHostCpuStepping = "host.cpu.stepping"; /// - /// Processor manufacturer identifier. A maximum 12-character string. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// The CPU architecture the host system is running on /// public static class HostArchValues { /// - /// AMD64. + /// AMD64 /// public const string Amd64 = "amd64"; /// - /// ARM32. + /// ARM32 /// public const string Arm32 = "arm32"; /// - /// ARM64. + /// ARM64 /// public const string Arm64 = "arm64"; /// - /// Itanium. + /// Itanium /// public const string Ia64 = "ia64"; /// - /// 32-bit PowerPC. + /// 32-bit PowerPC /// public const string Ppc32 = "ppc32"; /// - /// 64-bit PowerPC. + /// 64-bit PowerPC /// public const string Ppc64 = "ppc64"; /// - /// IBM z/Architecture. + /// IBM z/Architecture /// public const string S390x = "s390x"; /// - /// 32-bit x86. + /// 32-bit x86 /// public const string X86 = "x86"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs index e84a5b8bf7..48dec9fbc1 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/HttpAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,250 +15,292 @@ namespace OpenTelemetry.SemanticConventions; public static class HttpAttributes { /// - /// State of the HTTP connection in the HTTP connection pool. + /// Deprecated, use client.address instead + /// + [Obsolete("Replaced by client.address")] + public const string AttributeHttpClientIp = "http.client_ip"; + + /// + /// State of the HTTP connection in the HTTP connection pool /// public const string AttributeHttpConnectionState = "http.connection.state"; /// - /// Deprecated, use network.protocol.name instead. + /// Deprecated, use network.protocol.name instead /// - [Obsolete("Replaced by `network.protocol.name`")] + [Obsolete("Replaced by network.protocol.name")] public const string AttributeHttpFlavor = "http.flavor"; /// - /// Deprecated, use http.request.method instead. + /// Deprecated, use one of server.address, client.address or http.request.header.host instead, depending on the usage /// - [Obsolete("Replaced by `http.request.method`")] + [Obsolete("Replaced by one of server.address, client.address or http.request.header.host, depending on the usage")] + public const string AttributeHttpHost = "http.host"; + + /// + /// 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. + /// 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. + /// 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. + /// The User-Agent header is already captured in the user_agent.original attribute. Users MAY explicitly configure instrumentations to capture them even though it is not recommended. + /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers /// - public const string AttributeHttpRequestHeader = "http.request.header"; + public const string AttributeHttpRequestHeaderTemplate = "http.request.header"; /// - /// HTTP request method. + /// 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. + /// HTTP request method value SHOULD be "known" to the instrumentation. + /// By default, this convention defines "known" methods as the ones listed in RFC9110 + /// and the PATCH method defined in RFC5789. + ///

    + /// If the HTTP request method is not known to instrumentation, it MUST set the http.request.method attribute to _OTHER. + ///

    + /// If the HTTP instrumentation could end up converting valid HTTP request methods to _OTHER, then it MUST provide a way to override + /// the list of known HTTP methods. If this override is done via environment variable, then the environment variable MUST be named + /// OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive known HTTP methods + /// (this list MUST be a full override of the default known method, it is not a list of known methods in addition to the defaults). + ///

    + /// HTTP method names are case-sensitive and http.request.method attribute value MUST match a known HTTP method name exactly. + /// Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. + /// Tracing instrumentations that do so, MUST also set http.request.method_original to the original value /// public const string AttributeHttpRequestMethod = "http.request.method"; ///

    - /// Original HTTP method sent by the client in the request line. + /// 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 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). + /// 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. + /// 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. + /// Deprecated, use http.request.header.content-length instead /// - [Obsolete("Replaced by `http.request.header.content-length`")] + [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. + /// Deprecated, use http.request.body.size instead + /// + [Obsolete("Replaced by http.request.body.size")] + public const string AttributeHttpRequestContentLengthUncompressed = "http.request_content_length_uncompressed"; + + /// + /// 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. + /// 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. + /// Users MAY explicitly configure instrumentations to capture them even though it is not recommended. + /// The attribute value MUST consist of either multiple header values as an array of strings or a single-item array containing a possibly comma-concatenated string, depending on the way the HTTP library provides access to headers /// - public const string AttributeHttpResponseHeader = "http.response.header"; + public const string AttributeHttpResponseHeaderTemplate = "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. + /// 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. + /// HTTP response status code /// public const string AttributeHttpResponseStatusCode = "http.response.status_code"; /// - /// Deprecated, use http.response.header.content-length instead. + /// Deprecated, use http.response.header.content-length instead /// - [Obsolete("Replaced by `http.response.header.content-length`")] + [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. + /// Deprecated, use http.response.body.size instead + /// + [Obsolete("Replace by http.response.body.size")] + public const string AttributeHttpResponseContentLengthUncompressed = "http.response_content_length_uncompressed"; + + /// + /// 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. + /// SHOULD include the application root if there is one /// public const string AttributeHttpRoute = "http.route"; /// - /// Deprecated, use url.scheme instead. + /// Deprecated, use url.scheme instead /// - [Obsolete("Replaced by `url.scheme` instead")] + [Obsolete("Replaced by url.scheme instead")] public const string AttributeHttpScheme = "http.scheme"; /// - /// Deprecated, use http.response.status_code instead. + /// Deprecated, use server.address instead + /// + [Obsolete("Replaced by server.address")] + public const string AttributeHttpServerName = "http.server_name"; + + /// + /// Deprecated, use http.response.status_code instead /// - [Obsolete("Replaced by `http.response.status_code`")] + [Obsolete("Replaced by http.response.status_code")] public const string AttributeHttpStatusCode = "http.status_code"; /// - /// Deprecated, use url.path and url.query instead. + /// Deprecated, use url.path and url.query instead /// - [Obsolete("Split to `url.path` and `url.query")] + [Obsolete("Split to url.path and `url.query")] public const string AttributeHttpTarget = "http.target"; /// - /// Deprecated, use url.full instead. + /// Deprecated, use url.full instead /// - [Obsolete("Replaced by `url.full`")] + [Obsolete("Replaced by url.full")] public const string AttributeHttpUrl = "http.url"; /// - /// Deprecated, use user_agent.original instead. + /// Deprecated, use user_agent.original instead /// - [Obsolete("Replaced by `user_agent.original`")] + [Obsolete("Replaced by user_agent.original")] public const string AttributeHttpUserAgent = "http.user_agent"; /// - /// State of the HTTP connection in the HTTP connection pool. + /// State of the HTTP connection in the HTTP connection pool /// public static class HttpConnectionStateValues { /// - /// active state. + /// active state /// public const string Active = "active"; /// - /// idle state. + /// idle state /// public const string Idle = "idle"; } /// - /// Deprecated, use network.protocol.name instead. + /// Deprecated, use network.protocol.name instead /// public static class HttpFlavorValues { /// - /// HTTP/1.0. + /// HTTP/1.0 /// + [Obsolete("Replaced by network.protocol.name")] public const string Http10 = "1.0"; /// - /// HTTP/1.1. + /// HTTP/1.1 /// + [Obsolete("Replaced by network.protocol.name")] public const string Http11 = "1.1"; /// - /// HTTP/2. + /// HTTP/2 /// + [Obsolete("Replaced by network.protocol.name")] public const string Http20 = "2.0"; /// - /// HTTP/3. + /// HTTP/3 /// + [Obsolete("Replaced by network.protocol.name")] public const string Http30 = "3.0"; /// - /// SPDY protocol. + /// SPDY protocol /// + [Obsolete("Replaced by network.protocol.name")] public const string Spdy = "SPDY"; /// - /// QUIC protocol. + /// QUIC protocol /// + [Obsolete("Replaced by network.protocol.name")] public const string Quic = "QUIC"; } /// - /// HTTP request method. + /// HTTP request method /// public static class HttpRequestMethodValues { /// - /// CONNECT method. + /// CONNECT method /// public const string Connect = "CONNECT"; /// - /// DELETE method. + /// DELETE method /// public const string Delete = "DELETE"; /// - /// GET method. + /// GET method /// public const string Get = "GET"; /// - /// HEAD method. + /// HEAD method /// public const string Head = "HEAD"; /// - /// OPTIONS method. + /// OPTIONS method /// public const string Options = "OPTIONS"; /// - /// PATCH method. + /// PATCH method /// public const string Patch = "PATCH"; /// - /// POST method. + /// POST method /// public const string Post = "POST"; /// - /// PUT method. + /// PUT method /// public const string Put = "PUT"; /// - /// TRACE method. + /// TRACE method /// public const string Trace = "TRACE"; /// - /// Any HTTP method that the instrumentation has no prior knowledge of. + /// 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 index 0ba843170d..d8a2b6b686 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/IosAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,41 +15,47 @@ namespace OpenTelemetry.SemanticConventions; public static class IosAttributes { /// - /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// Deprecated use the device.app.lifecycle event definition including ios.state as a payload field instead /// /// - /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived. + /// The iOS lifecycle states are defined in the UIApplicationDelegate documentation, and from which the OS terminology column values are derived /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string AttributeIosState = "ios.state"; /// - /// This attribute represents the state the application has transitioned into at the occurrence of the event. + /// Deprecated use the device.app.lifecycle event definition including ios.state as a payload field instead /// public static class IosStateValues { /// - /// The app has become active. Associated with UIKit notification applicationDidBecomeActive. + /// The app has become active. Associated with UIKit notification applicationDidBecomeActive /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string Active = "active"; /// - /// The app is now inactive. Associated with UIKit notification applicationWillResignActive. + /// The app is now inactive. Associated with UIKit notification applicationWillResignActive /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string Inactive = "inactive"; /// - /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground. + /// The app is now in the background. This value is associated with UIKit notification applicationDidEnterBackground /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string Background = "background"; /// - /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground. + /// The app is now in the foreground. This value is associated with UIKit notification applicationWillEnterForeground /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string Foreground = "foreground"; /// - /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate. + /// The app is about to terminate. Associated with UIKit notification applicationWillTerminate /// + [Obsolete("Moved to a payload field of device.app.lifecycle")] public const string Terminate = "terminate"; } } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs index 74ba9d1983..f51450b140 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/JvmAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,100 +15,100 @@ namespace OpenTelemetry.SemanticConventions; public static class JvmAttributes { /// - /// Name of the buffer pool. + /// Name of the buffer pool /// /// - /// Pool names are generally obtained via BufferPoolMXBean#getName(). + /// Pool names are generally obtained via BufferPoolMXBean#getName() /// public const string AttributeJvmBufferPoolName = "jvm.buffer.pool.name"; /// - /// Name of the garbage collector action. + /// Name of the garbage collector action /// /// - /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction(). + /// Garbage collector action is generally obtained via GarbageCollectionNotificationInfo#getGcAction() /// public const string AttributeJvmGcAction = "jvm.gc.action"; /// - /// Name of the garbage collector. + /// Name of the garbage collector /// /// - /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName(). + /// Garbage collector name is generally obtained via GarbageCollectionNotificationInfo#getGcName() /// public const string AttributeJvmGcName = "jvm.gc.name"; /// - /// Name of the memory pool. + /// Name of the memory pool /// /// - /// Pool names are generally obtained via MemoryPoolMXBean#getName(). + /// Pool names are generally obtained via MemoryPoolMXBean#getName() /// public const string AttributeJvmMemoryPoolName = "jvm.memory.pool.name"; /// - /// The type of memory. + /// The type of memory /// public const string AttributeJvmMemoryType = "jvm.memory.type"; /// - /// Whether the thread is daemon or not. + /// Whether the thread is daemon or not /// public const string AttributeJvmThreadDaemon = "jvm.thread.daemon"; /// - /// State of the thread. + /// State of the thread /// public const string AttributeJvmThreadState = "jvm.thread.state"; /// - /// The type of memory. + /// The type of memory /// public static class JvmMemoryTypeValues { /// - /// Heap memory. + /// Heap memory /// public const string Heap = "heap"; /// - /// Non-heap memory. + /// Non-heap memory /// public const string NonHeap = "non_heap"; } /// - /// State of the thread. + /// State of the thread /// public static class JvmThreadStateValues { /// - /// A thread that has not yet started is in this state. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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 index 614ce06d72..e1013adc29 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/K8sAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,141 +15,154 @@ namespace OpenTelemetry.SemanticConventions; public static class K8sAttributes { /// - /// The name of the cluster. + /// 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. + /// 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. + /// K8s doesn't have support for obtaining a cluster ID. If this is ever + /// added, we will recommend collecting the k8s.cluster.uid through the + /// official APIs. In the meantime, we are able to use the uid of the + /// kube-system namespace as a proxy for cluster ID. Read on for the + /// rationale. + ///

    + /// Every object created in a K8s cluster is assigned a distinct UID. The + /// kube-system namespace is used by Kubernetes itself and will exist + /// for the lifetime of the cluster. Using the uid of the kube-system + /// namespace is a reasonable proxy for the K8s ClusterID as it will only + /// change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are + /// UUIDs as standardized by + /// ISO/IEC 9834-8 and ITU-T X.667. + /// Which states: + ///

    + ///

    + /// If generated according to one of the mechanisms defined in Rec. + /// ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be + /// different from all other UUIDs generated before 3603 A.D., or is + /// extremely likely to be different (depending on the mechanism chosen).
    + /// + ///

    + /// Therefore, UIDs between clusters should be extremely unlikely to + /// conflict /// public const string AttributeK8sClusterUid = "k8s.cluster.uid"; ///

    - /// The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name). + /// 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. + /// 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. + /// Last terminated reason of the Container + /// + public const string AttributeK8sContainerStatusLastTerminatedReason = "k8s.container.status.last_terminated_reason"; + + /// + /// The name of the CronJob /// public const string AttributeK8sCronjobName = "k8s.cronjob.name"; /// - /// The UID of the CronJob. + /// The UID of the CronJob /// public const string AttributeK8sCronjobUid = "k8s.cronjob.uid"; /// - /// The name of the DaemonSet. + /// The name of the DaemonSet /// public const string AttributeK8sDaemonsetName = "k8s.daemonset.name"; /// - /// The UID of the DaemonSet. + /// The UID of the DaemonSet /// public const string AttributeK8sDaemonsetUid = "k8s.daemonset.uid"; /// - /// The name of the Deployment. + /// The name of the Deployment /// public const string AttributeK8sDeploymentName = "k8s.deployment.name"; /// - /// The UID of the Deployment. + /// The UID of the Deployment /// public const string AttributeK8sDeploymentUid = "k8s.deployment.uid"; /// - /// The name of the Job. + /// The name of the Job /// public const string AttributeK8sJobName = "k8s.job.name"; /// - /// The UID of the Job. + /// The UID of the Job /// public const string AttributeK8sJobUid = "k8s.job.uid"; /// - /// The name of the namespace that the pod is running in. + /// The name of the namespace that the pod is running in /// public const string AttributeK8sNamespaceName = "k8s.namespace.name"; /// - /// The name of the Node. + /// The name of the Node /// public const string AttributeK8sNodeName = "k8s.node.name"; /// - /// The UID of the Node. + /// 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. + /// 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"; + public const string AttributeK8sPodAnnotationTemplate = "k8s.pod.annotation"; /// - /// The label key-value pairs placed on the Pod, the being the label name, the value being the label value. + /// 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"; + public const string AttributeK8sPodLabelTemplate = "k8s.pod.label"; /// - /// Deprecated, use k8s.pod.label instead. + /// Deprecated, use k8s.pod.label instead /// - [Obsolete("Replaced by `k8s.pod.label`")] - public const string AttributeK8sPodLabels = "k8s.pod.labels"; + [Obsolete("Replaced by k8s.pod.label")] + public const string AttributeK8sPodLabelsTemplate = "k8s.pod.labels"; /// - /// The name of the Pod. + /// The name of the Pod /// public const string AttributeK8sPodName = "k8s.pod.name"; /// - /// The UID of the Pod. + /// The UID of the Pod /// public const string AttributeK8sPodUid = "k8s.pod.uid"; /// - /// The name of the ReplicaSet. + /// The name of the ReplicaSet /// public const string AttributeK8sReplicasetName = "k8s.replicaset.name"; /// - /// The UID of the ReplicaSet. + /// The UID of the ReplicaSet /// public const string AttributeK8sReplicasetUid = "k8s.replicaset.uid"; /// - /// The name of the StatefulSet. + /// The name of the StatefulSet /// public const string AttributeK8sStatefulsetName = "k8s.statefulset.name"; /// - /// The UID of the StatefulSet. + /// 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 index a314e0deb4..6ac9fc3706 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/LogAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,51 +15,51 @@ namespace OpenTelemetry.SemanticConventions; public static class LogAttributes { /// - /// The basename of the file. + /// The basename of the file /// public const string AttributeLogFileName = "log.file.name"; /// - /// The basename of the file, with symlinks resolved. + /// The basename of the file, with symlinks resolved /// public const string AttributeLogFileNameResolved = "log.file.name_resolved"; /// - /// The full path to the file. + /// The full path to the file /// public const string AttributeLogFilePath = "log.file.path"; /// - /// The full path to the file, with symlinks resolved. + /// The full path to the file, with symlinks resolved /// public const string AttributeLogFilePathResolved = "log.file.path_resolved"; /// - /// The stream associated with the log. See below for a list of well-known values. + /// 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. + /// 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. + /// 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. + /// The stream associated with the log. See below for a list of well-known values /// public static class LogIostreamValues { /// - /// Logs from stdout stream. + /// Logs from stdout stream /// public const string Stdout = "stdout"; /// - /// Events from stderr stream. + /// 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 index 5014c3b41d..af856c42b4 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/MessageAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,41 +15,44 @@ namespace OpenTelemetry.SemanticConventions; public static class MessageAttributes { /// - /// Compressed size of the message in bytes. + /// Deprecated, use rpc.message.compressed_size instead /// + [Obsolete("Replaced by rpc.message.compressed_size")] public const string AttributeMessageCompressedSize = "message.compressed_size"; /// - /// MUST be calculated as two different counters starting from 1 one for sent messages and one for received message. + /// Deprecated, use rpc.message.id instead /// - /// - /// This way we guarantee that the values will be consistent between different implementations. - /// + [Obsolete("Replaced by rpc.message.id")] public const string AttributeMessageId = "message.id"; /// - /// Whether this is a received or sent message. + /// Deprecated, use rpc.message.type instead /// + [Obsolete("Replaced by rpc.message.type")] public const string AttributeMessageType = "message.type"; /// - /// Uncompressed size of the message in bytes. + /// Deprecated, use rpc.message.uncompressed_size instead /// + [Obsolete("Replaced by rpc.message.uncompressed_size")] public const string AttributeMessageUncompressedSize = "message.uncompressed_size"; /// - /// Whether this is a received or sent message. + /// Deprecated, use rpc.message.type instead /// public static class MessageTypeValues { /// - /// sent. + /// sent /// + [Obsolete("Replaced by rpc.message.type")] public const string Sent = "SENT"; /// - /// received. + /// received /// + [Obsolete("Replaced by rpc.message.type")] public const string Received = "RECEIVED"; } } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs index 22c391ac2a..ba9a5dc46a 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/MessagingAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,375 +15,404 @@ namespace OpenTelemetry.SemanticConventions; public static class MessagingAttributes { /// - /// The number of messages sent, received, or processed in the scope of the batching operation. + /// 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. + /// 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. + /// A unique identifier for the client that consumes or produces a message /// - public const string AttributeMessagingClientId = "messaging.client_id"; + 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). + /// 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. + /// 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. + /// the broker doesn't have such notion, the destination name SHOULD uniquely identify the broker /// public const string AttributeMessagingDestinationName = "messaging.destination.name"; /// - /// The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name. + /// 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. + /// 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. + /// 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. + /// 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). + /// 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 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. + /// the broker doesn't have such notion, the original destination name SHOULD uniquely identify the broker /// public const string AttributeMessagingDestinationPublishName = "messaging.destination_publish.name"; /// - /// The name of the consumer group the event consumer is associated with. + /// 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. + /// 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. + /// The ack deadline in seconds set for the modify ack deadline request + /// + public const string AttributeMessagingGcpPubsubMessageAckDeadline = "messaging.gcp_pubsub.message.ack_deadline"; + + /// + /// The ack id for a given message + /// + public const string AttributeMessagingGcpPubsubMessageAckId = "messaging.gcp_pubsub.message.ack_id"; + + /// + /// The delivery attempt for a given message + /// + public const string AttributeMessagingGcpPubsubMessageDeliveryAttempt = "messaging.gcp_pubsub.message.delivery_attempt"; + + /// + /// 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. + /// 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.". + /// Deprecated, use messaging.destination.partition.id instead /// - [Obsolete("Replaced by `messaging.destination.partition.id`")] + [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. + /// 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. + /// If the key type is not string, it's string representation has to be supplied for the attribute. If the key has no unambiguous, canonical string form, don't include its value /// public const string AttributeMessagingKafkaMessageKey = "messaging.kafka.message.key"; /// - /// The offset of a record in the corresponding Kafka partition. + /// 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. + /// 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. + /// 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. + /// 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". + /// 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. + /// 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. + /// 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. + /// 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. + /// Deprecated, use messaging.operation.type instead + /// + [Obsolete("Replaced by messaging.operation.type")] + public const string AttributeMessagingOperation = "messaging.operation"; + + /// + /// The system-specific name of the messaging operation + /// + public const string AttributeMessagingOperationName = "messaging.operation.name"; + + /// + /// A string identifying the type of the messaging operation /// /// - /// If a custom value is used, it MUST be of low cardinality. + /// If a custom value is used, it MUST be of low cardinality /// - public const string AttributeMessagingOperation = "messaging.operation"; + public const string AttributeMessagingOperationType = "messaging.operation.type"; /// - /// RabbitMQ message routing key. + /// RabbitMQ message routing key /// public const string AttributeMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key"; /// - /// RabbitMQ message delivery tag. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// The secondary classifier of message besides topic /// public const string AttributeMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag"; /// - /// Type of message. + /// Type of message /// public const string AttributeMessagingRocketmqMessageType = "messaging.rocketmq.message.type"; /// - /// Namespace of RocketMQ resources, resources in different namespaces are individual. + /// 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. + /// 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. + /// Describes the settlement type /// public const string AttributeMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status"; /// - /// Number of deliveries that have been attempted for this message. + /// 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. + /// 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. + /// The messaging system as identified by the client instrumentation /// + /// + /// The actual messaging system may differ from the one known by the client. For example, when using Kafka client libraries to communicate with Azure Event Hubs, the messaging.system is set to kafka based on the instrumentation's best knowledge + /// public const string AttributeMessagingSystem = "messaging.system"; /// - /// A string identifying the kind of messaging operation. + /// A string identifying the type of the messaging operation /// - public static class MessagingOperationValues + public static class MessagingOperationTypeValues { /// - /// 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. + /// 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. + /// 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. + /// 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. + /// One or more messages are delivered to or processed by a consumer /// public const string Deliver = "process"; /// - /// One or more messages are settled. + /// One or more messages are settled /// public const string Settle = "settle"; } /// - /// Model of message consumption. This only applies to consumer spans. + /// Model of message consumption. This only applies to consumer spans /// public static class MessagingRocketmqConsumptionModelValues { /// - /// Clustering consumption model. + /// Clustering consumption model /// public const string Clustering = "clustering"; /// - /// Broadcasting consumption model. + /// Broadcasting consumption model /// public const string Broadcasting = "broadcasting"; } /// - /// Type of message. + /// Type of message /// public static class MessagingRocketmqMessageTypeValues { /// - /// Normal message. + /// Normal message /// public const string Normal = "normal"; /// - /// FIFO message. + /// FIFO message /// public const string Fifo = "fifo"; /// - /// Delay message. + /// Delay message /// public const string Delay = "delay"; /// - /// Transaction message. + /// Transaction message /// public const string Transaction = "transaction"; } /// - /// Describes the settlement type. + /// Describes the settlement type /// public static class MessagingServicebusDispositionStatusValues { /// - /// Message is completed. + /// Message is completed /// public const string Complete = "complete"; /// - /// Message is abandoned. + /// Message is abandoned /// public const string Abandon = "abandon"; /// - /// Message is sent to dead letter queue. + /// Message is sent to dead letter queue /// public const string DeadLetter = "dead_letter"; /// - /// Message is deferred. + /// 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. + /// The messaging system as identified by the client instrumentation /// public static class MessagingSystemValues { /// - /// Apache ActiveMQ. + /// Apache ActiveMQ /// public const string Activemq = "activemq"; /// - /// Amazon Simple Queue Service (SQS). + /// Amazon Simple Queue Service (SQS) /// public const string AwsSqs = "aws_sqs"; /// - /// Azure Event Grid. + /// Azure Event Grid /// public const string Eventgrid = "eventgrid"; /// - /// Azure Event Hubs. + /// Azure Event Hubs /// public const string Eventhubs = "eventhubs"; /// - /// Azure Service Bus. + /// Azure Service Bus /// public const string Servicebus = "servicebus"; /// - /// Google Cloud Pub/Sub. + /// Google Cloud Pub/Sub /// public const string GcpPubsub = "gcp_pubsub"; /// - /// Java Message Service. + /// Java Message Service /// public const string Jms = "jms"; /// - /// Apache Kafka. + /// Apache Kafka /// public const string Kafka = "kafka"; /// - /// RabbitMQ. + /// RabbitMQ /// public const string Rabbitmq = "rabbitmq"; /// - /// Apache RocketMQ. + /// Apache RocketMQ /// public const string Rocketmq = "rocketmq"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs index 70ea82c16e..06fdfff932 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/NetAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,132 +15,152 @@ namespace OpenTelemetry.SemanticConventions; public static class NetAttributes { /// - /// Deprecated, use server.address. + /// Deprecated, use network.local.address + /// + [Obsolete("Replaced by network.local.address")] + public const string AttributeNetHostIp = "net.host.ip"; + + /// + /// Deprecated, use server.address /// - [Obsolete("Replaced by `server.address`")] + [Obsolete("Replaced by server.address")] public const string AttributeNetHostName = "net.host.name"; /// - /// Deprecated, use server.port. + /// Deprecated, use server.port /// - [Obsolete("Replaced by `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. + /// Deprecated, use network.peer.address + /// + [Obsolete("Replaced by network.peer.address")] + public const string AttributeNetPeerIp = "net.peer.ip"; + + /// + /// 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")] + [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. + /// 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")] + [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. + /// Deprecated, use network.protocol.name /// - [Obsolete("Replaced by `network.protocol.name`")] + [Obsolete("Replaced by network.protocol.name")] public const string AttributeNetProtocolName = "net.protocol.name"; /// - /// Deprecated, use network.protocol.version. + /// Deprecated, use network.protocol.version /// - [Obsolete("Replaced by `network.protocol.version`")] + [Obsolete("Replaced by network.protocol.version")] public const string AttributeNetProtocolVersion = "net.protocol.version"; /// - /// Deprecated, use network.transport and network.type. + /// Deprecated, use network.transport and network.type /// - [Obsolete("Split to `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. + /// Deprecated, use network.local.address /// - [Obsolete("Replaced by `network.local.address`")] + [Obsolete("Replaced by network.local.address")] public const string AttributeNetSockHostAddr = "net.sock.host.addr"; /// - /// Deprecated, use network.local.port. + /// Deprecated, use network.local.port /// - [Obsolete("Replaced by `network.local.port`")] + [Obsolete("Replaced by network.local.port")] public const string AttributeNetSockHostPort = "net.sock.host.port"; /// - /// Deprecated, use network.peer.address. + /// Deprecated, use network.peer.address /// - [Obsolete("Replaced by `network.peer.address`")] + [Obsolete("Replaced by network.peer.address")] public const string AttributeNetSockPeerAddr = "net.sock.peer.addr"; /// - /// Deprecated, no replacement at this time. + /// Deprecated, no replacement at this time /// [Obsolete("Removed")] public const string AttributeNetSockPeerName = "net.sock.peer.name"; /// - /// Deprecated, use network.peer.port. + /// Deprecated, use network.peer.port /// - [Obsolete("Replaced by `network.peer.port`")] + [Obsolete("Replaced by network.peer.port")] public const string AttributeNetSockPeerPort = "net.sock.peer.port"; /// - /// Deprecated, use network.transport. + /// Deprecated, use network.transport /// - [Obsolete("Replaced by `network.transport`")] + [Obsolete("Replaced by network.transport")] public const string AttributeNetTransport = "net.transport"; /// - /// Deprecated, use network.transport and network.type. + /// Deprecated, use network.transport and network.type /// public static class NetSockFamilyValues { /// - /// IPv4 address. + /// IPv4 address /// + [Obsolete("Split to network.transport and network.type")] public const string Inet = "inet"; /// - /// IPv6 address. + /// IPv6 address /// + [Obsolete("Split to network.transport and network.type")] public const string Inet6 = "inet6"; /// - /// Unix domain socket path. + /// Unix domain socket path /// + [Obsolete("Split to network.transport and network.type")] public const string Unix = "unix"; } /// - /// Deprecated, use network.transport. + /// Deprecated, use network.transport /// public static class NetTransportValues { /// - /// ip_tcp. + /// ip_tcp /// + [Obsolete("Replaced by network.transport")] public const string IpTcp = "ip_tcp"; /// - /// ip_udp. + /// ip_udp /// + [Obsolete("Replaced by network.transport")] public const string IpUdp = "ip_udp"; /// - /// Named or anonymous pipe. + /// Named or anonymous pipe /// + [Obsolete("Replaced by network.transport")] public const string Pipe = "pipe"; /// - /// In-process communication. + /// In-process communication /// + [Obsolete("Replaced by network.transport")] public const string Inproc = "inproc"; /// - /// Something else (non IP-based). + /// Something else (non IP-based) /// + [Obsolete("Replaced by network.transport")] public const string Other = "other"; } } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs index 77e6914a6c..7bf9321337 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/NetworkAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,290 +15,292 @@ namespace OpenTelemetry.SemanticConventions; public static class NetworkAttributes { /// - /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + /// 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. + /// The mobile carrier country code /// public const string AttributeNetworkCarrierMcc = "network.carrier.mcc"; /// - /// The mobile carrier network code. + /// The mobile carrier network code /// public const string AttributeNetworkCarrierMnc = "network.carrier.mnc"; /// - /// The name of the mobile carrier. + /// 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. + /// 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. + /// The internet connection type /// public const string AttributeNetworkConnectionType = "network.connection.type"; /// - /// The network IO operation direction. + /// 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. + /// 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. + /// 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. + /// 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. + /// Peer port number of the network connection /// public const string AttributeNetworkPeerPort = "network.peer.port"; /// - /// OSI application layer or non-OSI equivalent. + /// OSI application layer or non-OSI equivalent /// /// - /// The value SHOULD be normalized to lowercase. + /// The value SHOULD be normalized to lowercase /// public const string AttributeNetworkProtocolName = "network.protocol.name"; /// - /// The actual version of the protocol used for network communication. + /// 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. + /// 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. + /// 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. + /// 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. + /// OSI network layer or non-OSI equivalent /// /// - /// The value SHOULD be normalized to lowercase. + /// 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. + /// 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. + /// GPRS /// public const string Gprs = "gprs"; /// - /// EDGE. + /// EDGE /// public const string Edge = "edge"; /// - /// UMTS. + /// UMTS /// public const string Umts = "umts"; /// - /// CDMA. + /// CDMA /// public const string Cdma = "cdma"; /// - /// EVDO Rel. 0. + /// EVDO Rel. 0 /// public const string Evdo0 = "evdo_0"; /// - /// EVDO Rev. A. + /// EVDO Rev. A /// public const string EvdoA = "evdo_a"; /// - /// CDMA2000 1XRTT. + /// CDMA2000 1XRTT /// public const string Cdma20001xrtt = "cdma2000_1xrtt"; /// - /// HSDPA. + /// HSDPA /// public const string Hsdpa = "hsdpa"; /// - /// HSUPA. + /// HSUPA /// public const string Hsupa = "hsupa"; /// - /// HSPA. + /// HSPA /// public const string Hspa = "hspa"; /// - /// IDEN. + /// IDEN /// public const string Iden = "iden"; /// - /// EVDO Rev. B. + /// EVDO Rev. B /// public const string EvdoB = "evdo_b"; /// - /// LTE. + /// LTE /// public const string Lte = "lte"; /// - /// EHRPD. + /// EHRPD /// public const string Ehrpd = "ehrpd"; /// - /// HSPAP. + /// HSPAP /// public const string Hspap = "hspap"; /// - /// GSM. + /// GSM /// public const string Gsm = "gsm"; /// - /// TD-SCDMA. + /// TD-SCDMA /// public const string TdScdma = "td_scdma"; /// - /// IWLAN. + /// IWLAN /// public const string Iwlan = "iwlan"; /// - /// 5G NR (New Radio). + /// 5G NR (New Radio) /// public const string Nr = "nr"; /// - /// 5G NRNSA (New Radio Non-Standalone). + /// 5G NRNSA (New Radio Non-Standalone) /// public const string Nrnsa = "nrnsa"; /// - /// LTE CA. + /// LTE CA /// public const string LteCa = "lte_ca"; } /// - /// The internet connection type. + /// The internet connection type /// public static class NetworkConnectionTypeValues { /// - /// wifi. + /// wifi /// public const string Wifi = "wifi"; /// - /// wired. + /// wired /// public const string Wired = "wired"; /// - /// cell. + /// cell /// public const string Cell = "cell"; /// - /// unavailable. + /// unavailable /// public const string Unavailable = "unavailable"; /// - /// unknown. + /// unknown /// public const string Unknown = "unknown"; } /// - /// The network IO operation direction. + /// The network IO operation direction /// public static class NetworkIoDirectionValues { /// - /// transmit. + /// transmit /// public const string Transmit = "transmit"; /// - /// receive. + /// receive /// public const string Receive = "receive"; } /// - /// OSI transport layer or inter-process communication method. + /// OSI transport layer or inter-process communication method /// public static class NetworkTransportValues { /// - /// TCP. + /// TCP /// public const string Tcp = "tcp"; /// - /// UDP. + /// UDP /// public const string Udp = "udp"; /// - /// Named or anonymous pipe. + /// Named or anonymous pipe /// public const string Pipe = "pipe"; /// - /// Unix domain socket. + /// Unix domain socket /// public const string Unix = "unix"; } /// - /// OSI network layer or non-OSI equivalent. + /// OSI network layer or non-OSI equivalent /// public static class NetworkTypeValues { /// - /// IPv4. + /// IPv4 /// public const string Ipv4 = "ipv4"; /// - /// IPv6. + /// IPv6 /// public const string Ipv6 = "ipv6"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs index 7168299a0e..ca9e010ce8 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OciAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,11 +15,11 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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. + /// 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 index fbad4c94c8..99041c4ea9 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OpentracingAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,25 +15,25 @@ namespace OpenTelemetry.SemanticConventions; public static class OpentracingAttributes { /// - /// Parent-child Reference type. + /// Parent-child Reference type /// /// - /// The causal relationship between a child Span and a parent Span. + /// The causal relationship between a child Span and a parent Span /// public const string AttributeOpentracingRefType = "opentracing.ref_type"; /// - /// Parent-child Reference type. + /// Parent-child Reference type /// public static class OpentracingRefTypeValues { /// - /// The parent Span depends on the child Span in some capacity. + /// 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. + /// 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 index fd9e81d555..f5700c4ef3 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OsAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,87 +15,87 @@ namespace OpenTelemetry.SemanticConventions; public static class OsAttributes { /// - /// Unique identifier for a particular build or compilation of the operating system. + /// 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. + /// 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. + /// Human readable operating system name /// public const string AttributeOsName = "os.name"; /// - /// The operating system type. + /// The operating system type /// public const string AttributeOsType = "os.type"; /// - /// The version string of the operating system as defined in Version Attributes. + /// The version string of the operating system as defined in Version Attributes /// public const string AttributeOsVersion = "os.version"; /// - /// The operating system type. + /// The operating system type /// public static class OsTypeValues { /// - /// Microsoft Windows. + /// Microsoft Windows /// public const string Windows = "windows"; /// - /// Linux. + /// Linux /// public const string Linux = "linux"; /// - /// Apple Darwin. + /// Apple Darwin /// public const string Darwin = "darwin"; /// - /// FreeBSD. + /// FreeBSD /// public const string Freebsd = "freebsd"; /// - /// NetBSD. + /// NetBSD /// public const string Netbsd = "netbsd"; /// - /// OpenBSD. + /// OpenBSD /// public const string Openbsd = "openbsd"; /// - /// DragonFly BSD. + /// DragonFly BSD /// public const string Dragonflybsd = "dragonflybsd"; /// - /// HP-UX (Hewlett Packard Unix). + /// HP-UX (Hewlett Packard Unix) /// public const string Hpux = "hpux"; /// - /// AIX (Advanced Interactive eXecutive). + /// AIX (Advanced Interactive eXecutive) /// public const string Aix = "aix"; /// - /// SunOS, Oracle Solaris. + /// SunOS, Oracle Solaris /// public const string Solaris = "solaris"; /// - /// IBM z/OS. + /// 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 index 03c76f69ae..56695acece 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OtelAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,49 +15,37 @@ namespace OpenTelemetry.SemanticConventions; 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). + /// 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). + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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 index e489e2a8e0..025f142845 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/OtherAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,23 +15,26 @@ namespace OpenTelemetry.SemanticConventions; public static class OtherAttributes { /// - /// The state of a connection in the pool. + /// Deprecated, use db.client.connections.state instead /// + [Obsolete("Replaced by db.client.connections.state")] public const string AttributeState = "state"; /// - /// The state of a connection in the pool. + /// Deprecated, use db.client.connections.state instead /// public static class StateValues { /// - /// idle. + /// idle /// + [Obsolete("Replaced by db.client.connections.state")] public const string Idle = "idle"; /// - /// used. + /// used /// + [Obsolete("Replaced by db.client.connections.state")] public const string Used = "used"; } } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs index d186722a12..3908588744 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/PeerAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,7 +15,7 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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 index 3e8f9d2dd6..f09530bc5a 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/PoolAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,7 +15,8 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// Deprecated, use db.client.connections.pool.name instead /// + [Obsolete("Replaced by db.client.connections.pool.name")] public const string AttributePoolName = "pool.name"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs index 4c9870fdd6..46c32087eb 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ProcessAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,124 +15,192 @@ namespace OpenTelemetry.SemanticConventions; 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// The CPU state of the process /// 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. + /// The date and time the process was created, in ISO 8601 format + /// + public const string AttributeProcessCreationTime = "process.creation.time"; + + /// + /// 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. + /// 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. + /// The exit code of the process + /// + public const string AttributeProcessExitCode = "process.exit.code"; + + /// + /// The date and time the process exited, in ISO 8601 format + /// + public const string AttributeProcessExitTime = "process.exit.time"; + + /// + /// The PID of the process's group leader. This is also the process group ID (PGID) of the process + /// + public const string AttributeProcessGroupLeaderPid = "process.group_leader.pid"; + + /// + /// Whether the process is connected to an interactive shell + /// + public const string AttributeProcessInteractive = "process.interactive"; + + /// + /// 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. + /// 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). + /// Parent Process identifier (PPID) /// public const string AttributeProcessParentPid = "process.parent_pid"; /// - /// Process identifier (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. + /// The real user ID (RUID) of the process + /// + public const string AttributeProcessRealUserId = "process.real_user.id"; + + /// + /// The username of the real user of the process + /// + public const string AttributeProcessRealUserName = "process.real_user.name"; + + /// + /// 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. + /// 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. + /// 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. + /// The saved user ID (SUID) of the process + /// + public const string AttributeProcessSavedUserId = "process.saved_user.id"; + + /// + /// The username of the saved user + /// + public const string AttributeProcessSavedUserName = "process.saved_user.name"; + + /// + /// The PID of the process's session leader. This is also the session ID (SID) of the process + /// + public const string AttributeProcessSessionLeaderPid = "process.session_leader.pid"; + + /// + /// The effective user ID (EUID) of the process + /// + public const string AttributeProcessUserId = "process.user.id"; + + /// + /// The username of the effective user of the process + /// + public const string AttributeProcessUserName = "process.user.name"; + + /// + /// Virtual process identifier + /// + /// + /// The process ID within a PID namespace. This is not necessarily unique across all processes on the host but it is unique within the process namespace that the process exists within + /// + public const string AttributeProcessVpid = "process.vpid"; + + /// + /// Specifies whether the context switches for this data point were voluntary or involuntary /// public static class ProcessContextSwitchTypeValues { /// - /// voluntary. + /// voluntary /// public const string Voluntary = "voluntary"; /// - /// involuntary. + /// 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. + /// The CPU state of the process /// public static class ProcessCpuStateValues { /// - /// system. + /// system /// public const string System = "system"; /// - /// user. + /// user /// public const string User = "user"; /// - /// wait. + /// 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. + /// 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. + /// major /// public const string Major = "major"; /// - /// minor. + /// minor /// public const string Minor = "minor"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs index 40f96ac2f9..2757fdb910 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/RpcAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,292 +15,331 @@ namespace OpenTelemetry.SemanticConventions; public static class RpcAttributes { /// - /// The error codes of the Connect request. Error codes are always string values. + /// 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. + /// 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. + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information /// - public const string AttributeRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata"; + public const string AttributeRpcConnectRpcRequestMetadataTemplate = "rpc.connect_rpc.request.metadata"; /// - /// Connect response metadata, being the normalized Connect Metadata key (lowercase), the value being the metadata values. + /// 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. + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information /// - public const string AttributeRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata"; + public const string AttributeRpcConnectRpcResponseMetadataTemplate = "rpc.connect_rpc.response.metadata"; /// - /// gRPC request metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + /// 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. + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information /// - public const string AttributeRpcGrpcRequestMetadata = "rpc.grpc.request.metadata"; + public const string AttributeRpcGrpcRequestMetadataTemplate = "rpc.grpc.request.metadata"; /// - /// gRPC response metadata, being the normalized gRPC Metadata key (lowercase), the value being the metadata values. + /// 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. + /// Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information /// - public const string AttributeRpcGrpcResponseMetadata = "rpc.grpc.response.metadata"; + public const string AttributeRpcGrpcResponseMetadataTemplate = "rpc.grpc.response.metadata"; /// - /// The numeric status code of the gRPC request. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// Compressed size of the message in bytes + /// + public const string AttributeRpcMessageCompressedSize = "rpc.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 AttributeRpcMessageId = "rpc.message.id"; + + /// + /// Whether this is a received or sent message + /// + public const string AttributeRpcMessageType = "rpc.message.type"; + + /// + /// Uncompressed size of the message in bytes + /// + public const string AttributeRpcMessageUncompressedSize = "rpc.message.uncompressed_size"; + + /// + /// 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). + /// 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. + /// 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). + /// 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. + /// 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. + /// The error codes of the Connect request. Error codes are always string values /// public static class RpcConnectRpcErrorCodeValues { /// - /// cancelled. + /// cancelled /// public const string Cancelled = "cancelled"; /// - /// unknown. + /// unknown /// public const string Unknown = "unknown"; /// - /// invalid_argument. + /// invalid_argument /// public const string InvalidArgument = "invalid_argument"; /// - /// deadline_exceeded. + /// deadline_exceeded /// public const string DeadlineExceeded = "deadline_exceeded"; /// - /// not_found. + /// not_found /// public const string NotFound = "not_found"; /// - /// already_exists. + /// already_exists /// public const string AlreadyExists = "already_exists"; /// - /// permission_denied. + /// permission_denied /// public const string PermissionDenied = "permission_denied"; /// - /// resource_exhausted. + /// resource_exhausted /// public const string ResourceExhausted = "resource_exhausted"; /// - /// failed_precondition. + /// failed_precondition /// public const string FailedPrecondition = "failed_precondition"; /// - /// aborted. + /// aborted /// public const string Aborted = "aborted"; /// - /// out_of_range. + /// out_of_range /// public const string OutOfRange = "out_of_range"; /// - /// unimplemented. + /// unimplemented /// public const string Unimplemented = "unimplemented"; /// - /// internal. + /// internal /// public const string Internal = "internal"; /// - /// unavailable. + /// unavailable /// public const string Unavailable = "unavailable"; /// - /// data_loss. + /// data_loss /// public const string DataLoss = "data_loss"; /// - /// unauthenticated. + /// unauthenticated /// public const string Unauthenticated = "unauthenticated"; } /// - /// The numeric status code of the gRPC request. + /// The numeric status code of the gRPC request /// public static class RpcGrpcStatusCodeValues { /// - /// OK. + /// OK /// public const int Ok = 0; /// - /// CANCELLED. + /// CANCELLED /// public const int Cancelled = 1; /// - /// UNKNOWN. + /// UNKNOWN /// public const int Unknown = 2; /// - /// INVALID_ARGUMENT. + /// INVALID_ARGUMENT /// public const int InvalidArgument = 3; /// - /// DEADLINE_EXCEEDED. + /// DEADLINE_EXCEEDED /// public const int DeadlineExceeded = 4; /// - /// NOT_FOUND. + /// NOT_FOUND /// public const int NotFound = 5; /// - /// ALREADY_EXISTS. + /// ALREADY_EXISTS /// public const int AlreadyExists = 6; /// - /// PERMISSION_DENIED. + /// PERMISSION_DENIED /// public const int PermissionDenied = 7; /// - /// RESOURCE_EXHAUSTED. + /// RESOURCE_EXHAUSTED /// public const int ResourceExhausted = 8; /// - /// FAILED_PRECONDITION. + /// FAILED_PRECONDITION /// public const int FailedPrecondition = 9; /// - /// ABORTED. + /// ABORTED /// public const int Aborted = 10; /// - /// OUT_OF_RANGE. + /// OUT_OF_RANGE /// public const int OutOfRange = 11; /// - /// UNIMPLEMENTED. + /// UNIMPLEMENTED /// public const int Unimplemented = 12; /// - /// INTERNAL. + /// INTERNAL /// public const int Internal = 13; /// - /// UNAVAILABLE. + /// UNAVAILABLE /// public const int Unavailable = 14; /// - /// DATA_LOSS. + /// DATA_LOSS /// public const int DataLoss = 15; /// - /// UNAUTHENTICATED. + /// UNAUTHENTICATED /// public const int Unauthenticated = 16; } /// - /// A string identifying the remoting system. See below for a list of well-known identifiers. + /// Whether this is a received or sent message + /// + public static class RpcMessageTypeValues + { + /// + /// sent + /// + public const string Sent = "SENT"; + + /// + /// received + /// + public const string Received = "RECEIVED"; + } + + /// + /// A string identifying the remoting system. See below for a list of well-known identifiers /// public static class RpcSystemValues { /// - /// gRPC. + /// gRPC /// public const string Grpc = "grpc"; /// - /// Java RMI. + /// Java RMI /// public const string JavaRmi = "java_rmi"; /// - /// .NET WCF. + /// .NET WCF /// public const string DotnetWcf = "dotnet_wcf"; /// - /// Apache Dubbo. + /// Apache Dubbo /// public const string ApacheDubbo = "apache_dubbo"; /// - /// Connect RPC. + /// Connect RPC /// public const string ConnectRpc = "connect_rpc"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs index b31282b237..75ecf5f8af 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ServerAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,18 +15,18 @@ namespace OpenTelemetry.SemanticConventions; public static class ServerAttributes { /// - /// Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// 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. + /// When observed from the client side, and when communicating through an intermediary, server.address SHOULD represent the server address behind any intermediaries, for example proxies, if it's available /// public const string AttributeServerAddress = "server.address"; /// - /// Server port number. + /// 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. + /// When observed from the client side, and when communicating through an intermediary, server.port SHOULD represent the server port behind any intermediaries, for example proxies, if it's available /// public const string AttributeServerPort = "server.port"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs index b2dfc48164..2d1352ef80 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ServiceAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,48 +15,56 @@ namespace OpenTelemetry.SemanticConventions; public static class ServiceAttributes { /// - /// The string ID of the service instance. + /// 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. + /// service.namespace,service.name,service.instance.id triplet MUST be globally unique). The ID helps to + /// distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled + /// service). + ///

    + /// Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 RFC + /// 4122 UUID, but are free to use an inherent unique ID as the source of + /// this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and + /// SHOULD use the following UUID as the namespace: 4d63009a-8d0f-11ee-aad7-4c796ed8e320. + ///

    + /// UUIDs are typically recommended, as only an opaque value for the purposes of identifying a service instance is + /// needed. Similar to what can be seen in the man page for the + /// /etc/machine-id file, the underlying + /// data, such as pod name and namespace should be treated as confidential, being the user's choice to expose it + /// or not via another resource attribute. + ///

    + /// For applications running behind an application server (like unicorn), we do not recommend using one identifier + /// for all processes participating in the application. Instead, it's recommended each division (e.g. a worker + /// thread in unicorn) to have its own instance.id. + ///

    + /// It's not recommended for a Collector to set service.instance.id if it can't unambiguously determine the + /// service instance that is generating that telemetry. For instance, creating an UUID based on pod.name will + /// likely be wrong, as the Collector might not know from which container within that pod the telemetry originated. + /// However, Collectors can set the service.instance.id if they can unambiguously determine the service instance + /// for that telemetry. This is typically the case for scraping receivers, as they know the target address and + /// port /// public const string AttributeServiceInstanceId = "service.instance.id"; ///

    - /// Logical name of the service. + /// 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. + /// 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 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. + /// 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. + /// 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 index 7f6ff71fdb..ed3c893b3f 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SessionAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,12 +15,12 @@ namespace OpenTelemetry.SemanticConventions; public static class SessionAttributes { /// - /// A unique id to identify a session. + /// A unique id to identify a session /// public const string AttributeSessionId = "session.id"; /// - /// The previous session.id for this user, when known. + /// 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 index dd937d7004..1940defe58 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SignalrAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,53 +15,53 @@ namespace OpenTelemetry.SemanticConventions; public static class SignalrAttributes { /// - /// SignalR HTTP connection closure status. + /// SignalR HTTP connection closure status /// public const string AttributeSignalrConnectionStatus = "signalr.connection.status"; /// - /// SignalR transport type. + /// SignalR transport type /// public const string AttributeSignalrTransport = "signalr.transport"; /// - /// SignalR HTTP connection closure status. + /// SignalR HTTP connection closure status /// public static class SignalrConnectionStatusValues { /// - /// The connection was closed normally. + /// The connection was closed normally /// public const string NormalClosure = "normal_closure"; /// - /// The connection was closed due to a timeout. + /// The connection was closed due to a timeout /// public const string Timeout = "timeout"; /// - /// The connection was closed because the app is shutting down. + /// The connection was closed because the app is shutting down /// public const string AppShutdown = "app_shutdown"; } /// - /// SignalR transport type. + /// SignalR transport type /// public static class SignalrTransportValues { /// - /// ServerSentEvents protocol. + /// ServerSentEvents protocol /// public const string ServerSentEvents = "server_sent_events"; /// - /// LongPolling protocol. + /// LongPolling protocol /// public const string LongPolling = "long_polling"; /// - /// WebSockets protocol. + /// WebSockets protocol /// public const string WebSockets = "web_sockets"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs index 5c24ee0440..d64f93a789 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SourceAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,15 +15,15 @@ namespace OpenTelemetry.SemanticConventions; public static class SourceAttributes { /// - /// Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. + /// 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. + /// When observed from the destination side, and when communicating through an intermediary, source.address SHOULD represent the source address behind any intermediaries, for example proxies, if it's available /// public const string AttributeSourceAddress = "source.address"; /// - /// Source port number. + /// 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 index 3270d58b22..d16c46b2e5 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/SystemAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,368 +15,372 @@ namespace OpenTelemetry.SemanticConventions; public static class SystemAttributes { /// - /// The logical CPU number [0..n-1]. + /// 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. + /// The state of the CPU /// public const string AttributeSystemCpuState = "system.cpu.state"; /// - /// The device identifier. + /// The device identifier /// public const string AttributeSystemDevice = "system.device"; /// - /// The filesystem mode. + /// The filesystem mode /// public const string AttributeSystemFilesystemMode = "system.filesystem.mode"; /// - /// The filesystem mount path. + /// The filesystem mount path /// public const string AttributeSystemFilesystemMountpoint = "system.filesystem.mountpoint"; /// - /// The filesystem state. + /// The filesystem state /// public const string AttributeSystemFilesystemState = "system.filesystem.state"; /// - /// The filesystem type. + /// The filesystem type /// public const string AttributeSystemFilesystemType = "system.filesystem.type"; /// - /// The memory state. + /// The memory state /// public const string AttributeSystemMemoryState = "system.memory.state"; /// - /// A stateless protocol MUST NOT set this attribute. + /// A stateless protocol MUST NOT set this attribute /// public const string AttributeSystemNetworkState = "system.network.state"; /// - /// The paging access direction. + /// The paging access direction /// public const string AttributeSystemPagingDirection = "system.paging.direction"; /// - /// The memory paging state. + /// The memory paging state /// public const string AttributeSystemPagingState = "system.paging.state"; /// - /// The memory paging type. + /// The memory paging type /// public const string AttributeSystemPagingType = "system.paging.type"; /// - /// The process state, e.g., Linux Process State Codes. + /// The process state, e.g., Linux Process State Codes /// public const string AttributeSystemProcessStatus = "system.process.status"; /// - /// Deprecated, use system.process.status instead. + /// Deprecated, use system.process.status instead /// - [Obsolete("Replaced by `system.process.status`")] + [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. + /// The state of the CPU /// public static class SystemCpuStateValues { /// - /// user. + /// user /// public const string User = "user"; /// - /// system. + /// system /// public const string System = "system"; /// - /// nice. + /// nice /// public const string Nice = "nice"; /// - /// idle. + /// idle /// public const string Idle = "idle"; /// - /// iowait. + /// iowait /// public const string Iowait = "iowait"; /// - /// interrupt. + /// interrupt /// public const string Interrupt = "interrupt"; /// - /// steal. + /// steal /// public const string Steal = "steal"; } /// - /// The filesystem state. + /// The filesystem state /// public static class SystemFilesystemStateValues { /// - /// used. + /// used /// public const string Used = "used"; /// - /// free. + /// free /// public const string Free = "free"; /// - /// reserved. + /// reserved /// public const string Reserved = "reserved"; } /// - /// The filesystem type. + /// The filesystem type /// public static class SystemFilesystemTypeValues { /// - /// fat32. + /// fat32 /// public const string Fat32 = "fat32"; /// - /// exfat. + /// exfat /// public const string Exfat = "exfat"; /// - /// ntfs. + /// ntfs /// public const string Ntfs = "ntfs"; /// - /// refs. + /// refs /// public const string Refs = "refs"; /// - /// hfsplus. + /// hfsplus /// public const string Hfsplus = "hfsplus"; /// - /// ext4. + /// ext4 /// public const string Ext4 = "ext4"; } /// - /// The memory state. + /// The memory state /// public static class SystemMemoryStateValues { /// - /// used. + /// used /// public const string Used = "used"; /// - /// free. + /// free /// public const string Free = "free"; /// - /// shared. + /// shared /// public const string Shared = "shared"; /// - /// buffers. + /// buffers /// public const string Buffers = "buffers"; /// - /// cached. + /// cached /// public const string Cached = "cached"; } /// - /// A stateless protocol MUST NOT set this attribute. + /// A stateless protocol MUST NOT set this attribute /// public static class SystemNetworkStateValues { /// - /// close. + /// close /// public const string Close = "close"; /// - /// close_wait. + /// close_wait /// public const string CloseWait = "close_wait"; /// - /// closing. + /// closing /// public const string Closing = "closing"; /// - /// delete. + /// delete /// public const string Delete = "delete"; /// - /// established. + /// established /// public const string Established = "established"; /// - /// fin_wait_1. + /// fin_wait_1 /// public const string FinWait1 = "fin_wait_1"; /// - /// fin_wait_2. + /// fin_wait_2 /// public const string FinWait2 = "fin_wait_2"; /// - /// last_ack. + /// last_ack /// public const string LastAck = "last_ack"; /// - /// listen. + /// listen /// public const string Listen = "listen"; /// - /// syn_recv. + /// syn_recv /// public const string SynRecv = "syn_recv"; /// - /// syn_sent. + /// syn_sent /// public const string SynSent = "syn_sent"; /// - /// time_wait. + /// time_wait /// public const string TimeWait = "time_wait"; } /// - /// The paging access direction. + /// The paging access direction /// public static class SystemPagingDirectionValues { /// - /// in. + /// in /// public const string In = "in"; /// - /// out. + /// out /// public const string Out = "out"; } /// - /// The memory paging state. + /// The memory paging state /// public static class SystemPagingStateValues { /// - /// used. + /// used /// public const string Used = "used"; /// - /// free. + /// free /// public const string Free = "free"; } /// - /// The memory paging type. + /// The memory paging type /// public static class SystemPagingTypeValues { /// - /// major. + /// major /// public const string Major = "major"; /// - /// minor. + /// minor /// public const string Minor = "minor"; } /// - /// The process state, e.g., Linux Process State Codes. + /// The process state, e.g., Linux Process State Codes /// public static class SystemProcessStatusValues { /// - /// running. + /// running /// public const string Running = "running"; /// - /// sleeping. + /// sleeping /// public const string Sleeping = "sleeping"; /// - /// stopped. + /// stopped /// public const string Stopped = "stopped"; /// - /// defunct. + /// defunct /// public const string Defunct = "defunct"; } /// - /// Deprecated, use system.process.status instead. + /// Deprecated, use system.process.status instead /// public static class SystemProcessesStatusValues { /// - /// running. + /// running /// + [Obsolete("Replaced by system.process.status")] public const string Running = "running"; /// - /// sleeping. + /// sleeping /// + [Obsolete("Replaced by system.process.status")] public const string Sleeping = "sleeping"; /// - /// stopped. + /// stopped /// + [Obsolete("Replaced by system.process.status")] public const string Stopped = "stopped"; /// - /// defunct. + /// defunct /// + [Obsolete("Replaced by system.process.status")] public const string Defunct = "defunct"; } } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs index f08ca9fd85..300181e4fd 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/TelemetryAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,104 +15,104 @@ namespace OpenTelemetry.SemanticConventions; public static class TelemetryAttributes { /// - /// The name of the auto instrumentation agent or distribution, if used. + /// 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. + /// 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. + /// 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. + /// The language of the telemetry SDK /// public const string AttributeTelemetrySdkLanguage = "telemetry.sdk.language"; /// - /// The name of the telemetry SDK as defined above. + /// 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. + /// If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the + /// telemetry.sdk.name attribute to the fully-qualified class or module name of this SDK's main entry point + /// or another suitable identifier depending on the language. + /// The identifier opentelemetry is reserved and MUST NOT be used in this case. + /// All custom identifiers SHOULD be stable across different versions of an implementation /// public const string AttributeTelemetrySdkName = "telemetry.sdk.name"; /// - /// The version string of the telemetry SDK. + /// The version string of the telemetry SDK /// public const string AttributeTelemetrySdkVersion = "telemetry.sdk.version"; /// - /// The language of the telemetry SDK. + /// The language of the telemetry SDK /// public static class TelemetrySdkLanguageValues { /// - /// cpp. + /// cpp /// public const string Cpp = "cpp"; /// - /// dotnet. + /// dotnet /// public const string Dotnet = "dotnet"; /// - /// erlang. + /// erlang /// public const string Erlang = "erlang"; /// - /// go. + /// go /// public const string Go = "go"; /// - /// java. + /// java /// public const string Java = "java"; /// - /// nodejs. + /// nodejs /// public const string Nodejs = "nodejs"; /// - /// php. + /// php /// public const string Php = "php"; /// - /// python. + /// python /// public const string Python = "python"; /// - /// ruby. + /// ruby /// public const string Ruby = "ruby"; /// - /// rust. + /// rust /// public const string Rust = "rust"; /// - /// swift. + /// swift /// public const string Swift = "swift"; /// - /// webjs. + /// webjs /// public const string Webjs = "webjs"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs index 82eb2c18ee..525597810c 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/ThreadAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,12 +15,12 @@ namespace OpenTelemetry.SemanticConventions; public static class ThreadAttributes { /// - /// Current "managed" thread ID (as opposed to OS thread ID). + /// Current "managed" thread ID (as opposed to OS thread ID) /// public const string AttributeThreadId = "thread.id"; /// - /// Current thread name. + /// 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 index fbcac49fea..5d1d75a9ce 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/TlsAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,165 +15,165 @@ namespace OpenTelemetry.SemanticConventions; public static class TlsAttributes { /// - /// String indicating the cipher used during the current connection. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// 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. + /// Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol version /// public static class TlsProtocolNameValues { /// - /// ssl. + /// ssl /// public const string Ssl = "ssl"; /// - /// tls. + /// tls /// public const string Tls = "tls"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs index 7471d882e5..47fba2eb6e 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/UrlAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,92 +15,97 @@ namespace OpenTelemetry.SemanticConventions; public static class UrlAttributes { /// - /// Domain extracted from the url.full, such as "opentelemetry.io". + /// 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. + /// 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 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. + /// 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. + /// The URI fragment component /// public const string AttributeUrlFragment = "url.fragment"; /// - /// Absolute URL describing a network resource according to RFC3986. + /// 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. + /// url.full MUST NOT contain credentials passed via URL in form of https://username:password@www.example.com/. In such case username and password SHOULD be redacted and attribute's value SHOULD be https://REDACTED:REDACTED@www.example.com/. + /// url.full SHOULD capture the absolute URL when it is available (or can be reconstructed). Sensitive content provided in url.full SHOULD be scrubbed when instrumentations can identify it /// public const string AttributeUrlFull = "url.full"; /// - /// Unmodified original URL as seen in the event source. + /// 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. + /// url.original might contain credentials passed via URL in form of https://username:password@www.example.com/. In such case password and username SHOULD NOT be redacted and attribute's value SHOULD remain the same /// public const string AttributeUrlOriginal = "url.original"; /// - /// The URI path component. + /// The URI path component /// /// - /// Sensitive content provided in url.path SHOULD be scrubbed when instrumentations can identify it. + /// 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. + /// Port extracted from the url.full /// public const string AttributeUrlPort = "url.port"; /// - /// The URI query component. + /// The URI query component /// /// - /// Sensitive content provided in url.query SHOULD be scrubbed when instrumentations can identify it. + /// 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. + /// 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. + /// 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. + /// 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 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. + /// 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. + /// The low-cardinality template of an absolute path reference + /// + public const string AttributeUrlTemplate = "url.template"; + + /// + /// 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. + /// 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 index 86c35643f2..b6f934206e 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/UserAgentAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,23 +15,23 @@ namespace OpenTelemetry.SemanticConventions; public static class UserAgentAttributes { /// - /// Name of the user-agent extracted from original. Usually refers to the browser's name. + /// 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. + /// Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version /// public const string AttributeUserAgentName = "user_agent.name"; /// - /// Value of the HTTP User-Agent header sent by the client. + /// 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. + /// 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. + /// Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name /// public const string AttributeUserAgentVersion = "user_agent.version"; } diff --git a/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs b/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs index 1a3d5ca741..7797afcca9 100644 --- a/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs +++ b/src/OpenTelemetry.SemanticConventions/Attributes/WebengineAttributes.cs @@ -1,11 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -// This file has been auto generated from scripts/templates/SemanticConventionsAttributes.cs.j2 +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' -#pragma warning disable CS1570 // XML comment has badly formed XML +#nullable enable -using System; +#pragma warning disable CS1570 // XML comment has badly formed XML namespace OpenTelemetry.SemanticConventions; @@ -15,17 +15,17 @@ namespace OpenTelemetry.SemanticConventions; public static class WebengineAttributes { /// - /// Additional description of the web engine (e.g. detailed version and edition information). + /// 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. + /// The name of the web engine /// public const string AttributeWebengineName = "webengine.name"; /// - /// The version of the web engine. + /// 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 index 49e8b99e72..20ab003382 100644 --- a/src/OpenTelemetry.SemanticConventions/CHANGELOG.md +++ b/src/OpenTelemetry.SemanticConventions/CHANGELOG.md @@ -2,6 +2,9 @@ ## Unreleased +* Updated to `v1.26.0` release of OpenTelemetry Semantic Conventions. + ([#2040](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2040)) + * Updated to `1.25.0` release of OpenTelemetry Semantic Conventions. ([#1672](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1672)) diff --git a/src/OpenTelemetry.SemanticConventions/README.md b/src/OpenTelemetry.SemanticConventions/README.md index 5c68066ab0..f79941dbcf 100644 --- a/src/OpenTelemetry.SemanticConventions/README.md +++ b/src/OpenTelemetry.SemanticConventions/README.md @@ -11,8 +11,8 @@ 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). +This project uses +[Weaver](https://github.com/open-telemetry/weaver). The folder `scripts` at the top level of the project contains the template and the script files used in the process. @@ -31,4 +31,5 @@ Or, with PowerShell: ## References * [OpenTelemetry Project](https://opentelemetry.io/) -* [Build tools](https://github.com/open-telemetry/build-tools) +* [Semantic Conventions](https://github.com/open-telemetry/semantic-conventions) +* [Weaver](https://github.com/open-telemetry/weaver) diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 index 81d03e27f3..c05f576e0a 100644 --- a/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 +++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.ps1 @@ -2,28 +2,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" +$SEMCONV_VERSION="1.26.0" +$GENERATOR_VERSION="v0.9.2" Set-Location $SCRIPT_DIR -Remove-Item -r -fo semantic-conventions +Remove-Item -r -fo -ErrorAction SilentlyContinue 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 fetch origin v$SEMCONV_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 + -v ${ROOT_DIR}/Attributes/:/output ` + otel/weaver:$GENERATOR_VERSION ` + registry ` + generate ` + --registry=/source ` + --templates=/templates ` + "./" ` + "/output/./"` diff --git a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh index a60fdb1a26..226a09d8c8 100644 --- a/src/OpenTelemetry.SemanticConventions/scripts/generate.sh +++ b/src/OpenTelemetry.SemanticConventions/scripts/generate.sh @@ -5,8 +5,8 @@ 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 +SEMCONV_VERSION="1.26.0" +GENERATOR_VERSION="v0.9.2" cd ${SCRIPT_DIR} @@ -16,17 +16,18 @@ cd semantic-conventions git init git remote add origin https://github.com/open-telemetry/semantic-conventions.git -git fetch origin "v$SPEC_VERSION" +git fetch origin "v$SEMCONV_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 + -v ${ROOT_DIR}/Attributes/:/output \ + otel/weaver:$GENERATOR_VERSION \ + registry \ + generate \ + --registry=/source \ + --templates=/templates \ + "./" \ + "/output/./"\ \ No newline at end of file diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 deleted file mode 100644 index 1c2e139a73..0000000000 --- a/src/OpenTelemetry.SemanticConventions/scripts/templates/SemanticConventionsAttributes.cs.j2 +++ /dev/null @@ -1,65 +0,0 @@ -{%- 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 %} -} - diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/SemanticConventionsAttributes.cs.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/SemanticConventionsAttributes.cs.j2 new file mode 100644 index 0000000000..6f177cbf0b --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/SemanticConventionsAttributes.cs.j2 @@ -0,0 +1,52 @@ +{%- import 'common.j2' as c %} + +{%- set my_file_name = ctx.root_namespace | pascal_case ~ "Attributes.cs" -%} +{%- set my_class_name = ctx.root_namespace | pascal_case ~ "Attributes" -%} +{{- template.set_file_name(my_file_name) -}} + +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// This file has been auto generated from 'src\OpenTelemetry.SemanticConventions\scripts\templates\registry\SemanticConventionsAttributes.cs.j2' + +#nullable enable + +#pragma warning disable CS1570 // XML comment has badly formed XML + +namespace OpenTelemetry.SemanticConventions; + +/// +/// Constants for semantic attribute names outlined by the OpenTelemetry specifications. +/// +public static class {{my_class_name}} +{ +{% for attribute in ctx.attributes | rejectattr("name", "in", ctx.excluded_attributes) %} +{% set attr_name = c.attribute_name(attribute) %} +{% if not loop.first %}{{"\n"}}{% endif %} + {{ attribute.brief | comment(indent=4) }} +{% if attribute.note %} + {{ attribute.note | comment(header="/// ", footer="/// ", indent=4) }} +{% endif %} +{% if attribute.deprecated %} + [Obsolete("{{ attribute.deprecated | replace("\"", "") | comment(header="", footer="", prefix="", indent=0) }}")] +{% endif %} + public const string Attribute{{attr_name}} = "{{attribute.name}}"; +{% endfor %} +{% for attribute in ctx.attributes %}{% if attribute.type is mapping %} +{% set enum_class_name = attribute.name | pascal_case ~ "Values" %} +{% set attribute_resolved_type = attribute.type | instantiated_type %} + + {{ attribute.brief | comment(indent=4) }} + public static class {{enum_class_name}} + { + {% for member in attribute.type.members %} + {{ [member.brief or (member.id ~ '.')] | comment(indent=8) }} + {% if attribute.deprecated %} + [Obsolete("{{ attribute.deprecated | replace("\"", "") | comment(header="", footer="", prefix="", indent=0) }}")] + {% endif %} + public const {{ attribute_resolved_type | map_text("csharp_type") }} {{ member.id | pascal_case }} = {{ member.value | print_member_value }}; + {% if not loop.last %}{{"\n"}}{% endif %} + {% endfor %} + } +{% endif %}{% endfor %} +} diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/common.j2 b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/common.j2 new file mode 100644 index 0000000000..1a477cd761 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/common.j2 @@ -0,0 +1,3 @@ +{%- macro attribute_name(attribute) -%} +{{ attribute.name | pascal_case }}{%- if "template" in attribute.type -%}Template{%- endif -%} +{%- endmacro -%} diff --git a/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/weaver.yaml b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/weaver.yaml new file mode 100644 index 0000000000..80787a2831 --- /dev/null +++ b/src/OpenTelemetry.SemanticConventions/scripts/templates/registry/weaver.yaml @@ -0,0 +1,48 @@ +params: + + # excluded attributes will not be generated + # this behavior is fully controlled by jinja templates + excluded_attributes: ["messaging.client_id", "otel.library.name", "otel.library.version"] + +whitespace_control: + trim_blocks: true + lstrip_blocks: true + keep_trailing_newline: true + +comment_formats: + csharp: + format: html + header: "/// " + prefix: "/// " + footer: "/// " + old_style_paragraph: true + omit_closing_li: false + inline_code_snippet: "{{code}}" + block_code_snippet: "{{code}}" + trim: true + remove_trailing_dots: true +default_comment_format: csharp + +templates: + - pattern: SemanticConventionsAttributes.cs.j2 + filter: > + semconv_grouped_attributes({ + "exclude_deprecated": false, + "exclude_stability": [], + }) | map({ + root_namespace: .root_namespace, + attributes: .attributes, + excluded_attributes: $excluded_attributes + }) + application_mode: each + +text_maps: + csharp_type: + int: int + double: double + boolean: bool + string: string + string[]: List + int[]: List + double[]: List + boolean[]: List