From 4f37503105d1572423e161ca171ac8d046d66341 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 31 May 2024 20:48:54 +0200 Subject: [PATCH] [SEMANTIC CONVENTIONS] Upgrade to version 1.26.0 (#2687) --- .../trace/semantic_conventions.h | 2582 ++++++++++------- buildscripts/semantic-convention/generate.sh | 2 +- .../templates/SemanticAttributes.h.j2 | 11 + .../sdk/resource/semantic_conventions.h | 2335 ++++++++++----- 4 files changed, 3151 insertions(+), 1779 deletions(-) diff --git a/api/include/opentelemetry/trace/semantic_conventions.h b/api/include/opentelemetry/trace/semantic_conventions.h index ba783e2333..a9290bff44 100644 --- a/api/include/opentelemetry/trace/semantic_conventions.h +++ b/api/include/opentelemetry/trace/semantic_conventions.h @@ -22,89 +22,14 @@ namespace SemanticConventions /** * The URL of the OpenTelemetry schema for these keys and values. */ -static constexpr const char *kSchemaUrl = "https://opentelemetry.io/schemas/1.25.0"; +static constexpr const char *kSchemaUrl = "https://opentelemetry.io/schemas/1.26.0"; /** - * Identifies the class / type of event. - * - *

Notes: -

- */ -static constexpr const char *kEventName = "event.name"; - -/** - * A unique identifier for the Log Record. - * - *

Notes: -

- */ -static constexpr const char *kLogRecordUid = "log.record.uid"; - -/** - * The stream associated with the log. See below for a list of well-known values. - */ -static constexpr const char *kLogIostream = "log.iostream"; - -/** - * The basename of the file. - */ -static constexpr const char *kLogFileName = "log.file.name"; - -/** - * The basename of the file, with symlinks resolved. - */ -static constexpr const char *kLogFileNameResolved = "log.file.name_resolved"; - -/** - * The full path to the file. - */ -static constexpr const char *kLogFilePath = "log.file.path"; - -/** - * The full path to the file, with symlinks resolved. - */ -static constexpr const char *kLogFilePathResolved = "log.file.path_resolved"; - -/** - * This attribute represents the state the application has transitioned into at the occurrence of - the event. - * - *

Notes: -

- */ -static constexpr const char *kIosState = "ios.state"; - -/** - * This attribute represents the state the application has transitioned into at the occurrence of - the event. - * - *

Notes: -

- */ -static constexpr const char *kAndroidState = "android.state"; - -/** - * The name of the connection pool; unique within the instrumented application. In case the - * connection pool implementation doesn't provide a name, instrumentation should use a combination - * of {@code server.address} and {@code server.port} attributes formatted as {@code - * server.address:server.port}. - */ -static constexpr const char *kPoolName = "pool.name"; - -/** - * The state of a connection in the pool + * Uniquely identifies the framework API revision offered by a version ({@code os.version}) of the + * android operating system. More information can be found here. */ -static constexpr const char *kState = "state"; +static constexpr const char *kAndroidOsApiLevel = "android.os.api_level"; /** * Rate-limiting result, shows whether the lease was acquired or contains a rejection reason @@ -119,6 +44,12 @@ static constexpr const char *kAspnetcoreRateLimitingResult = "aspnetcore.rate_li static constexpr const char *kAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type"; +/** + * ASP.NET Core exception middleware handling result + */ +static constexpr const char *kAspnetcoreDiagnosticsExceptionResult = + "aspnetcore.diagnostics.exception.result"; + /** * Rate limiting policy name. */ @@ -135,122 +66,15 @@ static constexpr const char *kAspnetcoreRequestIsUnhandled = "aspnetcore.request static constexpr const char *kAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback"; /** - * SignalR HTTP connection closure status. - */ -static constexpr const char *kSignalrConnectionStatus = "signalr.connection.status"; - -/** - * SignalR - * transport type - */ -static constexpr const char *kSignalrTransport = "signalr.transport"; - -/** - * Name of the buffer pool. - * - *

Notes: -

- */ -static constexpr const char *kJvmBufferPoolName = "jvm.buffer.pool.name"; - -/** - * Name of the memory pool. - * - *

Notes: -

- */ -static constexpr const char *kJvmMemoryPoolName = "jvm.memory.pool.name"; - -/** - * The type of memory. - */ -static constexpr const char *kJvmMemoryType = "jvm.memory.type"; - -/** - * The CPU state for this data point. A process SHOULD be characterized either by data - * points with no {@code state} labels, or only data points with {@code state} labels. - */ -static constexpr const char *kProcessCpuState = "process.cpu.state"; - -/** - * The device identifier - */ -static constexpr const char *kSystemDevice = "system.device"; - -/** - * The logical CPU number [0..n-1] - */ -static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number"; - -/** - * The CPU state for this data point. A system's CPU SHOULD be characterized either by data - * points with no {@code state} labels, or only data points with {@code state} labels. - */ -static constexpr const char *kSystemCpuState = "system.cpu.state"; - -/** - * The memory state - */ -static constexpr const char *kSystemMemoryState = "system.memory.state"; - -/** - * The paging access direction - */ -static constexpr const char *kSystemPagingDirection = "system.paging.direction"; - -/** - * The memory paging state - */ -static constexpr const char *kSystemPagingState = "system.paging.state"; - -/** - * The memory paging type - */ -static constexpr const char *kSystemPagingType = "system.paging.type"; - -/** - * The filesystem mode - */ -static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode"; - -/** - * The filesystem mount path - */ -static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint"; - -/** - * The filesystem state - */ -static constexpr const char *kSystemFilesystemState = "system.filesystem.state"; - -/** - * The filesystem type - */ -static constexpr const char *kSystemFilesystemType = "system.filesystem.type"; - -/** - * A stateless protocol MUST NOT set this attribute - */ -static constexpr const char *kSystemNetworkState = "system.network.state"; - -/** - * The process state, e.g., Linux Process State - * Codes + * Match result - success or failure */ -static constexpr const char *kSystemProcessStatus = "system.process.status"; +static constexpr const char *kAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status"; /** - * Uniquely identifies the framework API revision offered by a version ({@code os.version}) of the - * android operating system. More information can be found here. + * The AWS request ID as returned in the response headers {@code x-amz-request-id} or {@code + * x-amz-requestid}. */ -static constexpr const char *kAndroidOsApiLevel = "android.os.api_level"; +static constexpr const char *kAwsRequestId = "aws.request_id"; /** * The JSON-serialized value of each item in the {@code AttributeDefinitions} request field. @@ -370,95 +194,299 @@ static constexpr const char *kAwsDynamodbTableNames = "aws.dynamodb.table_names" static constexpr const char *kAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; /** - * Array of brand name and version separated by a space - * - *

Notes: -

+ * The ID of a running ECS task. The ID MUST be extracted from {@code task.arn}. */ -static constexpr const char *kBrowserBrands = "browser.brands"; +static constexpr const char *kAwsEcsTaskId = "aws.ecs.task.id"; /** - * Preferred language of the user using the browser - * - *

Notes: -

+ * The ARN of an ECS cluster. */ -static constexpr const char *kBrowserLanguage = "browser.language"; +static constexpr const char *kAwsEcsClusterArn = "aws.ecs.cluster.arn"; /** - * A boolean that is true if the browser is running on a mobile device - * - *

Notes: -

+ * The Amazon Resource Name (ARN) of an ECS + * container instance. */ -static constexpr const char *kBrowserMobile = "browser.mobile"; +static constexpr const char *kAwsEcsContainerArn = "aws.ecs.container.arn"; /** - * The platform on which the browser is running - * - *

Notes: -

+ * The launch + * type for an ECS task. */ -static constexpr const char *kBrowserPlatform = "browser.platform"; +static constexpr const char *kAwsEcsLaunchtype = "aws.ecs.launchtype"; /** - * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or - Unix domain socket name. - * - *

Notes: -

+ * The ARN of a running ECS + * task. */ -static constexpr const char *kClientAddress = "client.address"; +static constexpr const char *kAwsEcsTaskArn = "aws.ecs.task.arn"; /** - * Client port number. - * - *

Notes: -

+ * The family name of the ECS task + * definition used to create the ECS task. */ -static constexpr const char *kClientPort = "client.port"; +static constexpr const char *kAwsEcsTaskFamily = "aws.ecs.task.family"; /** - * The cloud account ID the resource is assigned to. + * The revision for the task definition used to create the ECS task. */ -static constexpr const char *kCloudAccountId = "cloud.account.id"; +static constexpr const char *kAwsEcsTaskRevision = "aws.ecs.task.revision"; /** - * Cloud regions often have multiple, isolated locations known as zones to increase availability. - Availability zone represents the zone where the resource is running. + * The ARN of an EKS cluster. + */ +static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn"; + +/** + * The Amazon Resource Name(s) (ARN) of the AWS log group(s). * *

Notes: -

+ */ -static constexpr const char *kCloudAvailabilityZone = "cloud.availability_zone"; +static constexpr const char *kAwsLogGroupArns = "aws.log.group.arns"; /** - * The cloud platform in use. + * The name(s) of the AWS log group(s) an application is writing to. * *

Notes: -

+ */ -static constexpr const char *kCloudPlatform = "cloud.platform"; +static constexpr const char *kAwsLogGroupNames = "aws.log.group.names"; + +/** + * The ARN(s) of the AWS log stream(s). + * + *

Notes: +

+ */ +static constexpr const char *kAwsLogStreamArns = "aws.log.stream.arns"; + +/** + * The name(s) of the AWS log stream(s) an application is writing to. + */ +static constexpr const char *kAwsLogStreamNames = "aws.log.stream.names"; + +/** + * The full invoked ARN as provided on the {@code Context} passed to the function ({@code + Lambda-Runtime-Invoked-Function-Arn} header on the {@code /runtime/invocation/next} applicable). + * + *

Notes: +

+ */ +static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn"; + +/** + * The S3 bucket name the request refers to. Corresponds to the {@code --bucket} parameter of the S3 API operations. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3Bucket = "aws.s3.bucket"; + +/** + * The source object (in the form {@code bucket}/{@code key}) for the copy operation. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3CopySource = "aws.s3.copy_source"; + +/** + * The delete request container that specifies the objects to be deleted. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3Delete = "aws.s3.delete"; + +/** + * The S3 object key the request refers to. Corresponds to the {@code --key} parameter of the S3 API operations. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3Key = "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. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number"; + +/** + * Upload ID that identifies the multipart upload. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id"; + +/** + * Array of brand name and version separated by a space + * + *

Notes: +

+ */ +static constexpr const char *kBrowserBrands = "browser.brands"; + +/** + * Preferred language of the user using the browser + * + *

Notes: +

+ */ +static constexpr const char *kBrowserLanguage = "browser.language"; + +/** + * A boolean that is true if the browser is running on a mobile device + * + *

Notes: +

+ */ +static constexpr const char *kBrowserMobile = "browser.mobile"; + +/** + * The platform on which the browser is running + * + *

Notes: +

+ */ +static constexpr const char *kBrowserPlatform = "browser.platform"; + +/** + * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or + Unix domain socket name. + * + *

Notes: +

+ */ +static constexpr const char *kClientAddress = "client.address"; + +/** + * Client port number. + * + *

Notes: +

+ */ +static constexpr const char *kClientPort = "client.port"; + +/** + * The cloud account ID the resource is assigned to. + */ +static constexpr const char *kCloudAccountId = "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. + * + *

Notes: +

+ */ +static constexpr const char *kCloudAvailabilityZone = "cloud.availability_zone"; + +/** + * The cloud platform in use. + * + *

Notes: +

+ */ +static constexpr const char *kCloudPlatform = "cloud.platform"; /** * Name of the cloud provider. @@ -620,7 +648,7 @@ href="https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/Containe endpoint. K8s defines a link to the container registry repository with digest {@code "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 +The ID is assigned by the container runtime and can vary in different environments. Consider using {@code oci.manifest.digest} if it is important to identify the same image in different environments/runtimes. */ @@ -660,6 +688,67 @@ static constexpr const char *kContainerName = "container.name"; */ static constexpr const char *kContainerRuntime = "container.runtime"; +/** + * 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 {@code server.address} and {@code server.port} attributes formatted as {@code + * server.address:server.port}. + */ +static constexpr const char *kDbClientConnectionsPoolName = "db.client.connections.pool.name"; + +/** + * The state of a connection in the pool + */ +static constexpr const char *kDbClientConnectionsState = "db.client.connections.state"; + +/** + * The name of a collection (table, container) within the database. + * + *

Notes: +

+ */ +static constexpr const char *kDbCollectionName = "db.collection.name"; + +/** + * The name of the database, fully qualified within the server address and port. + * + *

Notes: +

+ */ +static constexpr const char *kDbNamespace = "db.namespace"; + +/** + * The name of the operation or command being executed. + * + *

Notes: +

+ */ +static constexpr const char *kDbOperationName = "db.operation.name"; + +/** + * The database query being executed. + */ +static constexpr const char *kDbQueryText = "db.query.text"; + +/** + * The database management system (DBMS) product as identified by the client instrumentation. + * + *

Notes: +

+ */ +static constexpr const char *kDbSystem = "db.system"; + /** * The consistency level of the query. Based on consistency values from CQL. @@ -693,19 +782,6 @@ static constexpr const char *kDbCassandraPageSize = "db.cassandra.page_size"; static constexpr const char *kDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count"; -/** - * The name of the primary Cassandra table that the operation is acting upon, including the keyspace - name (if applicable). - * - *

Notes: -

- */ -static constexpr const char *kDbCassandraTable = "db.cassandra.table"; - /** * Unique Cosmos client instance id. */ @@ -716,11 +792,6 @@ static constexpr const char *kDbCosmosdbClientId = "db.cosmosdb.client_id"; */ static constexpr const char *kDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode"; -/** - * Cosmos DB container name. - */ -static constexpr const char *kDbCosmosdbContainer = "db.cosmosdb.container"; - /** * CosmosDB Operation Type. */ @@ -752,136 +823,184 @@ static constexpr const char *kDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_ static constexpr const char *kDbElasticsearchClusterName = "db.elasticsearch.cluster.name"; /** - * An identifier (address, unique name, or any other identifier) of the database instance that is - * executing queries or mutations on the current connection. This is useful in cases where the - * database is running in a clustered environment and the instrumentation is able to record the node - * executing the query. The client may obtain this value in databases like MySQL using queries like - * {@code select @@hostname}. + * Represents the human-readable identifier of the node/instance to which a request was routed. + */ +static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name"; + +/** + * Name of the deployment +environment (aka deployment tier). + * + *

Notes: +

+ */ +static constexpr const char *kDeploymentEnvironment = "deployment.environment"; + +/** + * Deprecated use the {@code device.app.lifecycle} event definition including {@code android.state} + as a payload field instead. + * + *

Notes: +

+ */ +static constexpr const char *kAndroidState = "android.state"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbCassandraTable = "db.cassandra.table"; + +/** + * Deprecated, use {@code server.address}, {@code server.port} attributes instead. + * + * @deprecated Deprecated, use `server.address`, `server.port` attributes instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbConnectionString = "db.connection_string"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbCosmosdbContainer = "db.cosmosdb.container"; + +/** + * Deprecated, no general replacement at this time. For Elasticsearch, use {@code + * db.elasticsearch.node.name} instead. + * + * @deprecated Deprecated, no general replacement at this time. For Elasticsearch, use + * `db.elasticsearch.node.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbInstanceId = "db.instance.id"; /** - * The MongoDB collection being accessed within the database stated in {@code db.name}. + * Removed, no replacement at this time. + * + * @deprecated Removed, no replacement at this time. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbJdbcDriverClassname = "db.jdbc.driver_classname"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMongodbCollection = "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 {@code db.namespace} attribute. * - *

Notes: -

+ * @deprecated Deprecated, SQL Server instance is now populated as a part of `db.namespace` + * attribute. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMssqlInstanceName = "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 {@code db.namespace} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.namespace` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbName = "db.name"; /** - * The name of the operation being executed, e.g. the MongoDB command - name such as {@code findAndModify}, or the SQL keyword. + * Deprecated, use {@code db.operation.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.operation.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbOperation = "db.operation"; /** - * The index of the database being accessed as used in the {@code SELECT} command, provided as an integer. To be - * used instead of the generic {@code db.name} attribute. + * Deprecated, use {@code db.namespace} instead. + * + * @deprecated Deprecated, use `db.namespace` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbRedisDatabaseIndex = "db.redis.database_index"; /** - * The name of the primary table that the operation is acting upon, including the database name (if - applicable). + * Deprecated, use {@code db.collection.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.collection.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbSqlTable = "db.sql.table"; /** * The database statement being executed. + * + * @deprecated The database statement being executed. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbStatement = "db.statement"; /** - * An identifier for the database management system (DBMS) product being used. See below for a list - * of well-known identifiers. - */ -static constexpr const char *kDbSystem = "db.system"; - -/** - * Username for accessing the database. + * Deprecated, no replacement at this time. + * + * @deprecated Deprecated, no replacement at this time. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbUser = "db.user"; /** - * Name of the deployment -environment (aka deployment tier). + * Deprecated, use {@code db.client.connections.pool.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.client.connections.pool.name` instead. */ -static constexpr const char *kDeploymentEnvironment = "deployment.environment"; +OPENTELEMETRY_DEPRECATED +static constexpr const char *kPoolName = "pool.name"; /** - * Deprecated, use {@code server.address}, {@code server.port} attributes instead. + * Deprecated, use {@code db.client.connections.state} instead. * - * @deprecated Deprecated, use `server.address`, `server.port` attributes instead. + * @deprecated Deprecated, use `db.client.connections.state` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbConnectionString = "db.connection_string"; +static constexpr const char *kState = "state"; /** - * Deprecated, use {@code db.instance.id} instead. + * Deprecated, use {@code client.address} instead. * - * @deprecated Deprecated, use `db.instance.id` instead. + * @deprecated Deprecated, use `client.address` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name"; +static constexpr const char *kHttpClientIp = "http.client_ip"; /** - * Removed, no replacement at this time. + * Deprecated, use {@code network.protocol.name} instead. * - * @deprecated Removed, no replacement at this time. + * @deprecated Deprecated, use `network.protocol.name` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbJdbcDriverClassname = "db.jdbc.driver_classname"; +static constexpr const char *kHttpFlavor = "http.flavor"; /** - * Deprecated, use {@code network.protocol.name} instead. + * Deprecated, use one of {@code server.address}, {@code client.address} or {@code + * http.request.header.host} instead, depending on the usage. * - * @deprecated Deprecated, use `network.protocol.name` instead. + * @deprecated Deprecated, use one of `server.address`, `client.address` or + * `http.request.header.host` instead, depending on the usage. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kHttpFlavor = "http.flavor"; +static constexpr const char *kHttpHost = "http.host"; /** * Deprecated, use {@code http.request.method} instead. @@ -899,6 +1018,15 @@ static constexpr const char *kHttpMethod = "http.method"; OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLength = "http.request_content_length"; +/** + * Deprecated, use {@code http.request.body.size} instead. + * + * @deprecated Deprecated, use `http.request.body.size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpRequestContentLengthUncompressed = + "http.request_content_length_uncompressed"; + /** * Deprecated, use {@code http.response.header.content-length} instead. * @@ -907,6 +1035,15 @@ static constexpr const char *kHttpRequestContentLength = "http.request_content_l OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLength = "http.response_content_length"; +/** + * Deprecated, use {@code http.response.body.size} instead. + * + * @deprecated Deprecated, use `http.response.body.size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpResponseContentLengthUncompressed = + "http.response_content_length_uncompressed"; + /** * Deprecated, use {@code url.scheme} instead. * @@ -915,6 +1052,14 @@ static constexpr const char *kHttpResponseContentLength = "http.response_content OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpScheme = "http.scheme"; +/** + * Deprecated, use {@code server.address} instead. + * + * @deprecated Deprecated, use `server.address` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpServerName = "http.server_name"; + /** * Deprecated, use {@code http.response.status_code} instead. * @@ -948,14 +1093,45 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUserAgent = "http.user_agent"; /** - * "Deprecated, use {@code messaging.destination.partition.id} instead." + * Deprecated use the {@code device.app.lifecycle} event definition including {@code ios.state} as a + payload field instead. + * + *

Notes: +

+ * + * @deprecated Deprecated use the `device.app.lifecycle` event definition including `ios.state` as a + payload field instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kIosState = "ios.state"; + +/** + * Deprecated, use {@code messaging.destination.partition.id} instead. * - * @deprecated "Deprecated, use `messaging.destination.partition.id` instead.". + * @deprecated Deprecated, use `messaging.destination.partition.id` instead. */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition"; +/** + * Deprecated, use {@code messaging.operation.type} instead. + * + * @deprecated Deprecated, use `messaging.operation.type` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessagingOperation = "messaging.operation"; + +/** + * Deprecated, use {@code network.local.address}. + * + * @deprecated Deprecated, use `network.local.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetHostIp = "net.host.ip"; + /** * Deprecated, use {@code server.address}. * @@ -972,6 +1148,14 @@ static constexpr const char *kNetHostName = "net.host.name"; OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostPort = "net.host.port"; +/** + * Deprecated, use {@code network.peer.address}. + * + * @deprecated Deprecated, use `network.peer.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetPeerIp = "net.peer.ip"; + /** * Deprecated, use {@code server.address} on client spans and {@code client.address} on server * spans. @@ -1062,6 +1246,54 @@ static constexpr const char *kNetSockPeerPort = "net.sock.peer.port"; OPENTELEMETRY_DEPRECATED static constexpr const char *kNetTransport = "net.transport"; +/** + * None + * + * @deprecated None. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kOtelLibraryName = "otel.library.name"; + +/** + * None + * + * @deprecated None. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kOtelLibraryVersion = "otel.library.version"; + +/** + * Deprecated, use {@code rpc.message.compressed_size} instead. + * + * @deprecated Deprecated, use `rpc.message.compressed_size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessageCompressedSize = "message.compressed_size"; + +/** + * Deprecated, use {@code rpc.message.id} instead. + * + * @deprecated Deprecated, use `rpc.message.id` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessageId = "message.id"; + +/** + * Deprecated, use {@code rpc.message.type} instead. + * + * @deprecated Deprecated, use `rpc.message.type` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessageType = "message.type"; + +/** + * Deprecated, use {@code rpc.message.uncompressed_size} instead. + * + * @deprecated Deprecated, use `rpc.message.uncompressed_size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessageUncompressedSize = "message.uncompressed_size"; + /** * Deprecated, use {@code system.process.status} instead. * @@ -1175,20 +1407,33 @@ static constexpr const char *kEnduserScope = "enduser.scope"; * Describes a class of error the operation ended with. * *

Notes: -

*/ @@ -1451,84 +1697,192 @@ static constexpr const char *kGcpGceInstanceHostname = "gcp.gce.instance.hostnam static constexpr const char *kGcpGceInstanceName = "gcp.gce.instance.name"; /** - * The CPU architecture the host system is running on. + * The full response received from the LLM. + * + *

Notes: +

*/ -static constexpr const char *kHostArch = "host.arch"; +static constexpr const char *kGenAiCompletion = "gen_ai.completion"; /** - * The amount of level 2 memory cache available to the processor (in Bytes). + * The full prompt sent to an LLM. + * + *

Notes: +

*/ -static constexpr const char *kHostCpuCacheL2Size = "host.cpu.cache.l2.size"; +static constexpr const char *kGenAiPrompt = "gen_ai.prompt"; /** - * Family or generation of the CPU. + * The maximum number of tokens the LLM generates for a request. */ -static constexpr const char *kHostCpuFamily = "host.cpu.family"; +static constexpr const char *kGenAiRequestMaxTokens = "gen_ai.request.max_tokens"; /** - * Model identifier. It provides more granular information about the CPU, distinguishing it from - * other CPUs within the same family. + * The name of the LLM a request is being made to. */ -static constexpr const char *kHostCpuModelId = "host.cpu.model.id"; +static constexpr const char *kGenAiRequestModel = "gen_ai.request.model"; /** - * Model designation of the processor. + * The temperature setting for the LLM request. */ -static constexpr const char *kHostCpuModelName = "host.cpu.model.name"; +static constexpr const char *kGenAiRequestTemperature = "gen_ai.request.temperature"; /** - * Stepping or core revisions. + * The top_p sampling setting for the LLM request. */ -static constexpr const char *kHostCpuStepping = "host.cpu.stepping"; +static constexpr const char *kGenAiRequestTopP = "gen_ai.request.top_p"; /** - * Processor manufacturer identifier. A maximum 12-character string. - * - *

Notes: -

+ * Array of reasons the model stopped generating tokens, corresponding to each generation received. */ -static constexpr const char *kHostCpuVendorId = "host.cpu.vendor.id"; +static constexpr const char *kGenAiResponseFinishReasons = "gen_ai.response.finish_reasons"; /** - * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For - * non-containerized systems, this should be the {@code machine-id}. See the table below for the - * sources to use to determine the {@code machine-id} based on operating system. + * The unique identifier for the completion. */ -static constexpr const char *kHostId = "host.id"; +static constexpr const char *kGenAiResponseId = "gen_ai.response.id"; /** - * VM image ID or host OS image ID. For Cloud, this value is from the provider. + * The name of the LLM a response was generated from. */ -static constexpr const char *kHostImageId = "host.image.id"; +static constexpr const char *kGenAiResponseModel = "gen_ai.response.model"; /** - * Name of the VM image or OS install the host was instantiated from. + * The Generative AI product as identified by the client instrumentation. + * + *

Notes: +

*/ -static constexpr const char *kHostImageName = "host.image.name"; +static constexpr const char *kGenAiSystem = "gen_ai.system"; /** - * The version string of the VM image or host OS as defined in Version Attributes. + * The number of tokens used in the LLM response (completion). */ -static constexpr const char *kHostImageVersion = "host.image.version"; +static constexpr const char *kGenAiUsageCompletionTokens = "gen_ai.usage.completion_tokens"; /** - * Available IP addresses of the host, excluding loopback interfaces. - * - *

Notes: -

+ * The number of tokens used in the LLM prompt. */ -static constexpr const char *kHostIp = "host.ip"; +static constexpr const char *kGenAiUsagePromptTokens = "gen_ai.usage.prompt_tokens"; /** - * Available MAC addresses of the host, excluding loopback interfaces. + * The GraphQL document being executed. * *

Notes: -

+ */ +static constexpr const char *kGraphqlDocument = "graphql.document"; + +/** + * The name of the operation being executed. + */ +static constexpr const char *kGraphqlOperationName = "graphql.operation.name"; + +/** + * The type of the operation being executed. + */ +static constexpr const char *kGraphqlOperationType = "graphql.operation.type"; + +/** + * Unique identifier for the application + */ +static constexpr const char *kHerokuAppId = "heroku.app.id"; + +/** + * Commit hash for the current release + */ +static constexpr const char *kHerokuReleaseCommit = "heroku.release.commit"; + +/** + * Time and date the release was created + */ +static constexpr const char *kHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp"; + +/** + * The CPU architecture the host system is running on. + */ +static constexpr const char *kHostArch = "host.arch"; + +/** + * The amount of level 2 memory cache available to the processor (in Bytes). + */ +static constexpr const char *kHostCpuCacheL2Size = "host.cpu.cache.l2.size"; + +/** + * Family or generation of the CPU. + */ +static constexpr const char *kHostCpuFamily = "host.cpu.family"; + +/** + * Model identifier. It provides more granular information about the CPU, distinguishing it from + * other CPUs within the same family. + */ +static constexpr const char *kHostCpuModelId = "host.cpu.model.id"; + +/** + * Model designation of the processor. + */ +static constexpr const char *kHostCpuModelName = "host.cpu.model.name"; + +/** + * Stepping or core revisions. + */ +static constexpr const char *kHostCpuStepping = "host.cpu.stepping"; + +/** + * Processor manufacturer identifier. A maximum 12-character string. + * + *

Notes: +

+ */ +static constexpr const char *kHostCpuVendorId = "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 {@code machine-id}. See the table below for the + * sources to use to determine the {@code machine-id} based on operating system. + */ +static constexpr const char *kHostId = "host.id"; + +/** + * VM image ID or host OS image ID. For Cloud, this value is from the provider. + */ +static constexpr const char *kHostImageId = "host.image.id"; + +/** + * Name of the VM image or OS install the host was instantiated from. + */ +static constexpr const char *kHostImageName = "host.image.name"; + +/** + * The version string of the VM image or host OS as defined in Version Attributes. + */ +static constexpr const char *kHostImageVersion = "host.image.version"; + +/** + * Available IP addresses of the host, excluding loopback interfaces. + * + *

Notes: +

+ */ +static constexpr const char *kHostIp = "host.ip"; + +/** + * Available MAC addresses of the host, excluding loopback interfaces. + * + *

Notes: +

@@ -1635,6 +1989,61 @@ one. */ static constexpr const char *kHttpRoute = "http.route"; +/** + * Name of the buffer pool. + * + *

Notes: +

+ */ +static constexpr const char *kJvmBufferPoolName = "jvm.buffer.pool.name"; + +/** + * Name of the garbage collector action. + * + *

Notes: +

+ */ +static constexpr const char *kJvmGcAction = "jvm.gc.action"; + +/** + * Name of the garbage collector. + * + *

Notes: +

+ */ +static constexpr const char *kJvmGcName = "jvm.gc.name"; + +/** + * Name of the memory pool. + * + *

Notes: +

+ */ +static constexpr const char *kJvmMemoryPoolName = "jvm.memory.pool.name"; + +/** + * The type of memory. + */ +static constexpr const char *kJvmMemoryType = "jvm.memory.type"; + +/** + * Whether the thread is daemon or not. + */ +static constexpr const char *kJvmThreadDaemon = "jvm.thread.daemon"; + +/** + * State of the thread. + */ +static constexpr const char *kJvmThreadState = "jvm.thread.state"; + /** * The name of the cluster. */ @@ -1676,6 +2085,12 @@ static constexpr const char *kK8sContainerName = "k8s.container.name"; */ static constexpr const char *kK8sContainerRestartCount = "k8s.container.restart_count"; +/** + * Last terminated reason of the Container. + */ +static constexpr const char *kK8sContainerStatusLastTerminatedReason = + "k8s.container.status.last_terminated_reason"; + /** * The name of the CronJob. */ @@ -1761,6 +2176,42 @@ static constexpr const char *kK8sStatefulsetName = "k8s.statefulset.name"; */ static constexpr const char *kK8sStatefulsetUid = "k8s.statefulset.uid"; +/** + * The stream associated with the log. See below for a list of well-known values. + */ +static constexpr const char *kLogIostream = "log.iostream"; + +/** + * The basename of the file. + */ +static constexpr const char *kLogFileName = "log.file.name"; + +/** + * The basename of the file, with symlinks resolved. + */ +static constexpr const char *kLogFileNameResolved = "log.file.name_resolved"; + +/** + * The full path to the file. + */ +static constexpr const char *kLogFilePath = "log.file.path"; + +/** + * The full path to the file, with symlinks resolved. + */ +static constexpr const char *kLogFilePathResolved = "log.file.path_resolved"; + +/** + * A unique identifier for the Log Record. + * + *

Notes: +

+ */ +static constexpr const char *kLogRecordUid = "log.record.uid"; + /** * The number of messages sent, received, or processed in the scope of the batching operation. * @@ -1776,7 +2227,7 @@ static constexpr const char *kMessagingBatchMessageCount = "messaging.batch.mess /** * A unique identifier for the client that consumes or produces a message. */ -static constexpr const char *kMessagingClientId = "messaging.client_id"; +static constexpr const char *kMessagingClientId = "messaging.client.id"; /** * A boolean that is true if the message destination is anonymous (could be unnamed or have @@ -1837,23 +2288,56 @@ static constexpr const char *kMessagingDestinationPublishName = "messaging.destination_publish.name"; /** - * The name of the consumer group the event consumer is associated with. + * The size of the message body in bytes. + * + *

Notes: +

*/ -static constexpr const char *kMessagingEventhubsConsumerGroup = - "messaging.eventhubs.consumer.group"; +static constexpr const char *kMessagingMessageBodySize = "messaging.message.body.size"; /** - * The UTC epoch seconds at which the message has been accepted and stored in the entity. + * The conversation ID identifying the conversation to which the message belongs, represented as a + * string. Sometimes called "Correlation ID". */ -static constexpr const char *kMessagingEventhubsMessageEnqueuedTime = - "messaging.eventhubs.message.enqueued_time"; +static constexpr const char *kMessagingMessageConversationId = "messaging.message.conversation_id"; /** - * The ordering key for a given message. If the attribute is not present, the message does not have - * an ordering key. + * The size of the message body and metadata in bytes. + * + *

Notes: +

*/ -static constexpr const char *kMessagingGcpPubsubMessageOrderingKey = - "messaging.gcp_pubsub.message.ordering_key"; +static constexpr const char *kMessagingMessageEnvelopeSize = "messaging.message.envelope.size"; + +/** + * A value used by the messaging system as an identifier for the message, represented as a string. + */ +static constexpr const char *kMessagingMessageId = "messaging.message.id"; + +/** + * The system-specific name of the messaging operation. + */ +static constexpr const char *kMessagingOperationName = "messaging.operation.name"; + +/** + * A string identifying the type of the messaging operation. + * + *

Notes: +

+ */ +static constexpr const char *kMessagingOperationType = "messaging.operation.type"; + +/** + * The messaging system as identified by the client instrumentation. + * + *

Notes: +

+ */ +static constexpr const char *kMessagingSystem = "messaging.system"; /** * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not @@ -1884,62 +2368,25 @@ static constexpr const char *kMessagingKafkaMessageOffset = "messaging.kafka.mes static constexpr const char *kMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone"; /** - * The size of the message body in bytes. - * - *

Notes: -

+ * RabbitMQ message routing key. */ -static constexpr const char *kMessagingMessageBodySize = "messaging.message.body.size"; +static constexpr const char *kMessagingRabbitmqDestinationRoutingKey = + "messaging.rabbitmq.destination.routing_key"; /** - * The conversation ID identifying the conversation to which the message belongs, represented as a - * string. Sometimes called "Correlation ID". + * RabbitMQ message delivery tag */ -static constexpr const char *kMessagingMessageConversationId = "messaging.message.conversation_id"; +static constexpr const char *kMessagingRabbitmqMessageDeliveryTag = + "messaging.rabbitmq.message.delivery_tag"; /** - * The size of the message body and metadata in bytes. - * - *

Notes: -

+ * Name of the RocketMQ producer/consumer group that is handling the message. The client type is + * identified by the SpanKind. */ -static constexpr const char *kMessagingMessageEnvelopeSize = "messaging.message.envelope.size"; +static constexpr const char *kMessagingRocketmqClientGroup = "messaging.rocketmq.client_group"; /** - * A value used by the messaging system as an identifier for the message, represented as a string. - */ -static constexpr const char *kMessagingMessageId = "messaging.message.id"; - -/** - * A string identifying the kind of messaging operation. - * - *

Notes: -

- */ -static constexpr const char *kMessagingOperation = "messaging.operation"; - -/** - * RabbitMQ message routing key. - */ -static constexpr const char *kMessagingRabbitmqDestinationRoutingKey = - "messaging.rabbitmq.destination.routing_key"; - -/** - * RabbitMQ message delivery tag - */ -static constexpr const char *kMessagingRabbitmqMessageDeliveryTag = - "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. - */ -static constexpr const char *kMessagingRocketmqClientGroup = "messaging.rocketmq.client_group"; - -/** - * Model of message consumption. This only applies to consumer spans. + * Model of message consumption. This only applies to consumer spans. */ static constexpr const char *kMessagingRocketmqConsumptionModel = "messaging.rocketmq.consumption_model"; @@ -1982,6 +2429,31 @@ static constexpr const char *kMessagingRocketmqMessageType = "messaging.rocketmq */ static constexpr const char *kMessagingRocketmqNamespace = "messaging.rocketmq.namespace"; +/** + * The ack deadline in seconds set for the modify ack deadline request. + */ +static constexpr const char *kMessagingGcpPubsubMessageAckDeadline = + "messaging.gcp_pubsub.message.ack_deadline"; + +/** + * The ack id for a given message. + */ +static constexpr const char *kMessagingGcpPubsubMessageAckId = + "messaging.gcp_pubsub.message.ack_id"; + +/** + * The delivery attempt for a given message. + */ +static constexpr const char *kMessagingGcpPubsubMessageDeliveryAttempt = + "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. + */ +static constexpr const char *kMessagingGcpPubsubMessageOrderingKey = + "messaging.gcp_pubsub.message.ordering_key"; + /** * The name of the subscription in the topic messages are received from. */ @@ -2009,10 +2481,16 @@ static constexpr const char *kMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time"; /** - * An identifier for the messaging system being used. See below for a list of well-known - * identifiers. + * The name of the consumer group the event consumer is associated with. */ -static constexpr const char *kMessagingSystem = "messaging.system"; +static constexpr const char *kMessagingEventhubsConsumerGroup = + "messaging.eventhubs.consumer.group"; + +/** + * The UTC epoch seconds at which the message has been accepted and stored in the entity. + */ +static constexpr const char *kMessagingEventhubsMessageEnqueuedTime = + "messaging.eventhubs.message.enqueued_time"; /** * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. @@ -2125,6 +2603,14 @@ Manifest. */ static constexpr const char *kOciManifestDigest = "oci.manifest.digest"; +/** + * Parent-child Reference type + * + *

Notes: +

+ */ +static constexpr const char *kOpentracingRefType = "opentracing.ref_type"; + /** * Unique identifier for a particular build or compilation of the operating system. */ @@ -2152,6 +2638,27 @@ static constexpr const char *kOsType = "os.type"; */ static constexpr const char *kOsVersion = "os.version"; +/** + * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code + * is UNSET. + */ +static constexpr const char *kOtelStatusCode = "otel.status_code"; + +/** + * Description of the Status if it has a value, otherwise not set. + */ +static constexpr const char *kOtelStatusDescription = "otel.status_description"; + +/** + * The name of the instrumentation scope - ({@code InstrumentationScope.Name} in OTLP). + */ +static constexpr const char *kOtelScopeName = "otel.scope.name"; + +/** + * The version of the instrumentation scope - ({@code InstrumentationScope.Version} in OTLP). + */ +static constexpr const char *kOtelScopeVersion = "otel.scope.version"; + /** * The {@code service.name} of the remote service. * SHOULD be equal to the actual {@code service.name} resource attribute of the remote service if @@ -2181,6 +2688,16 @@ static constexpr const char *kProcessCommandArgs = "process.command_args"; */ static constexpr const char *kProcessCommandLine = "process.command_line"; +/** + * Specifies whether the context switches for this data point were voluntary or involuntary. + */ +static constexpr const char *kProcessContextSwitchType = "process.context_switch_type"; + +/** + * The date and time the process was created, in ISO 8601 format. + */ +static constexpr const char *kProcessCreationTime = "process.creation.time"; + /** * The name of the process executable. On Linux based systems, can be set to the {@code Name} in * {@code proc/[pid]/status}. On Windows, can be set to the base name of {@code @@ -2194,11 +2711,37 @@ static constexpr const char *kProcessExecutableName = "process.executable.name"; */ static constexpr const char *kProcessExecutablePath = "process.executable.path"; +/** + * The exit code of the process. + */ +static constexpr const char *kProcessExitCode = "process.exit.code"; + +/** + * The date and time the process exited, in ISO 8601 format. + */ +static constexpr const char *kProcessExitTime = "process.exit.time"; + +/** + * The PID of the process's group leader. This is also the process group ID (PGID) of the process. + */ +static constexpr const char *kProcessGroupLeaderPid = "process.group_leader.pid"; + +/** + * Whether the process is connected to an interactive shell. + */ +static constexpr const char *kProcessInteractive = "process.interactive"; + /** * The username of the user that owns the process. */ static constexpr const char *kProcessOwner = "process.owner"; +/** + * The type of page fault for this data point. Type {@code major} is for major/hard page faults, and + * {@code minor} is for minor/soft page faults. + */ +static constexpr const char *kProcessPagingFaultType = "process.paging.fault_type"; + /** * Parent Process identifier (PPID). */ @@ -2209,6 +2752,16 @@ static constexpr const char *kProcessParentPid = "process.parent_pid"; */ static constexpr const char *kProcessPid = "process.pid"; +/** + * The real user ID (RUID) of the process. + */ +static constexpr const char *kProcessRealUserId = "process.real_user.id"; + +/** + * The username of the real user of the process. + */ +static constexpr const char *kProcessRealUserName = "process.real_user.name"; + /** * An additional description about the runtime of the process, for example a specific vendor * customization of the runtime environment. @@ -2226,6 +2779,46 @@ static constexpr const char *kProcessRuntimeName = "process.runtime.name"; */ static constexpr const char *kProcessRuntimeVersion = "process.runtime.version"; +/** + * The saved user ID (SUID) of the process. + */ +static constexpr const char *kProcessSavedUserId = "process.saved_user.id"; + +/** + * The username of the saved user. + */ +static constexpr const char *kProcessSavedUserName = "process.saved_user.name"; + +/** + * The PID of the process's session leader. This is also the session ID (SID) of the process. + */ +static constexpr const char *kProcessSessionLeaderPid = "process.session_leader.pid"; + +/** + * The effective user ID (EUID) of the process. + */ +static constexpr const char *kProcessUserId = "process.user.id"; + +/** + * The username of the effective user of the process. + */ +static constexpr const char *kProcessUserName = "process.user.name"; + +/** + * Virtual process identifier. + * + *

Notes: +

+ */ +static constexpr const char *kProcessVpid = "process.vpid"; + +/** + * The CPU state of the process. + */ +static constexpr const char *kProcessCpuState = "process.cpu.state"; + /** * The error codes of the Connect * request. Error codes are always string values. @@ -2261,6 +2854,31 @@ static constexpr const char *kRpcJsonrpcRequestId = "rpc.jsonrpc.request_id"; */ static constexpr const char *kRpcJsonrpcVersion = "rpc.jsonrpc.version"; +/** + * Compressed size of the message in bytes. + */ +static constexpr const char *kRpcMessageCompressedSize = "rpc.message.compressed_size"; + +/** + * MUST be calculated as two different counters starting from {@code 1} one for sent messages and + one for received message. + * + *

Notes: +

+ */ +static constexpr const char *kRpcMessageId = "rpc.message.id"; + +/** + * Whether this is a received or sent message. + */ +static constexpr const char *kRpcMessageType = "rpc.message.type"; + +/** + * Uncompressed size of the message in bytes. + */ +static constexpr const char *kRpcMessageUncompressedSize = "rpc.message.uncompressed_size"; + /** * The name of the (logical) method being called, must be equal to the $method part in the span name. @@ -2347,9 +2965,9 @@ static constexpr const char *kServiceInstanceId = "service.instance.id"; *

Notes:

+ href="process.md">{@code process.executable.name}, e.g. {@code unknown_service:bash}. If {@code + process.executable.name} is not available, the value MUST be set to {@code unknown_service}. + */ static constexpr const char *kServiceName = "service.name"; @@ -2382,6 +3000,18 @@ static constexpr const char *kSessionId = "session.id"; */ static constexpr const char *kSessionPreviousId = "session.previous_id"; +/** + * SignalR HTTP connection closure status. + */ +static constexpr const char *kSignalrConnectionStatus = "signalr.connection.status"; + +/** + * SignalR + * transport type + */ +static constexpr const char *kSignalrTransport = "signalr.transport"; + /** * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. @@ -2398,6 +3028,73 @@ static constexpr const char *kSourceAddress = "source.address"; */ static constexpr const char *kSourcePort = "source.port"; +/** + * The device identifier + */ +static constexpr const char *kSystemDevice = "system.device"; + +/** + * The logical CPU number [0..n-1] + */ +static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number"; + +/** + * The state of the CPU + */ +static constexpr const char *kSystemCpuState = "system.cpu.state"; + +/** + * The memory state + */ +static constexpr const char *kSystemMemoryState = "system.memory.state"; + +/** + * The paging access direction + */ +static constexpr const char *kSystemPagingDirection = "system.paging.direction"; + +/** + * The memory paging state + */ +static constexpr const char *kSystemPagingState = "system.paging.state"; + +/** + * The memory paging type + */ +static constexpr const char *kSystemPagingType = "system.paging.type"; + +/** + * The filesystem mode + */ +static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode"; + +/** + * The filesystem mount path + */ +static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint"; + +/** + * The filesystem state + */ +static constexpr const char *kSystemFilesystemState = "system.filesystem.state"; + +/** + * The filesystem type + */ +static constexpr const char *kSystemFilesystemType = "system.filesystem.type"; + +/** + * A stateless protocol MUST NOT set this attribute + */ +static constexpr const char *kSystemNetworkState = "system.network.state"; + +/** + * The process state, e.g., Linux Process State + * Codes + */ +static constexpr const char *kSystemProcessStatus = "system.process.status"; + /** * The language of the telemetry SDK. */ @@ -2740,6 +3437,12 @@ static constexpr const char *kUrlScheme = "url.scheme"; */ static constexpr const char *kUrlSubdomain = "url.subdomain"; +/** + * The low-cardinality template of an absolute path reference. + */ +static constexpr const char *kUrlTemplate = "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 {@code com}. @@ -2779,410 +3482,60 @@ static constexpr const char *kUserAgentOriginal = "user_agent.original"; static constexpr const char *kUserAgentVersion = "user_agent.version"; /** - * The full invoked ARN as provided on the {@code Context} passed to the function ({@code - Lambda-Runtime-Invoked-Function-Arn} header on the {@code /runtime/invocation/next} applicable). - * - *

Notes: -

- */ -static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn"; - -/** - * Parent-child Reference type - * - *

Notes: -

- */ -static constexpr const char *kOpentracingRefType = "opentracing.ref_type"; - -/** - * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code - * is UNSET. + * Additional description of the web engine (e.g. detailed version and edition information). */ -static constexpr const char *kOtelStatusCode = "otel.status_code"; +static constexpr const char *kWebengineDescription = "webengine.description"; -/** - * Description of the Status if it has a value, otherwise not set. - */ -static constexpr const char *kOtelStatusDescription = "otel.status_description"; - -/** - * The AWS request ID as returned in the response headers {@code x-amz-request-id} or {@code - * x-amz-requestid}. - */ -static constexpr const char *kAwsRequestId = "aws.request_id"; - -/** - * The S3 bucket name the request refers to. Corresponds to the {@code --bucket} parameter of the S3 API operations. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3Bucket = "aws.s3.bucket"; - -/** - * The source object (in the form {@code bucket}/{@code key}) for the copy operation. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3CopySource = "aws.s3.copy_source"; - -/** - * The delete request container that specifies the objects to be deleted. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3Delete = "aws.s3.delete"; - -/** - * The S3 object key the request refers to. Corresponds to the {@code --key} parameter of the S3 API operations. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3Key = "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. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number"; - -/** - * Upload ID that identifies the multipart upload. - * - *

Notes: -

- */ -static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id"; - -/** - * The GraphQL document being executed. - * - *

Notes: -

- */ -static constexpr const char *kGraphqlDocument = "graphql.document"; - -/** - * The name of the operation being executed. - */ -static constexpr const char *kGraphqlOperationName = "graphql.operation.name"; - -/** - * The type of the operation being executed. - */ -static constexpr const char *kGraphqlOperationType = "graphql.operation.type"; - -/** - * Compressed size of the message in bytes. - */ -static constexpr const char *kMessageCompressedSize = "message.compressed_size"; - -/** - * MUST be calculated as two different counters starting from {@code 1} one for sent messages and - one for received message. - * - *

Notes: -

- */ -static constexpr const char *kMessageId = "message.id"; - -/** - * Whether this is a received or sent message. - */ -static constexpr const char *kMessageType = "message.type"; - -/** - * Uncompressed size of the message in bytes. - */ -static constexpr const char *kMessageUncompressedSize = "message.uncompressed_size"; - -// Enum definitions -namespace LogIostreamValues -{ -/** Logs from stdout stream. */ -static constexpr const char *kStdout = "stdout"; -/** Events from stderr stream. */ -static constexpr const char *kStderr = "stderr"; -} // namespace LogIostreamValues - -namespace IosStateValues -{ -/** The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`. */ -static constexpr const char *kActive = "active"; -/** The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. */ -static constexpr const char *kInactive = "inactive"; -/** The app is now in the background. This value is associated with UIKit notification - * `applicationDidEnterBackground`. */ -static constexpr const char *kBackground = "background"; -/** The app is now in the foreground. This value is associated with UIKit notification - * `applicationWillEnterForeground`. */ -static constexpr const char *kForeground = "foreground"; -/** The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. */ -static constexpr const char *kTerminate = "terminate"; -} // namespace IosStateValues - -namespace 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. */ -static constexpr const char *kCreated = "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. */ -static constexpr const char *kBackground = "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. */ -static constexpr const char *kForeground = "foreground"; -} // namespace AndroidStateValues - -namespace StateValues -{ -/** idle. */ -static constexpr const char *kIdle = "idle"; -/** used. */ -static constexpr const char *kUsed = "used"; -} // namespace StateValues - -namespace AspnetcoreRateLimitingResultValues -{ -/** Lease was acquired. */ -static constexpr const char *kAcquired = "acquired"; -/** Lease request was rejected by the endpoint limiter. */ -static constexpr const char *kEndpointLimiter = "endpoint_limiter"; -/** Lease request was rejected by the global limiter. */ -static constexpr const char *kGlobalLimiter = "global_limiter"; -/** Lease request was canceled. */ -static constexpr const char *kRequestCanceled = "request_canceled"; -} // namespace AspnetcoreRateLimitingResultValues - -namespace SignalrConnectionStatusValues -{ -/** The connection was closed normally. */ -static constexpr const char *kNormalClosure = "normal_closure"; -/** The connection was closed due to a timeout. */ -static constexpr const char *kTimeout = "timeout"; -/** The connection was closed because the app is shutting down. */ -static constexpr const char *kAppShutdown = "app_shutdown"; -} // namespace SignalrConnectionStatusValues - -namespace SignalrTransportValues -{ -/** ServerSentEvents protocol. */ -static constexpr const char *kServerSentEvents = "server_sent_events"; -/** LongPolling protocol. */ -static constexpr const char *kLongPolling = "long_polling"; -/** WebSockets protocol. */ -static constexpr const char *kWebSockets = "web_sockets"; -} // namespace SignalrTransportValues - -namespace JvmMemoryTypeValues -{ -/** Heap memory. */ -static constexpr const char *kHeap = "heap"; -/** Non-heap memory. */ -static constexpr const char *kNonHeap = "non_heap"; -} // namespace JvmMemoryTypeValues - -namespace ProcessCpuStateValues -{ -/** system. */ -static constexpr const char *kSystem = "system"; -/** user. */ -static constexpr const char *kUser = "user"; -/** wait. */ -static constexpr const char *kWait = "wait"; -} // namespace ProcessCpuStateValues - -namespace SystemCpuStateValues -{ -/** user. */ -static constexpr const char *kUser = "user"; -/** system. */ -static constexpr const char *kSystem = "system"; -/** nice. */ -static constexpr const char *kNice = "nice"; -/** idle. */ -static constexpr const char *kIdle = "idle"; -/** iowait. */ -static constexpr const char *kIowait = "iowait"; -/** interrupt. */ -static constexpr const char *kInterrupt = "interrupt"; -/** steal. */ -static constexpr const char *kSteal = "steal"; -} // namespace SystemCpuStateValues - -namespace SystemMemoryStateValues -{ -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -/** shared. */ -static constexpr const char *kShared = "shared"; -/** buffers. */ -static constexpr const char *kBuffers = "buffers"; -/** cached. */ -static constexpr const char *kCached = "cached"; -} // namespace SystemMemoryStateValues - -namespace SystemPagingDirectionValues -{ -/** in. */ -static constexpr const char *kIn = "in"; -/** out. */ -static constexpr const char *kOut = "out"; -} // namespace SystemPagingDirectionValues - -namespace SystemPagingStateValues -{ -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -} // namespace SystemPagingStateValues - -namespace SystemPagingTypeValues -{ -/** major. */ -static constexpr const char *kMajor = "major"; -/** minor. */ -static constexpr const char *kMinor = "minor"; -} // namespace SystemPagingTypeValues - -namespace SystemFilesystemStateValues -{ -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -/** reserved. */ -static constexpr const char *kReserved = "reserved"; -} // namespace SystemFilesystemStateValues - -namespace SystemFilesystemTypeValues -{ -/** fat32. */ -static constexpr const char *kFat32 = "fat32"; -/** exfat. */ -static constexpr const char *kExfat = "exfat"; -/** ntfs. */ -static constexpr const char *kNtfs = "ntfs"; -/** refs. */ -static constexpr const char *kRefs = "refs"; -/** hfsplus. */ -static constexpr const char *kHfsplus = "hfsplus"; -/** ext4. */ -static constexpr const char *kExt4 = "ext4"; -} // namespace SystemFilesystemTypeValues - -namespace SystemNetworkStateValues -{ -/** close. */ -static constexpr const char *kClose = "close"; -/** close_wait. */ -static constexpr const char *kCloseWait = "close_wait"; -/** closing. */ -static constexpr const char *kClosing = "closing"; -/** delete. */ -static constexpr const char *kDelete = "delete"; -/** established. */ -static constexpr const char *kEstablished = "established"; -/** fin_wait_1. */ -static constexpr const char *kFinWait1 = "fin_wait_1"; -/** fin_wait_2. */ -static constexpr const char *kFinWait2 = "fin_wait_2"; -/** last_ack. */ -static constexpr const char *kLastAck = "last_ack"; -/** listen. */ -static constexpr const char *kListen = "listen"; -/** syn_recv. */ -static constexpr const char *kSynRecv = "syn_recv"; -/** syn_sent. */ -static constexpr const char *kSynSent = "syn_sent"; -/** time_wait. */ -static constexpr const char *kTimeWait = "time_wait"; -} // namespace SystemNetworkStateValues +/** + * The name of the web engine. + */ +static constexpr const char *kWebengineName = "webengine.name"; -namespace SystemProcessStatusValues +/** + * The version of the web engine. + */ +static constexpr const char *kWebengineVersion = "webengine.version"; + +// Enum definitions +namespace AspnetcoreRateLimitingResultValues { -/** running. */ -static constexpr const char *kRunning = "running"; -/** sleeping. */ -static constexpr const char *kSleeping = "sleeping"; -/** stopped. */ -static constexpr const char *kStopped = "stopped"; -/** defunct. */ -static constexpr const char *kDefunct = "defunct"; -} // namespace SystemProcessStatusValues +/** Lease was acquired. */ +static constexpr const char *kAcquired = "acquired"; +/** Lease request was rejected by the endpoint limiter. */ +static constexpr const char *kEndpointLimiter = "endpoint_limiter"; +/** Lease request was rejected by the global limiter. */ +static constexpr const char *kGlobalLimiter = "global_limiter"; +/** Lease request was canceled. */ +static constexpr const char *kRequestCanceled = "request_canceled"; +} // namespace AspnetcoreRateLimitingResultValues + +namespace AspnetcoreDiagnosticsExceptionResultValues +{ +/** Exception was handled by the exception handling middleware. */ +static constexpr const char *kHandled = "handled"; +/** Exception was not handled by the exception handling middleware. */ +static constexpr const char *kUnhandled = "unhandled"; +/** Exception handling was skipped because the response had started. */ +static constexpr const char *kSkipped = "skipped"; +/** Exception handling didn't run because the request was aborted. */ +static constexpr const char *kAborted = "aborted"; +} // namespace AspnetcoreDiagnosticsExceptionResultValues + +namespace AspnetcoreRoutingMatchStatusValues +{ +/** Match succeeded. */ +static constexpr const char *kSuccess = "success"; +/** Match failed. */ +static constexpr const char *kFailure = "failure"; +} // namespace AspnetcoreRoutingMatchStatusValues + +namespace AwsEcsLaunchtypeValues +{ +/** ec2. */ +static constexpr const char *kEc2 = "ec2"; +/** fargate. */ +static constexpr const char *kFargate = "fargate"; +} // namespace AwsEcsLaunchtypeValues namespace CloudPlatformValues { @@ -3274,73 +3627,13 @@ static constexpr const char *kSystem = "system"; static constexpr const char *kKernel = "kernel"; } // namespace ContainerCpuStateValues -namespace DbCassandraConsistencyLevelValues -{ -/** all. */ -static constexpr const char *kAll = "all"; -/** each_quorum. */ -static constexpr const char *kEachQuorum = "each_quorum"; -/** quorum. */ -static constexpr const char *kQuorum = "quorum"; -/** local_quorum. */ -static constexpr const char *kLocalQuorum = "local_quorum"; -/** one. */ -static constexpr const char *kOne = "one"; -/** two. */ -static constexpr const char *kTwo = "two"; -/** three. */ -static constexpr const char *kThree = "three"; -/** local_one. */ -static constexpr const char *kLocalOne = "local_one"; -/** any. */ -static constexpr const char *kAny = "any"; -/** serial. */ -static constexpr const char *kSerial = "serial"; -/** local_serial. */ -static constexpr const char *kLocalSerial = "local_serial"; -} // namespace DbCassandraConsistencyLevelValues - -namespace DbCosmosdbConnectionModeValues -{ -/** Gateway (HTTP) connections mode. */ -static constexpr const char *kGateway = "gateway"; -/** Direct connection. */ -static constexpr const char *kDirect = "direct"; -} // namespace DbCosmosdbConnectionModeValues - -namespace DbCosmosdbOperationTypeValues +namespace DbClientConnectionsStateValues { -/** invalid. */ -static constexpr const char *kInvalid = "Invalid"; -/** create. */ -static constexpr const char *kCreate = "Create"; -/** patch. */ -static constexpr const char *kPatch = "Patch"; -/** read. */ -static constexpr const char *kRead = "Read"; -/** read_feed. */ -static constexpr const char *kReadFeed = "ReadFeed"; -/** delete. */ -static constexpr const char *kDelete = "Delete"; -/** replace. */ -static constexpr const char *kReplace = "Replace"; -/** execute. */ -static constexpr const char *kExecute = "Execute"; -/** query. */ -static constexpr const char *kQuery = "Query"; -/** head. */ -static constexpr const char *kHead = "Head"; -/** head_feed. */ -static constexpr const char *kHeadFeed = "HeadFeed"; -/** upsert. */ -static constexpr const char *kUpsert = "Upsert"; -/** batch. */ -static constexpr const char *kBatch = "Batch"; -/** query_plan. */ -static constexpr const char *kQueryPlan = "QueryPlan"; -/** execute_javascript. */ -static constexpr const char *kExecuteJavascript = "ExecuteJavaScript"; -} // namespace DbCosmosdbOperationTypeValues +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** used. */ +static constexpr const char *kUsed = "used"; +} // namespace DbClientConnectionsStateValues namespace DbSystemValues { @@ -3450,6 +3743,95 @@ static constexpr const char *kSpanner = "spanner"; static constexpr const char *kTrino = "trino"; } // namespace DbSystemValues +namespace DbCassandraConsistencyLevelValues +{ +/** all. */ +static constexpr const char *kAll = "all"; +/** each_quorum. */ +static constexpr const char *kEachQuorum = "each_quorum"; +/** quorum. */ +static constexpr const char *kQuorum = "quorum"; +/** local_quorum. */ +static constexpr const char *kLocalQuorum = "local_quorum"; +/** one. */ +static constexpr const char *kOne = "one"; +/** two. */ +static constexpr const char *kTwo = "two"; +/** three. */ +static constexpr const char *kThree = "three"; +/** local_one. */ +static constexpr const char *kLocalOne = "local_one"; +/** any. */ +static constexpr const char *kAny = "any"; +/** serial. */ +static constexpr const char *kSerial = "serial"; +/** local_serial. */ +static constexpr const char *kLocalSerial = "local_serial"; +} // namespace DbCassandraConsistencyLevelValues + +namespace DbCosmosdbConnectionModeValues +{ +/** Gateway (HTTP) connections mode. */ +static constexpr const char *kGateway = "gateway"; +/** Direct connection. */ +static constexpr const char *kDirect = "direct"; +} // namespace DbCosmosdbConnectionModeValues + +namespace DbCosmosdbOperationTypeValues +{ +/** invalid. */ +static constexpr const char *kInvalid = "Invalid"; +/** create. */ +static constexpr const char *kCreate = "Create"; +/** patch. */ +static constexpr const char *kPatch = "Patch"; +/** read. */ +static constexpr const char *kRead = "Read"; +/** read_feed. */ +static constexpr const char *kReadFeed = "ReadFeed"; +/** delete. */ +static constexpr const char *kDelete = "Delete"; +/** replace. */ +static constexpr const char *kReplace = "Replace"; +/** execute. */ +static constexpr const char *kExecute = "Execute"; +/** query. */ +static constexpr const char *kQuery = "Query"; +/** head. */ +static constexpr const char *kHead = "Head"; +/** head_feed. */ +static constexpr const char *kHeadFeed = "HeadFeed"; +/** upsert. */ +static constexpr const char *kUpsert = "Upsert"; +/** batch. */ +static constexpr const char *kBatch = "Batch"; +/** query_plan. */ +static constexpr const char *kQueryPlan = "QueryPlan"; +/** execute_javascript. */ +static constexpr const char *kExecuteJavascript = "ExecuteJavaScript"; +} // namespace DbCosmosdbOperationTypeValues + +namespace 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. */ +static constexpr const char *kCreated = "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. */ +static constexpr const char *kBackground = "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. */ +static constexpr const char *kForeground = "foreground"; +} // namespace AndroidStateValues + +namespace StateValues +{ +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** used. */ +static constexpr const char *kUsed = "used"; +} // namespace StateValues + namespace HttpFlavorValues { /** HTTP/1.0. */ @@ -3466,6 +3848,22 @@ static constexpr const char *kSpdy = "SPDY"; static constexpr const char *kQuic = "QUIC"; } // namespace HttpFlavorValues +namespace IosStateValues +{ +/** The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`. */ +static constexpr const char *kActive = "active"; +/** The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. */ +static constexpr const char *kInactive = "inactive"; +/** The app is now in the background. This value is associated with UIKit notification + * `applicationDidEnterBackground`. */ +static constexpr const char *kBackground = "background"; +/** The app is now in the foreground. This value is associated with UIKit notification + * `applicationWillEnterForeground`. */ +static constexpr const char *kForeground = "foreground"; +/** The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. */ +static constexpr const char *kTerminate = "terminate"; +} // namespace IosStateValues + namespace NetSockFamilyValues { /** IPv4 address. */ @@ -3490,6 +3888,14 @@ static constexpr const char *kInproc = "inproc"; static constexpr const char *kOther = "other"; } // namespace NetTransportValues +namespace MessageTypeValues +{ +/** sent. */ +static constexpr const char *kSent = "SENT"; +/** received. */ +static constexpr const char *kReceived = "RECEIVED"; +} // namespace MessageTypeValues + namespace SystemProcessesStatusValues { /** running. */ @@ -3554,6 +3960,22 @@ static constexpr const char *kTimer = "timer"; static constexpr const char *kOther = "other"; } // namespace FaasTriggerValues +namespace GenAiSystemValues +{ +/** OpenAI. */ +static constexpr const char *kOpenai = "openai"; +} // namespace GenAiSystemValues + +namespace GraphqlOperationTypeValues +{ +/** GraphQL query. */ +static constexpr const char *kQuery = "query"; +/** GraphQL mutation. */ +static constexpr const char *kMutation = "mutation"; +/** GraphQL subscription. */ +static constexpr const char *kSubscription = "subscription"; +} // namespace GraphqlOperationTypeValues + namespace HostArchValues { /** AMD64. */ @@ -3606,7 +4028,41 @@ static constexpr const char *kTrace = "TRACE"; static constexpr const char *kOther = "_OTHER"; } // namespace HttpRequestMethodValues -namespace MessagingOperationValues +namespace JvmMemoryTypeValues +{ +/** Heap memory. */ +static constexpr const char *kHeap = "heap"; +/** Non-heap memory. */ +static constexpr const char *kNonHeap = "non_heap"; +} // namespace JvmMemoryTypeValues + +namespace JvmThreadStateValues +{ +/** A thread that has not yet started is in this state. */ +static constexpr const char *kNew = "new"; +/** A thread executing in the Java virtual machine is in this state. */ +static constexpr const char *kRunnable = "runnable"; +/** A thread that is blocked waiting for a monitor lock is in this state. */ +static constexpr const char *kBlocked = "blocked"; +/** A thread that is waiting indefinitely for another thread to perform a particular action is in + * this state. */ +static constexpr const char *kWaiting = "waiting"; +/** A thread that is waiting for another thread to perform an action for up to a specified waiting + * time is in this state. */ +static constexpr const char *kTimedWaiting = "timed_waiting"; +/** A thread that has exited is in this state. */ +static constexpr const char *kTerminated = "terminated"; +} // namespace JvmThreadStateValues + +namespace LogIostreamValues +{ +/** Logs from stdout stream. */ +static constexpr const char *kStdout = "stdout"; +/** Events from stderr stream. */ +static constexpr const char *kStderr = "stderr"; +} // namespace LogIostreamValues + +namespace 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 @@ -3622,7 +4078,31 @@ static constexpr const char *kReceive = "receive"; static constexpr const char *kDeliver = "process"; /** One or more messages are settled. */ static constexpr const char *kSettle = "settle"; -} // namespace MessagingOperationValues +} // namespace MessagingOperationTypeValues + +namespace MessagingSystemValues +{ +/** Apache ActiveMQ. */ +static constexpr const char *kActivemq = "activemq"; +/** Amazon Simple Queue Service (SQS). */ +static constexpr const char *kAwsSqs = "aws_sqs"; +/** Azure Event Grid. */ +static constexpr const char *kEventgrid = "eventgrid"; +/** Azure Event Hubs. */ +static constexpr const char *kEventhubs = "eventhubs"; +/** Azure Service Bus. */ +static constexpr const char *kServicebus = "servicebus"; +/** Google Cloud Pub/Sub. */ +static constexpr const char *kGcpPubsub = "gcp_pubsub"; +/** Java Message Service. */ +static constexpr const char *kJms = "jms"; +/** Apache Kafka. */ +static constexpr const char *kKafka = "kafka"; +/** RabbitMQ. */ +static constexpr const char *kRabbitmq = "rabbitmq"; +/** Apache RocketMQ. */ +static constexpr const char *kRocketmq = "rocketmq"; +} // namespace MessagingSystemValues namespace MessagingRocketmqConsumptionModelValues { @@ -3656,30 +4136,6 @@ static constexpr const char *kDeadLetter = "dead_letter"; static constexpr const char *kDefer = "defer"; } // namespace MessagingServicebusDispositionStatusValues -namespace MessagingSystemValues -{ -/** Apache ActiveMQ. */ -static constexpr const char *kActivemq = "activemq"; -/** Amazon Simple Queue Service (SQS). */ -static constexpr const char *kAwsSqs = "aws_sqs"; -/** Azure Event Grid. */ -static constexpr const char *kEventgrid = "eventgrid"; -/** Azure Event Hubs. */ -static constexpr const char *kEventhubs = "eventhubs"; -/** Azure Service Bus. */ -static constexpr const char *kServicebus = "servicebus"; -/** Google Cloud Pub/Sub. */ -static constexpr const char *kGcpPubsub = "gcp_pubsub"; -/** Java Message Service. */ -static constexpr const char *kJms = "jms"; -/** Apache Kafka. */ -static constexpr const char *kKafka = "kafka"; -/** RabbitMQ. */ -static constexpr const char *kRabbitmq = "rabbitmq"; -/** Apache RocketMQ. */ -static constexpr const char *kRocketmq = "rocketmq"; -} // namespace MessagingSystemValues - namespace NetworkConnectionSubtypeValues { /** GPRS. */ @@ -3768,6 +4224,14 @@ static constexpr const char *kIpv4 = "ipv4"; static constexpr const char *kIpv6 = "ipv6"; } // namespace NetworkTypeValues +namespace OpentracingRefTypeValues +{ +/** The parent Span depends on the child Span in some capacity. */ +static constexpr const char *kChildOf = "child_of"; +/** The parent Span doesn't depend in any way on the result of the child Span. */ +static constexpr const char *kFollowsFrom = "follows_from"; +} // namespace OpentracingRefTypeValues + namespace OsTypeValues { /** Microsoft Windows. */ @@ -3794,6 +4258,41 @@ static constexpr const char *kSolaris = "solaris"; static constexpr const char *kZOs = "z_os"; } // namespace OsTypeValues +namespace OtelStatusCodeValues +{ +/** The operation has been validated by an Application developer or Operator to have completed + * successfully. */ +static constexpr const char *kOk = "OK"; +/** The operation contains an error. */ +static constexpr const char *kError = "ERROR"; +} // namespace OtelStatusCodeValues + +namespace ProcessContextSwitchTypeValues +{ +/** voluntary. */ +static constexpr const char *kVoluntary = "voluntary"; +/** involuntary. */ +static constexpr const char *kInvoluntary = "involuntary"; +} // namespace ProcessContextSwitchTypeValues + +namespace ProcessPagingFaultTypeValues +{ +/** major. */ +static constexpr const char *kMajor = "major"; +/** minor. */ +static constexpr const char *kMinor = "minor"; +} // namespace ProcessPagingFaultTypeValues + +namespace ProcessCpuStateValues +{ +/** system. */ +static constexpr const char *kSystem = "system"; +/** user. */ +static constexpr const char *kUser = "user"; +/** wait. */ +static constexpr const char *kWait = "wait"; +} // namespace ProcessCpuStateValues + namespace RpcConnectRpcErrorCodeValues { /** cancelled. */ @@ -3868,6 +4367,14 @@ static constexpr const int kDataLoss = 15; static constexpr const int kUnauthenticated = 16; } // namespace RpcGrpcStatusCodeValues +namespace RpcMessageTypeValues +{ +/** sent. */ +static constexpr const char *kSent = "SENT"; +/** received. */ +static constexpr const char *kReceived = "RECEIVED"; +} // namespace RpcMessageTypeValues + namespace RpcSystemValues { /** gRPC. */ @@ -3882,6 +4389,148 @@ static constexpr const char *kApacheDubbo = "apache_dubbo"; static constexpr const char *kConnectRpc = "connect_rpc"; } // namespace RpcSystemValues +namespace SignalrConnectionStatusValues +{ +/** The connection was closed normally. */ +static constexpr const char *kNormalClosure = "normal_closure"; +/** The connection was closed due to a timeout. */ +static constexpr const char *kTimeout = "timeout"; +/** The connection was closed because the app is shutting down. */ +static constexpr const char *kAppShutdown = "app_shutdown"; +} // namespace SignalrConnectionStatusValues + +namespace SignalrTransportValues +{ +/** ServerSentEvents protocol. */ +static constexpr const char *kServerSentEvents = "server_sent_events"; +/** LongPolling protocol. */ +static constexpr const char *kLongPolling = "long_polling"; +/** WebSockets protocol. */ +static constexpr const char *kWebSockets = "web_sockets"; +} // namespace SignalrTransportValues + +namespace SystemCpuStateValues +{ +/** user. */ +static constexpr const char *kUser = "user"; +/** system. */ +static constexpr const char *kSystem = "system"; +/** nice. */ +static constexpr const char *kNice = "nice"; +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** iowait. */ +static constexpr const char *kIowait = "iowait"; +/** interrupt. */ +static constexpr const char *kInterrupt = "interrupt"; +/** steal. */ +static constexpr const char *kSteal = "steal"; +} // namespace SystemCpuStateValues + +namespace SystemMemoryStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +/** shared. */ +static constexpr const char *kShared = "shared"; +/** buffers. */ +static constexpr const char *kBuffers = "buffers"; +/** cached. */ +static constexpr const char *kCached = "cached"; +} // namespace SystemMemoryStateValues + +namespace SystemPagingDirectionValues +{ +/** in. */ +static constexpr const char *kIn = "in"; +/** out. */ +static constexpr const char *kOut = "out"; +} // namespace SystemPagingDirectionValues + +namespace SystemPagingStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +} // namespace SystemPagingStateValues + +namespace SystemPagingTypeValues +{ +/** major. */ +static constexpr const char *kMajor = "major"; +/** minor. */ +static constexpr const char *kMinor = "minor"; +} // namespace SystemPagingTypeValues + +namespace SystemFilesystemStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +/** reserved. */ +static constexpr const char *kReserved = "reserved"; +} // namespace SystemFilesystemStateValues + +namespace SystemFilesystemTypeValues +{ +/** fat32. */ +static constexpr const char *kFat32 = "fat32"; +/** exfat. */ +static constexpr const char *kExfat = "exfat"; +/** ntfs. */ +static constexpr const char *kNtfs = "ntfs"; +/** refs. */ +static constexpr const char *kRefs = "refs"; +/** hfsplus. */ +static constexpr const char *kHfsplus = "hfsplus"; +/** ext4. */ +static constexpr const char *kExt4 = "ext4"; +} // namespace SystemFilesystemTypeValues + +namespace SystemNetworkStateValues +{ +/** close. */ +static constexpr const char *kClose = "close"; +/** close_wait. */ +static constexpr const char *kCloseWait = "close_wait"; +/** closing. */ +static constexpr const char *kClosing = "closing"; +/** delete. */ +static constexpr const char *kDelete = "delete"; +/** established. */ +static constexpr const char *kEstablished = "established"; +/** fin_wait_1. */ +static constexpr const char *kFinWait1 = "fin_wait_1"; +/** fin_wait_2. */ +static constexpr const char *kFinWait2 = "fin_wait_2"; +/** last_ack. */ +static constexpr const char *kLastAck = "last_ack"; +/** listen. */ +static constexpr const char *kListen = "listen"; +/** syn_recv. */ +static constexpr const char *kSynRecv = "syn_recv"; +/** syn_sent. */ +static constexpr const char *kSynSent = "syn_sent"; +/** time_wait. */ +static constexpr const char *kTimeWait = "time_wait"; +} // namespace SystemNetworkStateValues + +namespace SystemProcessStatusValues +{ +/** running. */ +static constexpr const char *kRunning = "running"; +/** sleeping. */ +static constexpr const char *kSleeping = "sleeping"; +/** stopped. */ +static constexpr const char *kStopped = "stopped"; +/** defunct. */ +static constexpr const char *kDefunct = "defunct"; +} // namespace SystemProcessStatusValues + namespace TelemetrySdkLanguageValues { /** cpp. */ @@ -3918,41 +4567,6 @@ static constexpr const char *kSsl = "ssl"; static constexpr const char *kTls = "tls"; } // namespace TlsProtocolNameValues -namespace OpentracingRefTypeValues -{ -/** The parent Span depends on the child Span in some capacity. */ -static constexpr const char *kChildOf = "child_of"; -/** The parent Span doesn't depend in any way on the result of the child Span. */ -static constexpr const char *kFollowsFrom = "follows_from"; -} // namespace OpentracingRefTypeValues - -namespace OtelStatusCodeValues -{ -/** The operation has been validated by an Application developer or Operator to have completed - * successfully. */ -static constexpr const char *kOk = "OK"; -/** The operation contains an error. */ -static constexpr const char *kError = "ERROR"; -} // namespace OtelStatusCodeValues - -namespace GraphqlOperationTypeValues -{ -/** GraphQL query. */ -static constexpr const char *kQuery = "query"; -/** GraphQL mutation. */ -static constexpr const char *kMutation = "mutation"; -/** GraphQL subscription. */ -static constexpr const char *kSubscription = "subscription"; -} // namespace GraphqlOperationTypeValues - -namespace MessageTypeValues -{ -/** sent. */ -static constexpr const char *kSent = "SENT"; -/** received. */ -static constexpr const char *kReceived = "RECEIVED"; -} // namespace MessageTypeValues - } // namespace SemanticConventions } // namespace trace OPENTELEMETRY_END_NAMESPACE diff --git a/buildscripts/semantic-convention/generate.sh b/buildscripts/semantic-convention/generate.sh index eccc066c1c..2bcd07e2f9 100755 --- a/buildscripts/semantic-convention/generate.sh +++ b/buildscripts/semantic-convention/generate.sh @@ -19,7 +19,7 @@ ROOT_DIR="${SCRIPT_DIR}/../../" # https://github.com/open-telemetry/opentelemetry-specification # Repository from 1.21.0: # https://github.com/open-telemetry/semantic-conventions -SEMCONV_VERSION=1.25.0 +SEMCONV_VERSION=1.26.0 # repository: https://github.com/open-telemetry/build-tools GENERATOR_VERSION=0.24.0 diff --git a/buildscripts/semantic-convention/templates/SemanticAttributes.h.j2 b/buildscripts/semantic-convention/templates/SemanticAttributes.h.j2 index 3ec0317d4d..0ed9ce8dab 100644 --- a/buildscripts/semantic-convention/templates/SemanticAttributes.h.j2 +++ b/buildscripts/semantic-convention/templates/SemanticAttributes.h.j2 @@ -58,7 +58,17 @@ namespace {{class}} */ static constexpr const char *kSchemaUrl = "{{schemaUrl}}"; {%- for attribute in attributes if attribute.is_local and not attribute.ref %} +{# + MAINTAINER: + semconv "messaging.client_id" is deprecated + semconv "messaging.client.id" is to be used instead + + Now, because we use k{{attribute.fqn | to_camelcase(True)}}, + both names collide on C++ symbol kMessagingClientId. + Do not generate code for semconv "messaging.client_id" +#} +{%- if (attribute.fqn != "messaging.client_id") %} /** * {{attribute.brief | render_markdown(code="{{@code {0}}}", paragraph="{0}")}} {%- if attribute.note %} @@ -75,6 +85,7 @@ static constexpr const char *kSchemaUrl = "{{schemaUrl}}"; OPENTELEMETRY_DEPRECATED {%- endif %} static constexpr const char *k{{attribute.fqn | to_camelcase(True)}} = "{{attribute.fqn}}"; +{%- endif %} {%- endfor %} // Enum definitions diff --git a/sdk/include/opentelemetry/sdk/resource/semantic_conventions.h b/sdk/include/opentelemetry/sdk/resource/semantic_conventions.h index 7e550f238a..03996f2621 100644 --- a/sdk/include/opentelemetry/sdk/resource/semantic_conventions.h +++ b/sdk/include/opentelemetry/sdk/resource/semantic_conventions.h @@ -24,67 +24,14 @@ namespace SemanticConventions /** * The URL of the OpenTelemetry schema for these keys and values. */ -static constexpr const char *kSchemaUrl = "https://opentelemetry.io/schemas/1.25.0"; +static constexpr const char *kSchemaUrl = "https://opentelemetry.io/schemas/1.26.0"; /** - * Identifies the class / type of event. - * - *

Notes: -

- */ -static constexpr const char *kEventName = "event.name"; - -/** - * A unique identifier for the Log Record. - * - *

Notes: -

- */ -static constexpr const char *kLogRecordUid = "log.record.uid"; - -/** - * The stream associated with the log. See below for a list of well-known values. - */ -static constexpr const char *kLogIostream = "log.iostream"; - -/** - * The basename of the file. - */ -static constexpr const char *kLogFileName = "log.file.name"; - -/** - * The basename of the file, with symlinks resolved. - */ -static constexpr const char *kLogFileNameResolved = "log.file.name_resolved"; - -/** - * The full path to the file. - */ -static constexpr const char *kLogFilePath = "log.file.path"; - -/** - * The full path to the file, with symlinks resolved. - */ -static constexpr const char *kLogFilePathResolved = "log.file.path_resolved"; - -/** - * 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 {@code server.address} and {@code server.port} attributes formatted as {@code - * server.address:server.port}. - */ -static constexpr const char *kPoolName = "pool.name"; - -/** - * The state of a connection in the pool + * Uniquely identifies the framework API revision offered by a version ({@code os.version}) of the + * android operating system. More information can be found here. */ -static constexpr const char *kState = "state"; +static constexpr const char *kAndroidOsApiLevel = "android.os.api_level"; /** * Rate-limiting result, shows whether the lease was acquired or contains a rejection reason @@ -99,6 +46,12 @@ static constexpr const char *kAspnetcoreRateLimitingResult = "aspnetcore.rate_li static constexpr const char *kAspnetcoreDiagnosticsHandlerType = "aspnetcore.diagnostics.handler.type"; +/** + * ASP.NET Core exception middleware handling result + */ +static constexpr const char *kAspnetcoreDiagnosticsExceptionResult = + "aspnetcore.diagnostics.exception.result"; + /** * Rate limiting policy name. */ @@ -115,239 +68,336 @@ static constexpr const char *kAspnetcoreRequestIsUnhandled = "aspnetcore.request static constexpr const char *kAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback"; /** - * SignalR HTTP connection closure status. + * Match result - success or failure */ -static constexpr const char *kSignalrConnectionStatus = "signalr.connection.status"; +static constexpr const char *kAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status"; /** - * SignalR - * transport type + * The AWS request ID as returned in the response headers {@code x-amz-request-id} or {@code + * x-amz-requestid}. */ -static constexpr const char *kSignalrTransport = "signalr.transport"; +static constexpr const char *kAwsRequestId = "aws.request_id"; /** - * Name of the buffer pool. - * - *

Notes: -

+ * The JSON-serialized value of each item in the {@code AttributeDefinitions} request field. */ -static constexpr const char *kJvmBufferPoolName = "jvm.buffer.pool.name"; +static constexpr const char *kAwsDynamodbAttributeDefinitions = + "aws.dynamodb.attribute_definitions"; /** - * Name of the memory pool. - * - *

Notes: -

+ * The value of the {@code AttributesToGet} request parameter. */ -static constexpr const char *kJvmMemoryPoolName = "jvm.memory.pool.name"; +static constexpr const char *kAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get"; /** - * The type of memory. + * The value of the {@code ConsistentRead} request parameter. */ -static constexpr const char *kJvmMemoryType = "jvm.memory.type"; +static constexpr const char *kAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read"; /** - * The CPU state for this data point. A process SHOULD be characterized either by data - * points with no {@code state} labels, or only data points with {@code state} labels. + * The JSON-serialized value of each item in the {@code ConsumedCapacity} response field. */ -static constexpr const char *kProcessCpuState = "process.cpu.state"; +static constexpr const char *kAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity"; /** - * The device identifier + * The value of the {@code Count} response parameter. */ -static constexpr const char *kSystemDevice = "system.device"; +static constexpr const char *kAwsDynamodbCount = "aws.dynamodb.count"; /** - * The logical CPU number [0..n-1] + * The value of the {@code ExclusiveStartTableName} request parameter. */ -static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number"; +static constexpr const char *kAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table"; /** - * The CPU state for this data point. A system's CPU SHOULD be characterized either by data - * points with no {@code state} labels, or only data points with {@code state} labels. + * The JSON-serialized value of each item in the {@code GlobalSecondaryIndexUpdates} request field. */ -static constexpr const char *kSystemCpuState = "system.cpu.state"; +static constexpr const char *kAwsDynamodbGlobalSecondaryIndexUpdates = + "aws.dynamodb.global_secondary_index_updates"; /** - * The memory state + * The JSON-serialized value of each item of the {@code GlobalSecondaryIndexes} request field */ -static constexpr const char *kSystemMemoryState = "system.memory.state"; +static constexpr const char *kAwsDynamodbGlobalSecondaryIndexes = + "aws.dynamodb.global_secondary_indexes"; /** - * The paging access direction + * The value of the {@code IndexName} request parameter. */ -static constexpr const char *kSystemPagingDirection = "system.paging.direction"; +static constexpr const char *kAwsDynamodbIndexName = "aws.dynamodb.index_name"; /** - * The memory paging state + * The JSON-serialized value of the {@code ItemCollectionMetrics} response field. */ -static constexpr const char *kSystemPagingState = "system.paging.state"; +static constexpr const char *kAwsDynamodbItemCollectionMetrics = + "aws.dynamodb.item_collection_metrics"; /** - * The memory paging type + * The value of the {@code Limit} request parameter. */ -static constexpr const char *kSystemPagingType = "system.paging.type"; +static constexpr const char *kAwsDynamodbLimit = "aws.dynamodb.limit"; /** - * The filesystem mode + * The JSON-serialized value of each item of the {@code LocalSecondaryIndexes} request field. */ -static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode"; +static constexpr const char *kAwsDynamodbLocalSecondaryIndexes = + "aws.dynamodb.local_secondary_indexes"; /** - * The filesystem mount path + * The value of the {@code ProjectionExpression} request parameter. */ -static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint"; +static constexpr const char *kAwsDynamodbProjection = "aws.dynamodb.projection"; /** - * The filesystem state + * The value of the {@code ProvisionedThroughput.ReadCapacityUnits} request parameter. */ -static constexpr const char *kSystemFilesystemState = "system.filesystem.state"; +static constexpr const char *kAwsDynamodbProvisionedReadCapacity = + "aws.dynamodb.provisioned_read_capacity"; /** - * The filesystem type + * The value of the {@code ProvisionedThroughput.WriteCapacityUnits} request parameter. */ -static constexpr const char *kSystemFilesystemType = "system.filesystem.type"; +static constexpr const char *kAwsDynamodbProvisionedWriteCapacity = + "aws.dynamodb.provisioned_write_capacity"; /** - * A stateless protocol MUST NOT set this attribute + * The value of the {@code ScanIndexForward} request parameter. */ -static constexpr const char *kSystemNetworkState = "system.network.state"; +static constexpr const char *kAwsDynamodbScanForward = "aws.dynamodb.scan_forward"; /** - * The process state, e.g., Linux Process State - * Codes + * The value of the {@code ScannedCount} response parameter. */ -static constexpr const char *kSystemProcessStatus = "system.process.status"; +static constexpr const char *kAwsDynamodbScannedCount = "aws.dynamodb.scanned_count"; /** - * Uniquely identifies the framework API revision offered by a version ({@code os.version}) of the - * android operating system. More information can be found here. + * The value of the {@code Segment} request parameter. */ -static constexpr const char *kAndroidOsApiLevel = "android.os.api_level"; +static constexpr const char *kAwsDynamodbSegment = "aws.dynamodb.segment"; /** - * The JSON-serialized value of each item in the {@code AttributeDefinitions} request field. + * The value of the {@code Select} request parameter. */ -static constexpr const char *kAwsDynamodbAttributeDefinitions = - "aws.dynamodb.attribute_definitions"; +static constexpr const char *kAwsDynamodbSelect = "aws.dynamodb.select"; /** - * The value of the {@code AttributesToGet} request parameter. + * The number of items in the {@code TableNames} response parameter. */ -static constexpr const char *kAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get"; +static constexpr const char *kAwsDynamodbTableCount = "aws.dynamodb.table_count"; /** - * The value of the {@code ConsistentRead} request parameter. + * The keys in the {@code RequestItems} object field. */ -static constexpr const char *kAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read"; +static constexpr const char *kAwsDynamodbTableNames = "aws.dynamodb.table_names"; /** - * The JSON-serialized value of each item in the {@code ConsumedCapacity} response field. + * The value of the {@code TotalSegments} request parameter. */ -static constexpr const char *kAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity"; +static constexpr const char *kAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; /** - * The value of the {@code Count} response parameter. + * The ID of a running ECS task. The ID MUST be extracted from {@code task.arn}. */ -static constexpr const char *kAwsDynamodbCount = "aws.dynamodb.count"; +static constexpr const char *kAwsEcsTaskId = "aws.ecs.task.id"; /** - * The value of the {@code ExclusiveStartTableName} request parameter. + * The ARN of an ECS cluster. */ -static constexpr const char *kAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table"; +static constexpr const char *kAwsEcsClusterArn = "aws.ecs.cluster.arn"; /** - * The JSON-serialized value of each item in the {@code GlobalSecondaryIndexUpdates} request field. + * The Amazon Resource Name (ARN) of an ECS + * container instance. */ -static constexpr const char *kAwsDynamodbGlobalSecondaryIndexUpdates = - "aws.dynamodb.global_secondary_index_updates"; +static constexpr const char *kAwsEcsContainerArn = "aws.ecs.container.arn"; /** - * The JSON-serialized value of each item of the {@code GlobalSecondaryIndexes} request field + * The launch + * type for an ECS task. */ -static constexpr const char *kAwsDynamodbGlobalSecondaryIndexes = - "aws.dynamodb.global_secondary_indexes"; +static constexpr const char *kAwsEcsLaunchtype = "aws.ecs.launchtype"; /** - * The value of the {@code IndexName} request parameter. + * The ARN of a running ECS + * task. */ -static constexpr const char *kAwsDynamodbIndexName = "aws.dynamodb.index_name"; +static constexpr const char *kAwsEcsTaskArn = "aws.ecs.task.arn"; /** - * The JSON-serialized value of the {@code ItemCollectionMetrics} response field. + * The family name of the ECS task + * definition used to create the ECS task. */ -static constexpr const char *kAwsDynamodbItemCollectionMetrics = - "aws.dynamodb.item_collection_metrics"; +static constexpr const char *kAwsEcsTaskFamily = "aws.ecs.task.family"; /** - * The value of the {@code Limit} request parameter. + * The revision for the task definition used to create the ECS task. */ -static constexpr const char *kAwsDynamodbLimit = "aws.dynamodb.limit"; +static constexpr const char *kAwsEcsTaskRevision = "aws.ecs.task.revision"; /** - * The JSON-serialized value of each item of the {@code LocalSecondaryIndexes} request field. + * The ARN of an EKS cluster. */ -static constexpr const char *kAwsDynamodbLocalSecondaryIndexes = - "aws.dynamodb.local_secondary_indexes"; +static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn"; /** - * The value of the {@code ProjectionExpression} request parameter. + * The Amazon Resource Name(s) (ARN) of the AWS log group(s). + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbProjection = "aws.dynamodb.projection"; +static constexpr const char *kAwsLogGroupArns = "aws.log.group.arns"; /** - * The value of the {@code ProvisionedThroughput.ReadCapacityUnits} request parameter. + * The name(s) of the AWS log group(s) an application is writing to. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbProvisionedReadCapacity = - "aws.dynamodb.provisioned_read_capacity"; +static constexpr const char *kAwsLogGroupNames = "aws.log.group.names"; /** - * The value of the {@code ProvisionedThroughput.WriteCapacityUnits} request parameter. + * The ARN(s) of the AWS log stream(s). + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbProvisionedWriteCapacity = - "aws.dynamodb.provisioned_write_capacity"; +static constexpr const char *kAwsLogStreamArns = "aws.log.stream.arns"; /** - * The value of the {@code ScanIndexForward} request parameter. + * The name(s) of the AWS log stream(s) an application is writing to. */ -static constexpr const char *kAwsDynamodbScanForward = "aws.dynamodb.scan_forward"; +static constexpr const char *kAwsLogStreamNames = "aws.log.stream.names"; /** - * The value of the {@code ScannedCount} response parameter. + * The full invoked ARN as provided on the {@code Context} passed to the function ({@code + Lambda-Runtime-Invoked-Function-Arn} header on the {@code /runtime/invocation/next} applicable). + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbScannedCount = "aws.dynamodb.scanned_count"; +static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn"; /** - * The value of the {@code Segment} request parameter. + * The S3 bucket name the request refers to. Corresponds to the {@code --bucket} parameter of the S3 API operations. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbSegment = "aws.dynamodb.segment"; +static constexpr const char *kAwsS3Bucket = "aws.s3.bucket"; /** - * The value of the {@code Select} request parameter. + * The source object (in the form {@code bucket}/{@code key}) for the copy operation. + * + *

Notes: +

+ */ +static constexpr const char *kAwsS3CopySource = "aws.s3.copy_source"; + +/** + * The delete request container that specifies the objects to be deleted. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbSelect = "aws.dynamodb.select"; +static constexpr const char *kAwsS3Delete = "aws.s3.delete"; /** - * The number of items in the {@code TableNames} response parameter. + * The S3 object key the request refers to. Corresponds to the {@code --key} parameter of the S3 API operations. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbTableCount = "aws.dynamodb.table_count"; +static constexpr const char *kAwsS3Key = "aws.s3.key"; /** - * The keys in the {@code RequestItems} object field. + * The part number of the part being uploaded in a multipart-upload operation. This is a positive +integer between 1 and 10,000. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbTableNames = "aws.dynamodb.table_names"; +static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number"; /** - * The value of the {@code TotalSegments} request parameter. + * Upload ID that identifies the multipart upload. + * + *

Notes: +

*/ -static constexpr const char *kAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; +static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id"; /** * Array of brand name and version separated by a space @@ -600,7 +650,7 @@ href="https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/Containe endpoint. K8s defines a link to the container registry repository with digest {@code "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 +The ID is assigned by the container runtime and can vary in different environments. Consider using {@code oci.manifest.digest} if it is important to identify the same image in different environments/runtimes. */ @@ -640,6 +690,67 @@ static constexpr const char *kContainerName = "container.name"; */ static constexpr const char *kContainerRuntime = "container.runtime"; +/** + * 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 {@code server.address} and {@code server.port} attributes formatted as {@code + * server.address:server.port}. + */ +static constexpr const char *kDbClientConnectionsPoolName = "db.client.connections.pool.name"; + +/** + * The state of a connection in the pool + */ +static constexpr const char *kDbClientConnectionsState = "db.client.connections.state"; + +/** + * The name of a collection (table, container) within the database. + * + *

Notes: +

+ */ +static constexpr const char *kDbCollectionName = "db.collection.name"; + +/** + * The name of the database, fully qualified within the server address and port. + * + *

Notes: +

+ */ +static constexpr const char *kDbNamespace = "db.namespace"; + +/** + * The name of the operation or command being executed. + * + *

Notes: +

+ */ +static constexpr const char *kDbOperationName = "db.operation.name"; + +/** + * The database query being executed. + */ +static constexpr const char *kDbQueryText = "db.query.text"; + +/** + * The database management system (DBMS) product as identified by the client instrumentation. + * + *

Notes: +

+ */ +static constexpr const char *kDbSystem = "db.system"; + /** * The consistency level of the query. Based on consistency values from CQL. @@ -673,19 +784,6 @@ static constexpr const char *kDbCassandraPageSize = "db.cassandra.page_size"; static constexpr const char *kDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count"; -/** - * The name of the primary Cassandra table that the operation is acting upon, including the keyspace - name (if applicable). - * - *

Notes: -

- */ -static constexpr const char *kDbCassandraTable = "db.cassandra.table"; - /** * Unique Cosmos client instance id. */ @@ -696,11 +794,6 @@ static constexpr const char *kDbCosmosdbClientId = "db.cosmosdb.client_id"; */ static constexpr const char *kDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode"; -/** - * Cosmos DB container name. - */ -static constexpr const char *kDbCosmosdbContainer = "db.cosmosdb.container"; - /** * CosmosDB Operation Type. */ @@ -732,136 +825,184 @@ static constexpr const char *kDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_ static constexpr const char *kDbElasticsearchClusterName = "db.elasticsearch.cluster.name"; /** - * An identifier (address, unique name, or any other identifier) of the database instance that is - * executing queries or mutations on the current connection. This is useful in cases where the - * database is running in a clustered environment and the instrumentation is able to record the node - * executing the query. The client may obtain this value in databases like MySQL using queries like - * {@code select @@hostname}. + * Represents the human-readable identifier of the node/instance to which a request was routed. + */ +static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name"; + +/** + * Name of the deployment +environment (aka deployment tier). + * + *

Notes: +

+ */ +static constexpr const char *kDeploymentEnvironment = "deployment.environment"; + +/** + * Deprecated use the {@code device.app.lifecycle} event definition including {@code android.state} + as a payload field instead. + * + *

Notes: +

+ */ +static constexpr const char *kAndroidState = "android.state"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbCassandraTable = "db.cassandra.table"; + +/** + * Deprecated, use {@code server.address}, {@code server.port} attributes instead. + * + * @deprecated Deprecated, use `server.address`, `server.port` attributes instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbConnectionString = "db.connection_string"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbCosmosdbContainer = "db.cosmosdb.container"; + +/** + * Deprecated, no general replacement at this time. For Elasticsearch, use {@code + * db.elasticsearch.node.name} instead. + * + * @deprecated Deprecated, no general replacement at this time. For Elasticsearch, use + * `db.elasticsearch.node.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbInstanceId = "db.instance.id"; /** - * The MongoDB collection being accessed within the database stated in {@code db.name}. + * Removed, no replacement at this time. + * + * @deprecated Removed, no replacement at this time. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kDbJdbcDriverClassname = "db.jdbc.driver_classname"; + +/** + * Deprecated, use {@code db.collection.name} instead. + * + * @deprecated Deprecated, use `db.collection.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMongodbCollection = "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 {@code db.namespace} attribute. * - *

Notes: -

+ * @deprecated Deprecated, SQL Server instance is now populated as a part of `db.namespace` + * attribute. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMssqlInstanceName = "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 {@code db.namespace} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.namespace` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbName = "db.name"; /** - * The name of the operation being executed, e.g. the MongoDB command - name such as {@code findAndModify}, or the SQL keyword. + * Deprecated, use {@code db.operation.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.operation.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbOperation = "db.operation"; /** - * The index of the database being accessed as used in the {@code SELECT} command, provided as an integer. To be - * used instead of the generic {@code db.name} attribute. + * Deprecated, use {@code db.namespace} instead. + * + * @deprecated Deprecated, use `db.namespace` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbRedisDatabaseIndex = "db.redis.database_index"; /** - * The name of the primary table that the operation is acting upon, including the database name (if - applicable). + * Deprecated, use {@code db.collection.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.collection.name` instead. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbSqlTable = "db.sql.table"; /** * The database statement being executed. + * + * @deprecated The database statement being executed. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbStatement = "db.statement"; /** - * An identifier for the database management system (DBMS) product being used. See below for a list - * of well-known identifiers. - */ -static constexpr const char *kDbSystem = "db.system"; - -/** - * Username for accessing the database. + * Deprecated, no replacement at this time. + * + * @deprecated Deprecated, no replacement at this time. */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kDbUser = "db.user"; /** - * Name of the deployment -environment (aka deployment tier). + * Deprecated, use {@code db.client.connections.pool.name} instead. * - *

Notes: -

+ * @deprecated Deprecated, use `db.client.connections.pool.name` instead. */ -static constexpr const char *kDeploymentEnvironment = "deployment.environment"; +OPENTELEMETRY_DEPRECATED +static constexpr const char *kPoolName = "pool.name"; /** - * Deprecated, use {@code server.address}, {@code server.port} attributes instead. + * Deprecated, use {@code db.client.connections.state} instead. * - * @deprecated Deprecated, use `server.address`, `server.port` attributes instead. + * @deprecated Deprecated, use `db.client.connections.state` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbConnectionString = "db.connection_string"; +static constexpr const char *kState = "state"; /** - * Deprecated, use {@code db.instance.id} instead. + * Deprecated, use {@code client.address} instead. * - * @deprecated Deprecated, use `db.instance.id` instead. + * @deprecated Deprecated, use `client.address` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name"; +static constexpr const char *kHttpClientIp = "http.client_ip"; /** - * Removed, no replacement at this time. + * Deprecated, use {@code network.protocol.name} instead. * - * @deprecated Removed, no replacement at this time. + * @deprecated Deprecated, use `network.protocol.name` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kDbJdbcDriverClassname = "db.jdbc.driver_classname"; +static constexpr const char *kHttpFlavor = "http.flavor"; /** - * Deprecated, use {@code network.protocol.name} instead. + * Deprecated, use one of {@code server.address}, {@code client.address} or {@code + * http.request.header.host} instead, depending on the usage. * - * @deprecated Deprecated, use `network.protocol.name` instead. + * @deprecated Deprecated, use one of `server.address`, `client.address` or + * `http.request.header.host` instead, depending on the usage. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kHttpFlavor = "http.flavor"; +static constexpr const char *kHttpHost = "http.host"; /** * Deprecated, use {@code http.request.method} instead. @@ -879,6 +1020,15 @@ static constexpr const char *kHttpMethod = "http.method"; OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLength = "http.request_content_length"; +/** + * Deprecated, use {@code http.request.body.size} instead. + * + * @deprecated Deprecated, use `http.request.body.size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpRequestContentLengthUncompressed = + "http.request_content_length_uncompressed"; + /** * Deprecated, use {@code http.response.header.content-length} instead. * @@ -887,6 +1037,15 @@ static constexpr const char *kHttpRequestContentLength = "http.request_content_l OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLength = "http.response_content_length"; +/** + * Deprecated, use {@code http.response.body.size} instead. + * + * @deprecated Deprecated, use `http.response.body.size` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpResponseContentLengthUncompressed = + "http.response_content_length_uncompressed"; + /** * Deprecated, use {@code url.scheme} instead. * @@ -895,6 +1054,14 @@ static constexpr const char *kHttpResponseContentLength = "http.response_content OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpScheme = "http.scheme"; +/** + * Deprecated, use {@code server.address} instead. + * + * @deprecated Deprecated, use `server.address` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kHttpServerName = "http.server_name"; + /** * Deprecated, use {@code http.response.status_code} instead. * @@ -928,14 +1095,45 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUserAgent = "http.user_agent"; /** - * "Deprecated, use {@code messaging.destination.partition.id} instead." + * Deprecated use the {@code device.app.lifecycle} event definition including {@code ios.state} as a + payload field instead. + * + *

Notes: +

+ * + * @deprecated Deprecated use the `device.app.lifecycle` event definition including `ios.state` as a + payload field instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kIosState = "ios.state"; + +/** + * Deprecated, use {@code messaging.destination.partition.id} instead. * - * @deprecated "Deprecated, use `messaging.destination.partition.id` instead.". + * @deprecated Deprecated, use `messaging.destination.partition.id` instead. */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition"; +/** + * Deprecated, use {@code messaging.operation.type} instead. + * + * @deprecated Deprecated, use `messaging.operation.type` instead. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kMessagingOperation = "messaging.operation"; + +/** + * Deprecated, use {@code network.local.address}. + * + * @deprecated Deprecated, use `network.local.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetHostIp = "net.host.ip"; + /** * Deprecated, use {@code server.address}. * @@ -952,6 +1150,14 @@ static constexpr const char *kNetHostName = "net.host.name"; OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostPort = "net.host.port"; +/** + * Deprecated, use {@code network.peer.address}. + * + * @deprecated Deprecated, use `network.peer.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetPeerIp = "net.peer.ip"; + /** * Deprecated, use {@code server.address} on client spans and {@code client.address} on server * spans. @@ -987,60 +1193,108 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetProtocolVersion = "net.protocol.version"; /** - * Deprecated, use {@code network.transport} and {@code network.type}. + * Deprecated, use {@code network.transport} and {@code network.type}. + * + * @deprecated Deprecated, use `network.transport` and `network.type`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockFamily = "net.sock.family"; + +/** + * Deprecated, use {@code network.local.address}. + * + * @deprecated Deprecated, use `network.local.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockHostAddr = "net.sock.host.addr"; + +/** + * Deprecated, use {@code network.local.port}. + * + * @deprecated Deprecated, use `network.local.port`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockHostPort = "net.sock.host.port"; + +/** + * Deprecated, use {@code network.peer.address}. + * + * @deprecated Deprecated, use `network.peer.address`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockPeerAddr = "net.sock.peer.addr"; + +/** + * Deprecated, no replacement at this time. + * + * @deprecated Deprecated, no replacement at this time. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockPeerName = "net.sock.peer.name"; + +/** + * Deprecated, use {@code network.peer.port}. + * + * @deprecated Deprecated, use `network.peer.port`. + */ +OPENTELEMETRY_DEPRECATED +static constexpr const char *kNetSockPeerPort = "net.sock.peer.port"; + +/** + * Deprecated, use {@code network.transport}. * - * @deprecated Deprecated, use `network.transport` and `network.type`. + * @deprecated Deprecated, use `network.transport`. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockFamily = "net.sock.family"; +static constexpr const char *kNetTransport = "net.transport"; /** - * Deprecated, use {@code network.local.address}. + * None * - * @deprecated Deprecated, use `network.local.address`. + * @deprecated None. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockHostAddr = "net.sock.host.addr"; +static constexpr const char *kOtelLibraryName = "otel.library.name"; /** - * Deprecated, use {@code network.local.port}. + * None * - * @deprecated Deprecated, use `network.local.port`. + * @deprecated None. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockHostPort = "net.sock.host.port"; +static constexpr const char *kOtelLibraryVersion = "otel.library.version"; /** - * Deprecated, use {@code network.peer.address}. + * Deprecated, use {@code rpc.message.compressed_size} instead. * - * @deprecated Deprecated, use `network.peer.address`. + * @deprecated Deprecated, use `rpc.message.compressed_size` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockPeerAddr = "net.sock.peer.addr"; +static constexpr const char *kMessageCompressedSize = "message.compressed_size"; /** - * Deprecated, no replacement at this time. + * Deprecated, use {@code rpc.message.id} instead. * - * @deprecated Deprecated, no replacement at this time. + * @deprecated Deprecated, use `rpc.message.id` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockPeerName = "net.sock.peer.name"; +static constexpr const char *kMessageId = "message.id"; /** - * Deprecated, use {@code network.peer.port}. + * Deprecated, use {@code rpc.message.type} instead. * - * @deprecated Deprecated, use `network.peer.port`. + * @deprecated Deprecated, use `rpc.message.type` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetSockPeerPort = "net.sock.peer.port"; +static constexpr const char *kMessageType = "message.type"; /** - * Deprecated, use {@code network.transport}. + * Deprecated, use {@code rpc.message.uncompressed_size} instead. * - * @deprecated Deprecated, use `network.transport`. + * @deprecated Deprecated, use `rpc.message.uncompressed_size` instead. */ OPENTELEMETRY_DEPRECATED -static constexpr const char *kNetTransport = "net.transport"; +static constexpr const char *kMessageUncompressedSize = "message.uncompressed_size"; /** * Deprecated, use {@code system.process.status} instead. @@ -1155,20 +1409,33 @@ static constexpr const char *kEnduserScope = "enduser.scope"; * Describes a class of error the operation ended with. * *

Notes: -

*/ @@ -1430,6 +1698,114 @@ static constexpr const char *kGcpGceInstanceHostname = "gcp.gce.instance.hostnam */ static constexpr const char *kGcpGceInstanceName = "gcp.gce.instance.name"; +/** + * The full response received from the LLM. + * + *

Notes: +

+ */ +static constexpr const char *kGenAiCompletion = "gen_ai.completion"; + +/** + * The full prompt sent to an LLM. + * + *

Notes: +

+ */ +static constexpr const char *kGenAiPrompt = "gen_ai.prompt"; + +/** + * The maximum number of tokens the LLM generates for a request. + */ +static constexpr const char *kGenAiRequestMaxTokens = "gen_ai.request.max_tokens"; + +/** + * The name of the LLM a request is being made to. + */ +static constexpr const char *kGenAiRequestModel = "gen_ai.request.model"; + +/** + * The temperature setting for the LLM request. + */ +static constexpr const char *kGenAiRequestTemperature = "gen_ai.request.temperature"; + +/** + * The top_p sampling setting for the LLM request. + */ +static constexpr const char *kGenAiRequestTopP = "gen_ai.request.top_p"; + +/** + * Array of reasons the model stopped generating tokens, corresponding to each generation received. + */ +static constexpr const char *kGenAiResponseFinishReasons = "gen_ai.response.finish_reasons"; + +/** + * The unique identifier for the completion. + */ +static constexpr const char *kGenAiResponseId = "gen_ai.response.id"; + +/** + * The name of the LLM a response was generated from. + */ +static constexpr const char *kGenAiResponseModel = "gen_ai.response.model"; + +/** + * The Generative AI product as identified by the client instrumentation. + * + *

Notes: +

+ */ +static constexpr const char *kGenAiSystem = "gen_ai.system"; + +/** + * The number of tokens used in the LLM response (completion). + */ +static constexpr const char *kGenAiUsageCompletionTokens = "gen_ai.usage.completion_tokens"; + +/** + * The number of tokens used in the LLM prompt. + */ +static constexpr const char *kGenAiUsagePromptTokens = "gen_ai.usage.prompt_tokens"; + +/** + * The GraphQL document being executed. + * + *

Notes: +

+ */ +static constexpr const char *kGraphqlDocument = "graphql.document"; + +/** + * The name of the operation being executed. + */ +static constexpr const char *kGraphqlOperationName = "graphql.operation.name"; + +/** + * The type of the operation being executed. + */ +static constexpr const char *kGraphqlOperationType = "graphql.operation.type"; + +/** + * Unique identifier for the application + */ +static constexpr const char *kHerokuAppId = "heroku.app.id"; + +/** + * Commit hash for the current release + */ +static constexpr const char *kHerokuReleaseCommit = "heroku.release.commit"; + +/** + * Time and date the release was created + */ +static constexpr const char *kHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp"; + /** * The CPU architecture the host system is running on. */ @@ -1615,6 +1991,61 @@ one. */ static constexpr const char *kHttpRoute = "http.route"; +/** + * Name of the buffer pool. + * + *

Notes: +

+ */ +static constexpr const char *kJvmBufferPoolName = "jvm.buffer.pool.name"; + +/** + * Name of the garbage collector action. + * + *

Notes: +

+ */ +static constexpr const char *kJvmGcAction = "jvm.gc.action"; + +/** + * Name of the garbage collector. + * + *

Notes: +

+ */ +static constexpr const char *kJvmGcName = "jvm.gc.name"; + +/** + * Name of the memory pool. + * + *

Notes: +

+ */ +static constexpr const char *kJvmMemoryPoolName = "jvm.memory.pool.name"; + +/** + * The type of memory. + */ +static constexpr const char *kJvmMemoryType = "jvm.memory.type"; + +/** + * Whether the thread is daemon or not. + */ +static constexpr const char *kJvmThreadDaemon = "jvm.thread.daemon"; + +/** + * State of the thread. + */ +static constexpr const char *kJvmThreadState = "jvm.thread.state"; + /** * The name of the cluster. */ @@ -1656,6 +2087,12 @@ static constexpr const char *kK8sContainerName = "k8s.container.name"; */ static constexpr const char *kK8sContainerRestartCount = "k8s.container.restart_count"; +/** + * Last terminated reason of the Container. + */ +static constexpr const char *kK8sContainerStatusLastTerminatedReason = + "k8s.container.status.last_terminated_reason"; + /** * The name of the CronJob. */ @@ -1741,6 +2178,42 @@ static constexpr const char *kK8sStatefulsetName = "k8s.statefulset.name"; */ static constexpr const char *kK8sStatefulsetUid = "k8s.statefulset.uid"; +/** + * The stream associated with the log. See below for a list of well-known values. + */ +static constexpr const char *kLogIostream = "log.iostream"; + +/** + * The basename of the file. + */ +static constexpr const char *kLogFileName = "log.file.name"; + +/** + * The basename of the file, with symlinks resolved. + */ +static constexpr const char *kLogFileNameResolved = "log.file.name_resolved"; + +/** + * The full path to the file. + */ +static constexpr const char *kLogFilePath = "log.file.path"; + +/** + * The full path to the file, with symlinks resolved. + */ +static constexpr const char *kLogFilePathResolved = "log.file.path_resolved"; + +/** + * A unique identifier for the Log Record. + * + *

Notes: +

+ */ +static constexpr const char *kLogRecordUid = "log.record.uid"; + /** * The number of messages sent, received, or processed in the scope of the batching operation. * @@ -1756,7 +2229,7 @@ static constexpr const char *kMessagingBatchMessageCount = "messaging.batch.mess /** * A unique identifier for the client that consumes or produces a message. */ -static constexpr const char *kMessagingClientId = "messaging.client_id"; +static constexpr const char *kMessagingClientId = "messaging.client.id"; /** * A boolean that is true if the message destination is anonymous (could be unnamed or have @@ -1786,82 +2259,35 @@ static constexpr const char *kMessagingDestinationPartitionId = * *

Notes:

- */ -static constexpr const char *kMessagingDestinationTemplate = "messaging.destination.template"; - -/** - * A boolean that is true if the message destination is temporary and might not exist anymore after - * messages are processed. - */ -static constexpr const char *kMessagingDestinationTemporary = "messaging.destination.temporary"; - -/** - * A boolean that is true if the publish message destination is anonymous (could be unnamed or have - * auto-generated name). - */ -static constexpr const char *kMessagingDestinationPublishAnonymous = - "messaging.destination_publish.anonymous"; - -/** - * The name of the original destination the message was published to - * - *

Notes: -

- */ -static constexpr const char *kMessagingDestinationPublishName = - "messaging.destination_publish.name"; - -/** - * The name of the consumer group the event consumer is associated with. - */ -static constexpr const char *kMessagingEventhubsConsumerGroup = - "messaging.eventhubs.consumer.group"; - -/** - * The UTC epoch seconds at which the message has been accepted and stored in the entity. - */ -static constexpr const char *kMessagingEventhubsMessageEnqueuedTime = - "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. - */ -static constexpr const char *kMessagingGcpPubsubMessageOrderingKey = - "messaging.gcp_pubsub.message.ordering_key"; - -/** - * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not - * producers. - */ -static constexpr const char *kMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group"; - -/** - * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the - same partition. They differ from {@code messaging.message.id} in that they're not unique. If the - key is {@code null}, the attribute MUST NOT be set. - * - *

Notes: -

+ 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. */ -static constexpr const char *kMessagingKafkaMessageKey = "messaging.kafka.message.key"; +static constexpr const char *kMessagingDestinationTemplate = "messaging.destination.template"; /** - * The offset of a record in the corresponding Kafka partition. + * A boolean that is true if the message destination is temporary and might not exist anymore after + * messages are processed. */ -static constexpr const char *kMessagingKafkaMessageOffset = "messaging.kafka.message.offset"; +static constexpr const char *kMessagingDestinationTemporary = "messaging.destination.temporary"; /** - * A boolean that is true if the message is a tombstone. + * A boolean that is true if the publish message destination is anonymous (could be unnamed or have + * auto-generated name). */ -static constexpr const char *kMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone"; +static constexpr const char *kMessagingDestinationPublishAnonymous = + "messaging.destination_publish.anonymous"; + +/** + * The name of the original destination the message was published to + * + *

Notes: +

+ */ +static constexpr const char *kMessagingDestinationPublishName = + "messaging.destination_publish.name"; /** * The size of the message body in bytes. @@ -1893,12 +2319,55 @@ static constexpr const char *kMessagingMessageEnvelopeSize = "messaging.message. static constexpr const char *kMessagingMessageId = "messaging.message.id"; /** - * A string identifying the kind of messaging operation. + * The system-specific name of the messaging operation. + */ +static constexpr const char *kMessagingOperationName = "messaging.operation.name"; + +/** + * A string identifying the type of the messaging operation. * *

Notes:

*/ -static constexpr const char *kMessagingOperation = "messaging.operation"; +static constexpr const char *kMessagingOperationType = "messaging.operation.type"; + +/** + * The messaging system as identified by the client instrumentation. + * + *

Notes: +

+ */ +static constexpr const char *kMessagingSystem = "messaging.system"; + +/** + * Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not + * producers. + */ +static constexpr const char *kMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group"; + +/** + * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the + same partition. They differ from {@code messaging.message.id} in that they're not unique. If the + key is {@code null}, the attribute MUST NOT be set. + * + *

Notes: +

+ */ +static constexpr const char *kMessagingKafkaMessageKey = "messaging.kafka.message.key"; + +/** + * The offset of a record in the corresponding Kafka partition. + */ +static constexpr const char *kMessagingKafkaMessageOffset = "messaging.kafka.message.offset"; + +/** + * A boolean that is true if the message is a tombstone. + */ +static constexpr const char *kMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone"; /** * RabbitMQ message routing key. @@ -1962,6 +2431,31 @@ static constexpr const char *kMessagingRocketmqMessageType = "messaging.rocketmq */ static constexpr const char *kMessagingRocketmqNamespace = "messaging.rocketmq.namespace"; +/** + * The ack deadline in seconds set for the modify ack deadline request. + */ +static constexpr const char *kMessagingGcpPubsubMessageAckDeadline = + "messaging.gcp_pubsub.message.ack_deadline"; + +/** + * The ack id for a given message. + */ +static constexpr const char *kMessagingGcpPubsubMessageAckId = + "messaging.gcp_pubsub.message.ack_id"; + +/** + * The delivery attempt for a given message. + */ +static constexpr const char *kMessagingGcpPubsubMessageDeliveryAttempt = + "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. + */ +static constexpr const char *kMessagingGcpPubsubMessageOrderingKey = + "messaging.gcp_pubsub.message.ordering_key"; + /** * The name of the subscription in the topic messages are received from. */ @@ -1989,10 +2483,16 @@ static constexpr const char *kMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time"; /** - * An identifier for the messaging system being used. See below for a list of well-known - * identifiers. + * The name of the consumer group the event consumer is associated with. */ -static constexpr const char *kMessagingSystem = "messaging.system"; +static constexpr const char *kMessagingEventhubsConsumerGroup = + "messaging.eventhubs.consumer.group"; + +/** + * The UTC epoch seconds at which the message has been accepted and stored in the entity. + */ +static constexpr const char *kMessagingEventhubsMessageEnqueuedTime = + "messaging.eventhubs.message.enqueued_time"; /** * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. @@ -2105,6 +2605,14 @@ Manifest. */ static constexpr const char *kOciManifestDigest = "oci.manifest.digest"; +/** + * Parent-child Reference type + * + *

Notes: +

+ */ +static constexpr const char *kOpentracingRefType = "opentracing.ref_type"; + /** * Unique identifier for a particular build or compilation of the operating system. */ @@ -2132,6 +2640,34 @@ static constexpr const char *kOsType = "os.type"; */ static constexpr const char *kOsVersion = "os.version"; +/** + * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code + * is UNSET. + */ +static constexpr const char *kOtelStatusCode = "otel.status_code"; + +/** + * Description of the Status if it has a value, otherwise not set. + */ +static constexpr const char *kOtelStatusDescription = "otel.status_description"; + +/** + * The name of the instrumentation scope - ({@code InstrumentationScope.Name} in OTLP). + */ +static constexpr const char *kOtelScopeName = "otel.scope.name"; + +/** + * The version of the instrumentation scope - ({@code InstrumentationScope.Version} in OTLP). + */ +static constexpr const char *kOtelScopeVersion = "otel.scope.version"; + +/** + * The {@code service.name} of the remote service. + * SHOULD be equal to the actual {@code service.name} resource attribute of the remote service if + * any. + */ +static constexpr const char *kPeerService = "peer.service"; + /** * The command used to launch the process (i.e. the command name). On Linux based systems, can be * set to the zeroth string in {@code proc/[pid]/cmdline}. On Windows, can be set to the first @@ -2154,6 +2690,16 @@ static constexpr const char *kProcessCommandArgs = "process.command_args"; */ static constexpr const char *kProcessCommandLine = "process.command_line"; +/** + * Specifies whether the context switches for this data point were voluntary or involuntary. + */ +static constexpr const char *kProcessContextSwitchType = "process.context_switch_type"; + +/** + * The date and time the process was created, in ISO 8601 format. + */ +static constexpr const char *kProcessCreationTime = "process.creation.time"; + /** * The name of the process executable. On Linux based systems, can be set to the {@code Name} in * {@code proc/[pid]/status}. On Windows, can be set to the base name of {@code @@ -2167,11 +2713,37 @@ static constexpr const char *kProcessExecutableName = "process.executable.name"; */ static constexpr const char *kProcessExecutablePath = "process.executable.path"; +/** + * The exit code of the process. + */ +static constexpr const char *kProcessExitCode = "process.exit.code"; + +/** + * The date and time the process exited, in ISO 8601 format. + */ +static constexpr const char *kProcessExitTime = "process.exit.time"; + +/** + * The PID of the process's group leader. This is also the process group ID (PGID) of the process. + */ +static constexpr const char *kProcessGroupLeaderPid = "process.group_leader.pid"; + +/** + * Whether the process is connected to an interactive shell. + */ +static constexpr const char *kProcessInteractive = "process.interactive"; + /** * The username of the user that owns the process. */ static constexpr const char *kProcessOwner = "process.owner"; +/** + * The type of page fault for this data point. Type {@code major} is for major/hard page faults, and + * {@code minor} is for minor/soft page faults. + */ +static constexpr const char *kProcessPagingFaultType = "process.paging.fault_type"; + /** * Parent Process identifier (PPID). */ @@ -2182,6 +2754,16 @@ static constexpr const char *kProcessParentPid = "process.parent_pid"; */ static constexpr const char *kProcessPid = "process.pid"; +/** + * The real user ID (RUID) of the process. + */ +static constexpr const char *kProcessRealUserId = "process.real_user.id"; + +/** + * The username of the real user of the process. + */ +static constexpr const char *kProcessRealUserName = "process.real_user.name"; + /** * An additional description about the runtime of the process, for example a specific vendor * customization of the runtime environment. @@ -2199,6 +2781,46 @@ static constexpr const char *kProcessRuntimeName = "process.runtime.name"; */ static constexpr const char *kProcessRuntimeVersion = "process.runtime.version"; +/** + * The saved user ID (SUID) of the process. + */ +static constexpr const char *kProcessSavedUserId = "process.saved_user.id"; + +/** + * The username of the saved user. + */ +static constexpr const char *kProcessSavedUserName = "process.saved_user.name"; + +/** + * The PID of the process's session leader. This is also the session ID (SID) of the process. + */ +static constexpr const char *kProcessSessionLeaderPid = "process.session_leader.pid"; + +/** + * The effective user ID (EUID) of the process. + */ +static constexpr const char *kProcessUserId = "process.user.id"; + +/** + * The username of the effective user of the process. + */ +static constexpr const char *kProcessUserName = "process.user.name"; + +/** + * Virtual process identifier. + * + *

Notes: +

+ */ +static constexpr const char *kProcessVpid = "process.vpid"; + +/** + * The CPU state of the process. + */ +static constexpr const char *kProcessCpuState = "process.cpu.state"; + /** * The error codes of the Connect * request. Error codes are always string values. @@ -2234,6 +2856,31 @@ static constexpr const char *kRpcJsonrpcRequestId = "rpc.jsonrpc.request_id"; */ static constexpr const char *kRpcJsonrpcVersion = "rpc.jsonrpc.version"; +/** + * Compressed size of the message in bytes. + */ +static constexpr const char *kRpcMessageCompressedSize = "rpc.message.compressed_size"; + +/** + * MUST be calculated as two different counters starting from {@code 1} one for sent messages and + one for received message. + * + *

Notes: +

+ */ +static constexpr const char *kRpcMessageId = "rpc.message.id"; + +/** + * Whether this is a received or sent message. + */ +static constexpr const char *kRpcMessageType = "rpc.message.type"; + +/** + * Uncompressed size of the message in bytes. + */ +static constexpr const char *kRpcMessageUncompressedSize = "rpc.message.uncompressed_size"; + /** * The name of the (logical) method being called, must be equal to the $method part in the span name. @@ -2320,9 +2967,9 @@ static constexpr const char *kServiceInstanceId = "service.instance.id"; *

Notes:

+ href="process.md">{@code process.executable.name}, e.g. {@code unknown_service:bash}. If {@code + process.executable.name} is not available, the value MUST be set to {@code unknown_service}. + */ static constexpr const char *kServiceName = "service.name"; @@ -2355,6 +3002,18 @@ static constexpr const char *kSessionId = "session.id"; */ static constexpr const char *kSessionPreviousId = "session.previous_id"; +/** + * SignalR HTTP connection closure status. + */ +static constexpr const char *kSignalrConnectionStatus = "signalr.connection.status"; + +/** + * SignalR + * transport type + */ +static constexpr const char *kSignalrTransport = "signalr.transport"; + /** * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. @@ -2367,9 +3026,76 @@ static constexpr const char *kSessionPreviousId = "session.previous_id"; static constexpr const char *kSourceAddress = "source.address"; /** - * Source port number + * Source port number + */ +static constexpr const char *kSourcePort = "source.port"; + +/** + * The device identifier + */ +static constexpr const char *kSystemDevice = "system.device"; + +/** + * The logical CPU number [0..n-1] + */ +static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number"; + +/** + * The state of the CPU + */ +static constexpr const char *kSystemCpuState = "system.cpu.state"; + +/** + * The memory state + */ +static constexpr const char *kSystemMemoryState = "system.memory.state"; + +/** + * The paging access direction + */ +static constexpr const char *kSystemPagingDirection = "system.paging.direction"; + +/** + * The memory paging state + */ +static constexpr const char *kSystemPagingState = "system.paging.state"; + +/** + * The memory paging type + */ +static constexpr const char *kSystemPagingType = "system.paging.type"; + +/** + * The filesystem mode + */ +static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode"; + +/** + * The filesystem mount path + */ +static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint"; + +/** + * The filesystem state + */ +static constexpr const char *kSystemFilesystemState = "system.filesystem.state"; + +/** + * The filesystem type + */ +static constexpr const char *kSystemFilesystemType = "system.filesystem.type"; + +/** + * A stateless protocol MUST NOT set this attribute + */ +static constexpr const char *kSystemNetworkState = "system.network.state"; + +/** + * The process state, e.g., Linux Process State + * Codes */ -static constexpr const char *kSourcePort = "source.port"; +static constexpr const char *kSystemProcessStatus = "system.process.status"; /** * The language of the telemetry SDK. @@ -2713,6 +3439,12 @@ static constexpr const char *kUrlScheme = "url.scheme"; */ static constexpr const char *kUrlSubdomain = "url.subdomain"; +/** + * The low-cardinality template of an absolute path reference. + */ +static constexpr const char *kUrlTemplate = "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 {@code com}. @@ -2743,342 +3475,69 @@ static constexpr const char *kUserAgentOriginal = "user_agent.original"; /** * Version of the user-agent extracted from original. Usually refers to the browser's version * - *

Notes: -

- */ -static constexpr const char *kUserAgentVersion = "user_agent.version"; - -/** - * The ID of a running ECS task. The ID MUST be extracted from {@code task.arn}. - */ -static constexpr const char *kAwsEcsTaskId = "aws.ecs.task.id"; - -/** - * The ARN of an ECS cluster. - */ -static constexpr const char *kAwsEcsClusterArn = "aws.ecs.cluster.arn"; - -/** - * The Amazon Resource Name (ARN) of an ECS - * container instance. - */ -static constexpr const char *kAwsEcsContainerArn = "aws.ecs.container.arn"; - -/** - * The launch - * type for an ECS task. - */ -static constexpr const char *kAwsEcsLaunchtype = "aws.ecs.launchtype"; - -/** - * The ARN of a running ECS - * task. - */ -static constexpr const char *kAwsEcsTaskArn = "aws.ecs.task.arn"; - -/** - * The family name of the ECS task - * definition used to create the ECS task. - */ -static constexpr const char *kAwsEcsTaskFamily = "aws.ecs.task.family"; - -/** - * The revision for the task definition used to create the ECS task. - */ -static constexpr const char *kAwsEcsTaskRevision = "aws.ecs.task.revision"; - -/** - * The ARN of an EKS cluster. - */ -static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn"; - -/** - * The Amazon Resource Name(s) (ARN) of the AWS log group(s). - * - *

Notes: -

- */ -static constexpr const char *kAwsLogGroupArns = "aws.log.group.arns"; - -/** - * The name(s) of the AWS log group(s) an application is writing to. - * - *

Notes: -

- */ -static constexpr const char *kAwsLogGroupNames = "aws.log.group.names"; - -/** - * The ARN(s) of the AWS log stream(s). - * - *

Notes: -

- */ -static constexpr const char *kAwsLogStreamArns = "aws.log.stream.arns"; - -/** - * The name(s) of the AWS log stream(s) an application is writing to. - */ -static constexpr const char *kAwsLogStreamNames = "aws.log.stream.names"; - -/** - * Unique identifier for the application - */ -static constexpr const char *kHerokuAppId = "heroku.app.id"; - -/** - * Commit hash for the current release - */ -static constexpr const char *kHerokuReleaseCommit = "heroku.release.commit"; - -/** - * Time and date the release was created - */ -static constexpr const char *kHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp"; - -/** - * The name of the web engine. - */ -static constexpr const char *kWebengineName = "webengine.name"; - -/** - * Additional description of the web engine (e.g. detailed version and edition information). - */ -static constexpr const char *kWebengineDescription = "webengine.description"; - -/** - * The version of the web engine. - */ -static constexpr const char *kWebengineVersion = "webengine.version"; - -/** - * The name of the instrumentation scope - ({@code InstrumentationScope.Name} in OTLP). - */ -static constexpr const char *kOtelScopeName = "otel.scope.name"; - -/** - * The version of the instrumentation scope - ({@code InstrumentationScope.Version} in OTLP). - */ -static constexpr const char *kOtelScopeVersion = "otel.scope.version"; - -/** - * None - * - * @deprecated None. - */ -OPENTELEMETRY_DEPRECATED -static constexpr const char *kOtelLibraryName = "otel.library.name"; - -/** - * None - * - * @deprecated None. - */ -OPENTELEMETRY_DEPRECATED -static constexpr const char *kOtelLibraryVersion = "otel.library.version"; - -// Enum definitions -namespace LogIostreamValues -{ -/** Logs from stdout stream. */ -static constexpr const char *kStdout = "stdout"; -/** Events from stderr stream. */ -static constexpr const char *kStderr = "stderr"; -} // namespace LogIostreamValues - -namespace StateValues -{ -/** idle. */ -static constexpr const char *kIdle = "idle"; -/** used. */ -static constexpr const char *kUsed = "used"; -} // namespace StateValues - -namespace AspnetcoreRateLimitingResultValues -{ -/** Lease was acquired. */ -static constexpr const char *kAcquired = "acquired"; -/** Lease request was rejected by the endpoint limiter. */ -static constexpr const char *kEndpointLimiter = "endpoint_limiter"; -/** Lease request was rejected by the global limiter. */ -static constexpr const char *kGlobalLimiter = "global_limiter"; -/** Lease request was canceled. */ -static constexpr const char *kRequestCanceled = "request_canceled"; -} // namespace AspnetcoreRateLimitingResultValues - -namespace SignalrConnectionStatusValues -{ -/** The connection was closed normally. */ -static constexpr const char *kNormalClosure = "normal_closure"; -/** The connection was closed due to a timeout. */ -static constexpr const char *kTimeout = "timeout"; -/** The connection was closed because the app is shutting down. */ -static constexpr const char *kAppShutdown = "app_shutdown"; -} // namespace SignalrConnectionStatusValues - -namespace SignalrTransportValues -{ -/** ServerSentEvents protocol. */ -static constexpr const char *kServerSentEvents = "server_sent_events"; -/** LongPolling protocol. */ -static constexpr const char *kLongPolling = "long_polling"; -/** WebSockets protocol. */ -static constexpr const char *kWebSockets = "web_sockets"; -} // namespace SignalrTransportValues - -namespace JvmMemoryTypeValues -{ -/** Heap memory. */ -static constexpr const char *kHeap = "heap"; -/** Non-heap memory. */ -static constexpr const char *kNonHeap = "non_heap"; -} // namespace JvmMemoryTypeValues - -namespace ProcessCpuStateValues -{ -/** system. */ -static constexpr const char *kSystem = "system"; -/** user. */ -static constexpr const char *kUser = "user"; -/** wait. */ -static constexpr const char *kWait = "wait"; -} // namespace ProcessCpuStateValues - -namespace SystemCpuStateValues -{ -/** user. */ -static constexpr const char *kUser = "user"; -/** system. */ -static constexpr const char *kSystem = "system"; -/** nice. */ -static constexpr const char *kNice = "nice"; -/** idle. */ -static constexpr const char *kIdle = "idle"; -/** iowait. */ -static constexpr const char *kIowait = "iowait"; -/** interrupt. */ -static constexpr const char *kInterrupt = "interrupt"; -/** steal. */ -static constexpr const char *kSteal = "steal"; -} // namespace SystemCpuStateValues - -namespace SystemMemoryStateValues -{ -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -/** shared. */ -static constexpr const char *kShared = "shared"; -/** buffers. */ -static constexpr const char *kBuffers = "buffers"; -/** cached. */ -static constexpr const char *kCached = "cached"; -} // namespace SystemMemoryStateValues + *

Notes: +

+ */ +static constexpr const char *kUserAgentVersion = "user_agent.version"; -namespace SystemPagingDirectionValues -{ -/** in. */ -static constexpr const char *kIn = "in"; -/** out. */ -static constexpr const char *kOut = "out"; -} // namespace SystemPagingDirectionValues +/** + * Additional description of the web engine (e.g. detailed version and edition information). + */ +static constexpr const char *kWebengineDescription = "webengine.description"; -namespace SystemPagingStateValues -{ -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -} // namespace SystemPagingStateValues +/** + * The name of the web engine. + */ +static constexpr const char *kWebengineName = "webengine.name"; -namespace SystemPagingTypeValues -{ -/** major. */ -static constexpr const char *kMajor = "major"; -/** minor. */ -static constexpr const char *kMinor = "minor"; -} // namespace SystemPagingTypeValues +/** + * The version of the web engine. + */ +static constexpr const char *kWebengineVersion = "webengine.version"; -namespace SystemFilesystemStateValues +// Enum definitions +namespace AspnetcoreRateLimitingResultValues { -/** used. */ -static constexpr const char *kUsed = "used"; -/** free. */ -static constexpr const char *kFree = "free"; -/** reserved. */ -static constexpr const char *kReserved = "reserved"; -} // namespace SystemFilesystemStateValues +/** Lease was acquired. */ +static constexpr const char *kAcquired = "acquired"; +/** Lease request was rejected by the endpoint limiter. */ +static constexpr const char *kEndpointLimiter = "endpoint_limiter"; +/** Lease request was rejected by the global limiter. */ +static constexpr const char *kGlobalLimiter = "global_limiter"; +/** Lease request was canceled. */ +static constexpr const char *kRequestCanceled = "request_canceled"; +} // namespace AspnetcoreRateLimitingResultValues -namespace SystemFilesystemTypeValues +namespace AspnetcoreDiagnosticsExceptionResultValues { -/** fat32. */ -static constexpr const char *kFat32 = "fat32"; -/** exfat. */ -static constexpr const char *kExfat = "exfat"; -/** ntfs. */ -static constexpr const char *kNtfs = "ntfs"; -/** refs. */ -static constexpr const char *kRefs = "refs"; -/** hfsplus. */ -static constexpr const char *kHfsplus = "hfsplus"; -/** ext4. */ -static constexpr const char *kExt4 = "ext4"; -} // namespace SystemFilesystemTypeValues +/** Exception was handled by the exception handling middleware. */ +static constexpr const char *kHandled = "handled"; +/** Exception was not handled by the exception handling middleware. */ +static constexpr const char *kUnhandled = "unhandled"; +/** Exception handling was skipped because the response had started. */ +static constexpr const char *kSkipped = "skipped"; +/** Exception handling didn't run because the request was aborted. */ +static constexpr const char *kAborted = "aborted"; +} // namespace AspnetcoreDiagnosticsExceptionResultValues -namespace SystemNetworkStateValues +namespace AspnetcoreRoutingMatchStatusValues { -/** close. */ -static constexpr const char *kClose = "close"; -/** close_wait. */ -static constexpr const char *kCloseWait = "close_wait"; -/** closing. */ -static constexpr const char *kClosing = "closing"; -/** delete. */ -static constexpr const char *kDelete = "delete"; -/** established. */ -static constexpr const char *kEstablished = "established"; -/** fin_wait_1. */ -static constexpr const char *kFinWait1 = "fin_wait_1"; -/** fin_wait_2. */ -static constexpr const char *kFinWait2 = "fin_wait_2"; -/** last_ack. */ -static constexpr const char *kLastAck = "last_ack"; -/** listen. */ -static constexpr const char *kListen = "listen"; -/** syn_recv. */ -static constexpr const char *kSynRecv = "syn_recv"; -/** syn_sent. */ -static constexpr const char *kSynSent = "syn_sent"; -/** time_wait. */ -static constexpr const char *kTimeWait = "time_wait"; -} // namespace SystemNetworkStateValues +/** Match succeeded. */ +static constexpr const char *kSuccess = "success"; +/** Match failed. */ +static constexpr const char *kFailure = "failure"; +} // namespace AspnetcoreRoutingMatchStatusValues -namespace SystemProcessStatusValues +namespace AwsEcsLaunchtypeValues { -/** running. */ -static constexpr const char *kRunning = "running"; -/** sleeping. */ -static constexpr const char *kSleeping = "sleeping"; -/** stopped. */ -static constexpr const char *kStopped = "stopped"; -/** defunct. */ -static constexpr const char *kDefunct = "defunct"; -} // namespace SystemProcessStatusValues +/** ec2. */ +static constexpr const char *kEc2 = "ec2"; +/** fargate. */ +static constexpr const char *kFargate = "fargate"; +} // namespace AwsEcsLaunchtypeValues namespace CloudPlatformValues { @@ -3170,73 +3629,13 @@ static constexpr const char *kSystem = "system"; static constexpr const char *kKernel = "kernel"; } // namespace ContainerCpuStateValues -namespace DbCassandraConsistencyLevelValues -{ -/** all. */ -static constexpr const char *kAll = "all"; -/** each_quorum. */ -static constexpr const char *kEachQuorum = "each_quorum"; -/** quorum. */ -static constexpr const char *kQuorum = "quorum"; -/** local_quorum. */ -static constexpr const char *kLocalQuorum = "local_quorum"; -/** one. */ -static constexpr const char *kOne = "one"; -/** two. */ -static constexpr const char *kTwo = "two"; -/** three. */ -static constexpr const char *kThree = "three"; -/** local_one. */ -static constexpr const char *kLocalOne = "local_one"; -/** any. */ -static constexpr const char *kAny = "any"; -/** serial. */ -static constexpr const char *kSerial = "serial"; -/** local_serial. */ -static constexpr const char *kLocalSerial = "local_serial"; -} // namespace DbCassandraConsistencyLevelValues - -namespace DbCosmosdbConnectionModeValues -{ -/** Gateway (HTTP) connections mode. */ -static constexpr const char *kGateway = "gateway"; -/** Direct connection. */ -static constexpr const char *kDirect = "direct"; -} // namespace DbCosmosdbConnectionModeValues - -namespace DbCosmosdbOperationTypeValues +namespace DbClientConnectionsStateValues { -/** invalid. */ -static constexpr const char *kInvalid = "Invalid"; -/** create. */ -static constexpr const char *kCreate = "Create"; -/** patch. */ -static constexpr const char *kPatch = "Patch"; -/** read. */ -static constexpr const char *kRead = "Read"; -/** read_feed. */ -static constexpr const char *kReadFeed = "ReadFeed"; -/** delete. */ -static constexpr const char *kDelete = "Delete"; -/** replace. */ -static constexpr const char *kReplace = "Replace"; -/** execute. */ -static constexpr const char *kExecute = "Execute"; -/** query. */ -static constexpr const char *kQuery = "Query"; -/** head. */ -static constexpr const char *kHead = "Head"; -/** head_feed. */ -static constexpr const char *kHeadFeed = "HeadFeed"; -/** upsert. */ -static constexpr const char *kUpsert = "Upsert"; -/** batch. */ -static constexpr const char *kBatch = "Batch"; -/** query_plan. */ -static constexpr const char *kQueryPlan = "QueryPlan"; -/** execute_javascript. */ -static constexpr const char *kExecuteJavascript = "ExecuteJavaScript"; -} // namespace DbCosmosdbOperationTypeValues +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** used. */ +static constexpr const char *kUsed = "used"; +} // namespace DbClientConnectionsStateValues namespace DbSystemValues { @@ -3346,6 +3745,95 @@ static constexpr const char *kSpanner = "spanner"; static constexpr const char *kTrino = "trino"; } // namespace DbSystemValues +namespace DbCassandraConsistencyLevelValues +{ +/** all. */ +static constexpr const char *kAll = "all"; +/** each_quorum. */ +static constexpr const char *kEachQuorum = "each_quorum"; +/** quorum. */ +static constexpr const char *kQuorum = "quorum"; +/** local_quorum. */ +static constexpr const char *kLocalQuorum = "local_quorum"; +/** one. */ +static constexpr const char *kOne = "one"; +/** two. */ +static constexpr const char *kTwo = "two"; +/** three. */ +static constexpr const char *kThree = "three"; +/** local_one. */ +static constexpr const char *kLocalOne = "local_one"; +/** any. */ +static constexpr const char *kAny = "any"; +/** serial. */ +static constexpr const char *kSerial = "serial"; +/** local_serial. */ +static constexpr const char *kLocalSerial = "local_serial"; +} // namespace DbCassandraConsistencyLevelValues + +namespace DbCosmosdbConnectionModeValues +{ +/** Gateway (HTTP) connections mode. */ +static constexpr const char *kGateway = "gateway"; +/** Direct connection. */ +static constexpr const char *kDirect = "direct"; +} // namespace DbCosmosdbConnectionModeValues + +namespace DbCosmosdbOperationTypeValues +{ +/** invalid. */ +static constexpr const char *kInvalid = "Invalid"; +/** create. */ +static constexpr const char *kCreate = "Create"; +/** patch. */ +static constexpr const char *kPatch = "Patch"; +/** read. */ +static constexpr const char *kRead = "Read"; +/** read_feed. */ +static constexpr const char *kReadFeed = "ReadFeed"; +/** delete. */ +static constexpr const char *kDelete = "Delete"; +/** replace. */ +static constexpr const char *kReplace = "Replace"; +/** execute. */ +static constexpr const char *kExecute = "Execute"; +/** query. */ +static constexpr const char *kQuery = "Query"; +/** head. */ +static constexpr const char *kHead = "Head"; +/** head_feed. */ +static constexpr const char *kHeadFeed = "HeadFeed"; +/** upsert. */ +static constexpr const char *kUpsert = "Upsert"; +/** batch. */ +static constexpr const char *kBatch = "Batch"; +/** query_plan. */ +static constexpr const char *kQueryPlan = "QueryPlan"; +/** execute_javascript. */ +static constexpr const char *kExecuteJavascript = "ExecuteJavaScript"; +} // namespace DbCosmosdbOperationTypeValues + +namespace 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. */ +static constexpr const char *kCreated = "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. */ +static constexpr const char *kBackground = "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. */ +static constexpr const char *kForeground = "foreground"; +} // namespace AndroidStateValues + +namespace StateValues +{ +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** used. */ +static constexpr const char *kUsed = "used"; +} // namespace StateValues + namespace HttpFlavorValues { /** HTTP/1.0. */ @@ -3362,6 +3850,22 @@ static constexpr const char *kSpdy = "SPDY"; static constexpr const char *kQuic = "QUIC"; } // namespace HttpFlavorValues +namespace IosStateValues +{ +/** The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`. */ +static constexpr const char *kActive = "active"; +/** The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. */ +static constexpr const char *kInactive = "inactive"; +/** The app is now in the background. This value is associated with UIKit notification + * `applicationDidEnterBackground`. */ +static constexpr const char *kBackground = "background"; +/** The app is now in the foreground. This value is associated with UIKit notification + * `applicationWillEnterForeground`. */ +static constexpr const char *kForeground = "foreground"; +/** The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. */ +static constexpr const char *kTerminate = "terminate"; +} // namespace IosStateValues + namespace NetSockFamilyValues { /** IPv4 address. */ @@ -3386,6 +3890,14 @@ static constexpr const char *kInproc = "inproc"; static constexpr const char *kOther = "other"; } // namespace NetTransportValues +namespace MessageTypeValues +{ +/** sent. */ +static constexpr const char *kSent = "SENT"; +/** received. */ +static constexpr const char *kReceived = "RECEIVED"; +} // namespace MessageTypeValues + namespace SystemProcessesStatusValues { /** running. */ @@ -3450,6 +3962,22 @@ static constexpr const char *kTimer = "timer"; static constexpr const char *kOther = "other"; } // namespace FaasTriggerValues +namespace GenAiSystemValues +{ +/** OpenAI. */ +static constexpr const char *kOpenai = "openai"; +} // namespace GenAiSystemValues + +namespace GraphqlOperationTypeValues +{ +/** GraphQL query. */ +static constexpr const char *kQuery = "query"; +/** GraphQL mutation. */ +static constexpr const char *kMutation = "mutation"; +/** GraphQL subscription. */ +static constexpr const char *kSubscription = "subscription"; +} // namespace GraphqlOperationTypeValues + namespace HostArchValues { /** AMD64. */ @@ -3502,7 +4030,41 @@ static constexpr const char *kTrace = "TRACE"; static constexpr const char *kOther = "_OTHER"; } // namespace HttpRequestMethodValues -namespace MessagingOperationValues +namespace JvmMemoryTypeValues +{ +/** Heap memory. */ +static constexpr const char *kHeap = "heap"; +/** Non-heap memory. */ +static constexpr const char *kNonHeap = "non_heap"; +} // namespace JvmMemoryTypeValues + +namespace JvmThreadStateValues +{ +/** A thread that has not yet started is in this state. */ +static constexpr const char *kNew = "new"; +/** A thread executing in the Java virtual machine is in this state. */ +static constexpr const char *kRunnable = "runnable"; +/** A thread that is blocked waiting for a monitor lock is in this state. */ +static constexpr const char *kBlocked = "blocked"; +/** A thread that is waiting indefinitely for another thread to perform a particular action is in + * this state. */ +static constexpr const char *kWaiting = "waiting"; +/** A thread that is waiting for another thread to perform an action for up to a specified waiting + * time is in this state. */ +static constexpr const char *kTimedWaiting = "timed_waiting"; +/** A thread that has exited is in this state. */ +static constexpr const char *kTerminated = "terminated"; +} // namespace JvmThreadStateValues + +namespace LogIostreamValues +{ +/** Logs from stdout stream. */ +static constexpr const char *kStdout = "stdout"; +/** Events from stderr stream. */ +static constexpr const char *kStderr = "stderr"; +} // namespace LogIostreamValues + +namespace 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 @@ -3518,7 +4080,31 @@ static constexpr const char *kReceive = "receive"; static constexpr const char *kDeliver = "process"; /** One or more messages are settled. */ static constexpr const char *kSettle = "settle"; -} // namespace MessagingOperationValues +} // namespace MessagingOperationTypeValues + +namespace MessagingSystemValues +{ +/** Apache ActiveMQ. */ +static constexpr const char *kActivemq = "activemq"; +/** Amazon Simple Queue Service (SQS). */ +static constexpr const char *kAwsSqs = "aws_sqs"; +/** Azure Event Grid. */ +static constexpr const char *kEventgrid = "eventgrid"; +/** Azure Event Hubs. */ +static constexpr const char *kEventhubs = "eventhubs"; +/** Azure Service Bus. */ +static constexpr const char *kServicebus = "servicebus"; +/** Google Cloud Pub/Sub. */ +static constexpr const char *kGcpPubsub = "gcp_pubsub"; +/** Java Message Service. */ +static constexpr const char *kJms = "jms"; +/** Apache Kafka. */ +static constexpr const char *kKafka = "kafka"; +/** RabbitMQ. */ +static constexpr const char *kRabbitmq = "rabbitmq"; +/** Apache RocketMQ. */ +static constexpr const char *kRocketmq = "rocketmq"; +} // namespace MessagingSystemValues namespace MessagingRocketmqConsumptionModelValues { @@ -3552,30 +4138,6 @@ static constexpr const char *kDeadLetter = "dead_letter"; static constexpr const char *kDefer = "defer"; } // namespace MessagingServicebusDispositionStatusValues -namespace MessagingSystemValues -{ -/** Apache ActiveMQ. */ -static constexpr const char *kActivemq = "activemq"; -/** Amazon Simple Queue Service (SQS). */ -static constexpr const char *kAwsSqs = "aws_sqs"; -/** Azure Event Grid. */ -static constexpr const char *kEventgrid = "eventgrid"; -/** Azure Event Hubs. */ -static constexpr const char *kEventhubs = "eventhubs"; -/** Azure Service Bus. */ -static constexpr const char *kServicebus = "servicebus"; -/** Google Cloud Pub/Sub. */ -static constexpr const char *kGcpPubsub = "gcp_pubsub"; -/** Java Message Service. */ -static constexpr const char *kJms = "jms"; -/** Apache Kafka. */ -static constexpr const char *kKafka = "kafka"; -/** RabbitMQ. */ -static constexpr const char *kRabbitmq = "rabbitmq"; -/** Apache RocketMQ. */ -static constexpr const char *kRocketmq = "rocketmq"; -} // namespace MessagingSystemValues - namespace NetworkConnectionSubtypeValues { /** GPRS. */ @@ -3664,6 +4226,14 @@ static constexpr const char *kIpv4 = "ipv4"; static constexpr const char *kIpv6 = "ipv6"; } // namespace NetworkTypeValues +namespace OpentracingRefTypeValues +{ +/** The parent Span depends on the child Span in some capacity. */ +static constexpr const char *kChildOf = "child_of"; +/** The parent Span doesn't depend in any way on the result of the child Span. */ +static constexpr const char *kFollowsFrom = "follows_from"; +} // namespace OpentracingRefTypeValues + namespace OsTypeValues { /** Microsoft Windows. */ @@ -3690,6 +4260,41 @@ static constexpr const char *kSolaris = "solaris"; static constexpr const char *kZOs = "z_os"; } // namespace OsTypeValues +namespace OtelStatusCodeValues +{ +/** The operation has been validated by an Application developer or Operator to have completed + * successfully. */ +static constexpr const char *kOk = "OK"; +/** The operation contains an error. */ +static constexpr const char *kError = "ERROR"; +} // namespace OtelStatusCodeValues + +namespace ProcessContextSwitchTypeValues +{ +/** voluntary. */ +static constexpr const char *kVoluntary = "voluntary"; +/** involuntary. */ +static constexpr const char *kInvoluntary = "involuntary"; +} // namespace ProcessContextSwitchTypeValues + +namespace ProcessPagingFaultTypeValues +{ +/** major. */ +static constexpr const char *kMajor = "major"; +/** minor. */ +static constexpr const char *kMinor = "minor"; +} // namespace ProcessPagingFaultTypeValues + +namespace ProcessCpuStateValues +{ +/** system. */ +static constexpr const char *kSystem = "system"; +/** user. */ +static constexpr const char *kUser = "user"; +/** wait. */ +static constexpr const char *kWait = "wait"; +} // namespace ProcessCpuStateValues + namespace RpcConnectRpcErrorCodeValues { /** cancelled. */ @@ -3764,6 +4369,14 @@ static constexpr const int kDataLoss = 15; static constexpr const int kUnauthenticated = 16; } // namespace RpcGrpcStatusCodeValues +namespace RpcMessageTypeValues +{ +/** sent. */ +static constexpr const char *kSent = "SENT"; +/** received. */ +static constexpr const char *kReceived = "RECEIVED"; +} // namespace RpcMessageTypeValues + namespace RpcSystemValues { /** gRPC. */ @@ -3778,6 +4391,148 @@ static constexpr const char *kApacheDubbo = "apache_dubbo"; static constexpr const char *kConnectRpc = "connect_rpc"; } // namespace RpcSystemValues +namespace SignalrConnectionStatusValues +{ +/** The connection was closed normally. */ +static constexpr const char *kNormalClosure = "normal_closure"; +/** The connection was closed due to a timeout. */ +static constexpr const char *kTimeout = "timeout"; +/** The connection was closed because the app is shutting down. */ +static constexpr const char *kAppShutdown = "app_shutdown"; +} // namespace SignalrConnectionStatusValues + +namespace SignalrTransportValues +{ +/** ServerSentEvents protocol. */ +static constexpr const char *kServerSentEvents = "server_sent_events"; +/** LongPolling protocol. */ +static constexpr const char *kLongPolling = "long_polling"; +/** WebSockets protocol. */ +static constexpr const char *kWebSockets = "web_sockets"; +} // namespace SignalrTransportValues + +namespace SystemCpuStateValues +{ +/** user. */ +static constexpr const char *kUser = "user"; +/** system. */ +static constexpr const char *kSystem = "system"; +/** nice. */ +static constexpr const char *kNice = "nice"; +/** idle. */ +static constexpr const char *kIdle = "idle"; +/** iowait. */ +static constexpr const char *kIowait = "iowait"; +/** interrupt. */ +static constexpr const char *kInterrupt = "interrupt"; +/** steal. */ +static constexpr const char *kSteal = "steal"; +} // namespace SystemCpuStateValues + +namespace SystemMemoryStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +/** shared. */ +static constexpr const char *kShared = "shared"; +/** buffers. */ +static constexpr const char *kBuffers = "buffers"; +/** cached. */ +static constexpr const char *kCached = "cached"; +} // namespace SystemMemoryStateValues + +namespace SystemPagingDirectionValues +{ +/** in. */ +static constexpr const char *kIn = "in"; +/** out. */ +static constexpr const char *kOut = "out"; +} // namespace SystemPagingDirectionValues + +namespace SystemPagingStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +} // namespace SystemPagingStateValues + +namespace SystemPagingTypeValues +{ +/** major. */ +static constexpr const char *kMajor = "major"; +/** minor. */ +static constexpr const char *kMinor = "minor"; +} // namespace SystemPagingTypeValues + +namespace SystemFilesystemStateValues +{ +/** used. */ +static constexpr const char *kUsed = "used"; +/** free. */ +static constexpr const char *kFree = "free"; +/** reserved. */ +static constexpr const char *kReserved = "reserved"; +} // namespace SystemFilesystemStateValues + +namespace SystemFilesystemTypeValues +{ +/** fat32. */ +static constexpr const char *kFat32 = "fat32"; +/** exfat. */ +static constexpr const char *kExfat = "exfat"; +/** ntfs. */ +static constexpr const char *kNtfs = "ntfs"; +/** refs. */ +static constexpr const char *kRefs = "refs"; +/** hfsplus. */ +static constexpr const char *kHfsplus = "hfsplus"; +/** ext4. */ +static constexpr const char *kExt4 = "ext4"; +} // namespace SystemFilesystemTypeValues + +namespace SystemNetworkStateValues +{ +/** close. */ +static constexpr const char *kClose = "close"; +/** close_wait. */ +static constexpr const char *kCloseWait = "close_wait"; +/** closing. */ +static constexpr const char *kClosing = "closing"; +/** delete. */ +static constexpr const char *kDelete = "delete"; +/** established. */ +static constexpr const char *kEstablished = "established"; +/** fin_wait_1. */ +static constexpr const char *kFinWait1 = "fin_wait_1"; +/** fin_wait_2. */ +static constexpr const char *kFinWait2 = "fin_wait_2"; +/** last_ack. */ +static constexpr const char *kLastAck = "last_ack"; +/** listen. */ +static constexpr const char *kListen = "listen"; +/** syn_recv. */ +static constexpr const char *kSynRecv = "syn_recv"; +/** syn_sent. */ +static constexpr const char *kSynSent = "syn_sent"; +/** time_wait. */ +static constexpr const char *kTimeWait = "time_wait"; +} // namespace SystemNetworkStateValues + +namespace SystemProcessStatusValues +{ +/** running. */ +static constexpr const char *kRunning = "running"; +/** sleeping. */ +static constexpr const char *kSleeping = "sleeping"; +/** stopped. */ +static constexpr const char *kStopped = "stopped"; +/** defunct. */ +static constexpr const char *kDefunct = "defunct"; +} // namespace SystemProcessStatusValues + namespace TelemetrySdkLanguageValues { /** cpp. */ @@ -3814,14 +4569,6 @@ static constexpr const char *kSsl = "ssl"; static constexpr const char *kTls = "tls"; } // namespace TlsProtocolNameValues -namespace AwsEcsLaunchtypeValues -{ -/** ec2. */ -static constexpr const char *kEc2 = "ec2"; -/** fargate. */ -static constexpr const char *kFargate = "fargate"; -} // namespace AwsEcsLaunchtypeValues - } // namespace SemanticConventions } // namespace resource } // namespace sdk