diff --git a/CHANGELOG.md b/CHANGELOG.md index 489a314255..13f9335703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,6 +70,9 @@ Increment the: * [TEST] Test all components in a CMake super build [#3433](https://github.com/open-telemetry/opentelemetry-cpp/pull/3433) +* [SEMANTIC CONVENTIONS] Fix comment style to preserve markup. + [#3444](https://github.com/open-telemetry/opentelemetry-cpp/pull/3444) + Important changes: * [EXPORTER] ostream log exporter, fixed memory ownership issues diff --git a/api/include/opentelemetry/semconv/client_attributes.h b/api/include/opentelemetry/semconv/client_attributes.h index ec984cc406..7f944176dd 100644 --- a/api/include/opentelemetry/semconv/client_attributes.h +++ b/api/include/opentelemetry/semconv/client_attributes.h @@ -20,19 +20,19 @@ namespace client { /** - * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or - * Unix domain socket name.

When observed from the server side, and when communicating through - * an intermediary, @code client.address @endcode SHOULD represent the client address behind any - * intermediaries, for example proxies, if it's available. + Client address - domain name if available without reverse DNS lookup; otherwise, IP address or + Unix domain socket name.

When observed from the server side, and when communicating through an + intermediary, @code client.address @endcode SHOULD represent the client address behind any + intermediaries, for example proxies, if it's available. */ static constexpr const char *kClientAddress = "client.address"; /** - * Client port number. - *

- * When observed from the server side, and when communicating through an intermediary, @code - * client.port @endcode SHOULD represent the client port behind any intermediaries, for example - * proxies, if it's available. + Client port number. +

+ When observed from the server side, and when communicating through an intermediary, @code + client.port @endcode SHOULD represent the client port behind any intermediaries, for example + proxies, if it's available. */ static constexpr const char *kClientPort = "client.port"; diff --git a/api/include/opentelemetry/semconv/code_attributes.h b/api/include/opentelemetry/semconv/code_attributes.h index 126b6aa2e9..cec6ae5547 100644 --- a/api/include/opentelemetry/semconv/code_attributes.h +++ b/api/include/opentelemetry/semconv/code_attributes.h @@ -20,59 +20,59 @@ namespace code { /** - * The column number in @code code.file.path @endcode best representing the operation. It SHOULD - * point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be - * used on the Profile signal since the data is already captured in 'message Line'. This constraint - * is imposed to prevent redundancy and maintain data integrity. + The column number in @code code.file.path @endcode best representing the operation. It SHOULD + point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be + used on the Profile signal since the data is already captured in 'message Line'. This constraint + is imposed to prevent redundancy and maintain data integrity. */ static constexpr const char *kCodeColumnNumber = "code.column.number"; /** - * The source code file name that identifies the code unit as uniquely as possible (preferably an - * absolute file path). This attribute MUST NOT be used on the Profile signal since the data is - * already captured in 'message Function'. This constraint is imposed to prevent redundancy and - * maintain data integrity. + The source code file name that identifies the code unit as uniquely as possible (preferably an + absolute file path). This attribute MUST NOT be used on the Profile signal since the data is + already captured in 'message Function'. This constraint is imposed to prevent redundancy and + maintain data integrity. */ static constexpr const char *kCodeFilePath = "code.file.path"; /** - * The method or function fully-qualified name without arguments. The value should fit the natural - * representation of the language runtime, which is also likely the same used within @code - * code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal - * since the data is already captured in 'message Function'. This constraint is imposed to prevent - * redundancy and maintain data integrity.

Values and format depends on each language runtime, - * thus it is impossible to provide an exhaustive list of examples. The values are usually the same - * (or prefixes of) the ones found in native stack trace representation stored in - * @code code.stacktrace @endcode without information on arguments. - *

- * Examples: - *

+ The method or function fully-qualified name without arguments. The value should fit the natural + representation of the language runtime, which is also likely the same used within @code + code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal + since the data is already captured in 'message Function'. This constraint is imposed to prevent + redundancy and maintain data integrity.

Values and format depends on each language runtime, + thus it is impossible to provide an exhaustive list of examples. The values are usually the same + (or prefixes of) the ones found in native stack trace representation stored in + @code code.stacktrace @endcode without information on arguments. +

+ Examples: +

*/ static constexpr const char *kCodeFunctionName = "code.function.name"; /** - * The line number in @code code.file.path @endcode best representing the operation. It SHOULD point - * within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used - * on the Profile signal since the data is already captured in 'message Line'. This constraint is - * imposed to prevent redundancy and maintain data integrity. + The line number in @code code.file.path @endcode best representing the operation. It SHOULD point + within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used + on the Profile signal since the data is already captured in 'message Line'. This constraint is + imposed to prevent redundancy and maintain data integrity. */ static constexpr const char *kCodeLineNumber = "code.line.number"; /** - * A stacktrace as a string in the natural representation for the language runtime. The - * representation is identical to @code exception.stacktrace - * @endcode. This attribute MUST NOT be used on the Profile signal since the data is already - * captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain - * data integrity. + A stacktrace as a string in the natural representation for the language runtime. The + representation is identical to @code exception.stacktrace + @endcode. This attribute MUST NOT be used on the Profile signal since the data is already + captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain data + integrity. */ static constexpr const char *kCodeStacktrace = "code.stacktrace"; diff --git a/api/include/opentelemetry/semconv/db_attributes.h b/api/include/opentelemetry/semconv/db_attributes.h index 2f85df68be..0e6e51c518 100644 --- a/api/include/opentelemetry/semconv/db_attributes.h +++ b/api/include/opentelemetry/semconv/db_attributes.h @@ -20,326 +20,325 @@ namespace db { /** - * The name of a collection (table, container) within the database. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * The collection name SHOULD NOT be extracted from @code db.query.text @endcode, - * when the database system supports query text with multiple collections - * in non-batch operations. - *

- * For batch operations, if the individual operations are known to have the same - * collection name then that collection name SHOULD be used. + The name of a collection (table, container) within the database. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ The collection name SHOULD NOT be extracted from @code db.query.text @endcode, + when the database system supports query text with multiple collections + in non-batch operations. +

+ For batch operations, if the individual operations are known to have the same + collection name then that collection name SHOULD be used. */ static constexpr const char *kDbCollectionName = "db.collection.name"; /** - * The name of the database, fully qualified within the server address and port. - *

- * If a database system has multiple namespace components, they SHOULD be concatenated from the most - * general to the most specific namespace component, using @code | @endcode as a separator between - * the components. Any missing components (and their associated separators) SHOULD be omitted. - * Semantic conventions for individual database systems SHOULD document what @code db.namespace - * @endcode means in the context of that system. It is RECOMMENDED to capture the value as provided - * by the application without attempting to do any case normalization. + The name of the database, fully qualified within the server address and port. +

+ If a database system has multiple namespace components, they SHOULD be concatenated from the most + general to the most specific namespace component, using @code | @endcode as a separator between + the components. Any missing components (and their associated separators) SHOULD be omitted. + Semantic conventions for individual database systems SHOULD document what @code db.namespace + @endcode means in the context of that system. It is RECOMMENDED to capture the value as provided + by the application without attempting to do any case normalization. */ static constexpr const char *kDbNamespace = "db.namespace"; /** - * The number of queries included in a batch operation. - *

- * Operations are only considered batches when they contain two or more operations, and so @code - * db.operation.batch.size @endcode SHOULD never be @code 1 @endcode. + The number of queries included in a batch operation. +

+ Operations are only considered batches when they contain two or more operations, and so @code + db.operation.batch.size @endcode SHOULD never be @code 1 @endcode. */ static constexpr const char *kDbOperationBatchSize = "db.operation.batch.size"; /** - * The name of the operation or command being executed. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * The operation name SHOULD NOT be extracted from @code db.query.text @endcode, - * when the database system supports query text with multiple operations - * in non-batch operations. - *

- * If spaces can occur in the operation name, multiple consecutive spaces - * SHOULD be normalized to a single space. - *

- * For batch operations, if the individual operations are known to have the same operation name - * then that operation name SHOULD be used prepended by @code BATCH @endcode, - * otherwise @code db.operation.name @endcode SHOULD be @code BATCH @endcode or some other database - * system specific term if more applicable. + The name of the operation or command being executed. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ The operation name SHOULD NOT be extracted from @code db.query.text @endcode, + when the database system supports query text with multiple operations + in non-batch operations. +

+ If spaces can occur in the operation name, multiple consecutive spaces + SHOULD be normalized to a single space. +

+ For batch operations, if the individual operations are known to have the same operation name + then that operation name SHOULD be used prepended by @code BATCH @endcode, + otherwise @code db.operation.name @endcode SHOULD be @code BATCH @endcode or some other database + system specific term if more applicable. */ static constexpr const char *kDbOperationName = "db.operation.name"; /** - * Low cardinality summary of a database query. - *

- * The query summary describes a class of database queries and is useful - * as a grouping key, especially when analyzing telemetry for database - * calls involving complex queries. - *

- * Summary may be available to the instrumentation through - * instrumentation hooks or other means. If it is not available, instrumentations - * that support query parsing SHOULD generate a summary following - * Generating query - * summary section. + Low cardinality summary of a database query. +

+ The query summary describes a class of database queries and is useful + as a grouping key, especially when analyzing telemetry for database + calls involving complex queries. +

+ Summary may be available to the instrumentation through + instrumentation hooks or other means. If it is not available, instrumentations + that support query parsing SHOULD generate a summary following + Generating query + summary section. */ static constexpr const char *kDbQuerySummary = "db.query.summary"; /** - * The database query being executed. - *

- * For sanitization see Sanitization of @code - * db.query.text @endcode. For batch operations, if the individual operations are known to have - * the same query text then that query text SHOULD be used, otherwise all of the individual query - * texts SHOULD be concatenated with separator @code ; @endcode or some other database system - * specific separator if more applicable. Parameterized query text SHOULD NOT be sanitized. Even - * though parameterized query text can potentially have sensitive data, by using a parameterized - * query the user is giving a strong signal that any sensitive data will be passed as parameter - * values, and the benefit to observability of capturing the static part of the query text by - * default outweighs the risk. + The database query being executed. +

+ For sanitization see Sanitization of @code + db.query.text @endcode. For batch operations, if the individual operations are known to have + the same query text then that query text SHOULD be used, otherwise all of the individual query + texts SHOULD be concatenated with separator @code ; @endcode or some other database system + specific separator if more applicable. Parameterized query text SHOULD NOT be sanitized. Even + though parameterized query text can potentially have sensitive data, by using a parameterized + query the user is giving a strong signal that any sensitive data will be passed as parameter + values, and the benefit to observability of capturing the static part of the query text by default + outweighs the risk. */ static constexpr const char *kDbQueryText = "db.query.text"; /** - * Database response status code. - *

- * The status code returned by the database. Usually it represents an error code, but may also - * represent partial success, warning, or differentiate between various types of successful - * outcomes. Semantic conventions for individual database systems SHOULD document what @code - * db.response.status_code @endcode means in the context of that system. + Database response status code. +

+ The status code returned by the database. Usually it represents an error code, but may also + represent partial success, warning, or differentiate between various types of successful outcomes. + Semantic conventions for individual database systems SHOULD document what @code + db.response.status_code @endcode means in the context of that system. */ static constexpr const char *kDbResponseStatusCode = "db.response.status_code"; /** - * The name of a stored procedure within the database. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * For batch operations, if the individual operations are known to have the same - * stored procedure name then that stored procedure name SHOULD be used. + The name of a stored procedure within the database. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ For batch operations, if the individual operations are known to have the same + stored procedure name then that stored procedure name SHOULD be used. */ static constexpr const char *kDbStoredProcedureName = "db.stored_procedure.name"; /** - * The database management system (DBMS) product as identified by the client instrumentation. - *

- * The actual DBMS may differ from the one identified by the client. For example, when using - * PostgreSQL client libraries to connect to a CockroachDB, the @code db.system.name @endcode is set - * to @code postgresql @endcode based on the instrumentation's best knowledge. + The database management system (DBMS) product as identified by the client instrumentation. +

+ The actual DBMS may differ from the one identified by the client. For example, when using + PostgreSQL client libraries to connect to a CockroachDB, the @code db.system.name @endcode is set + to @code postgresql @endcode based on the instrumentation's best knowledge. */ static constexpr const char *kDbSystemName = "db.system.name"; namespace DbSystemNameValues { /** - * Some other SQL database. Fallback only. + Some other SQL database. Fallback only. */ static constexpr const char *kOtherSql = "other_sql"; /** - * Adabas (Adaptable Database System) + Adabas (Adaptable Database System) */ static constexpr const char *kSoftwareagAdabas = "softwareag.adabas"; /** - * Actian Ingres + Actian Ingres */ static constexpr const char *kActianIngres = "actian.ingres"; /** - * Amazon DynamoDB + Amazon DynamoDB */ static constexpr const char *kAwsDynamodb = "aws.dynamodb"; /** - * Amazon Redshift + Amazon Redshift */ static constexpr const char *kAwsRedshift = "aws.redshift"; /** - * Azure Cosmos DB + Azure Cosmos DB */ static constexpr const char *kAzureCosmosdb = "azure.cosmosdb"; /** - * InterSystems Caché + InterSystems Caché */ static constexpr const char *kIntersystemsCache = "intersystems.cache"; /** - * Apache Cassandra + Apache Cassandra */ static constexpr const char *kCassandra = "cassandra"; /** - * ClickHouse + ClickHouse */ static constexpr const char *kClickhouse = "clickhouse"; /** - * CockroachDB + CockroachDB */ static constexpr const char *kCockroachdb = "cockroachdb"; /** - * Couchbase + Couchbase */ static constexpr const char *kCouchbase = "couchbase"; /** - * Apache CouchDB + Apache CouchDB */ static constexpr const char *kCouchdb = "couchdb"; /** - * Apache Derby + Apache Derby */ static constexpr const char *kDerby = "derby"; /** - * Elasticsearch + Elasticsearch */ static constexpr const char *kElasticsearch = "elasticsearch"; /** - * Firebird + Firebird */ static constexpr const char *kFirebirdsql = "firebirdsql"; /** - * Google Cloud Spanner + Google Cloud Spanner */ static constexpr const char *kGcpSpanner = "gcp.spanner"; /** - * Apache Geode + Apache Geode */ static constexpr const char *kGeode = "geode"; /** - * H2 Database + H2 Database */ static constexpr const char *kH2database = "h2database"; /** - * Apache HBase + Apache HBase */ static constexpr const char *kHbase = "hbase"; /** - * Apache Hive + Apache Hive */ static constexpr const char *kHive = "hive"; /** - * HyperSQL Database + HyperSQL Database */ static constexpr const char *kHsqldb = "hsqldb"; /** - * IBM Db2 + IBM Db2 */ static constexpr const char *kIbmDb2 = "ibm.db2"; /** - * IBM Informix + IBM Informix */ static constexpr const char *kIbmInformix = "ibm.informix"; /** - * IBM Netezza + IBM Netezza */ static constexpr const char *kIbmNetezza = "ibm.netezza"; /** - * InfluxDB + InfluxDB */ static constexpr const char *kInfluxdb = "influxdb"; /** - * Instant + Instant */ static constexpr const char *kInstantdb = "instantdb"; /** - * MariaDB + MariaDB */ static constexpr const char *kMariadb = "mariadb"; /** - * Memcached + Memcached */ static constexpr const char *kMemcached = "memcached"; /** - * MongoDB + MongoDB */ static constexpr const char *kMongodb = "mongodb"; /** - * Microsoft SQL Server + Microsoft SQL Server */ static constexpr const char *kMicrosoftSqlServer = "microsoft.sql_server"; /** - * MySQL + MySQL */ static constexpr const char *kMysql = "mysql"; /** - * Neo4j + Neo4j */ static constexpr const char *kNeo4j = "neo4j"; /** - * OpenSearch + OpenSearch */ static constexpr const char *kOpensearch = "opensearch"; /** - * Oracle Database + Oracle Database */ static constexpr const char *kOracleDb = "oracle.db"; /** - * PostgreSQL + PostgreSQL */ static constexpr const char *kPostgresql = "postgresql"; /** - * Redis + Redis */ static constexpr const char *kRedis = "redis"; /** - * SAP - * HANA + SAP HANA */ static constexpr const char *kSapHana = "sap.hana"; /** - * SAP MaxDB + SAP MaxDB */ static constexpr const char *kSapMaxdb = "sap.maxdb"; /** - * SQLite + SQLite */ static constexpr const char *kSqlite = "sqlite"; /** - * Teradata + Teradata */ static constexpr const char *kTeradata = "teradata"; /** - * Trino + Trino */ static constexpr const char *kTrino = "trino"; diff --git a/api/include/opentelemetry/semconv/db_metrics.h b/api/include/opentelemetry/semconv/db_metrics.h index abaf20d525..5748dc4cba 100644 --- a/api/include/opentelemetry/semconv/db_metrics.h +++ b/api/include/opentelemetry/semconv/db_metrics.h @@ -21,11 +21,11 @@ namespace db { /** - * Duration of database client operations. - *

- * Batch operations SHOULD be recorded as a single operation. - *

- * histogram + Duration of database client operations. +

+ Batch operations SHOULD be recorded as a single operation. +

+ histogram */ static constexpr const char *kMetricDbClientOperationDuration = "db.client.operation.duration"; static constexpr const char *descrMetricDbClientOperationDuration = diff --git a/api/include/opentelemetry/semconv/error_attributes.h b/api/include/opentelemetry/semconv/error_attributes.h index c68cdeda9f..e0ef3c925e 100644 --- a/api/include/opentelemetry/semconv/error_attributes.h +++ b/api/include/opentelemetry/semconv/error_attributes.h @@ -20,33 +20,33 @@ namespace error { /** - * Describes a class of error the operation ended with. - *

- * The @code error.type @endcode SHOULD be predictable, and SHOULD have low cardinality. - *

- * When @code error.type @endcode is set to a type (e.g., an exception type), its - * canonical class name identifying the type within the artifact SHOULD be used. - *

- * Instrumentations SHOULD document the list of errors they report. - *

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

- * If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type - * @endcode.

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

+ Describes a class of error the operation ended with. +

+ The @code error.type @endcode SHOULD be predictable, and SHOULD have low cardinality. +

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

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

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

+ If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type + @endcode.

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

*/ static constexpr const char *kErrorType = "error.type"; namespace ErrorTypeValues { /** - * A fallback error value to be used when the instrumentation doesn't define a custom value. + A fallback error value to be used when the instrumentation doesn't define a custom value. */ static constexpr const char *kOther = "_OTHER"; diff --git a/api/include/opentelemetry/semconv/exception_attributes.h b/api/include/opentelemetry/semconv/exception_attributes.h index 3aee91bde3..8947d711f1 100644 --- a/api/include/opentelemetry/semconv/exception_attributes.h +++ b/api/include/opentelemetry/semconv/exception_attributes.h @@ -20,28 +20,28 @@ namespace exception { /** - * Indicates that the exception is escaping the scope of the span. - * - * @deprecated - * {"note": "It's no longer recommended to record exceptions that are handled and do not escape the - * scope of a span.\n", "reason": "obsoleted"} + Indicates that the exception is escaping the scope of the span. + + @deprecated + {"note": "It's no longer recommended to record exceptions that are handled and do not escape the + scope of a span.\n", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kExceptionEscaped = "exception.escaped"; /** - * The exception message. + The exception message. */ static constexpr const char *kExceptionMessage = "exception.message"; /** - * A stacktrace as a string in the natural representation for the language runtime. The - * representation is to be determined and documented by each language SIG. + A stacktrace as a string in the natural representation for the language runtime. The + representation is to be determined and documented by each language SIG. */ static constexpr const char *kExceptionStacktrace = "exception.stacktrace"; /** - * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of - * the exception should be preferred over the static type in languages that support it. + The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the + exception should be preferred over the static type in languages that support it. */ static constexpr const char *kExceptionType = "exception.type"; diff --git a/api/include/opentelemetry/semconv/http_attributes.h b/api/include/opentelemetry/semconv/http_attributes.h index c159eaec40..85e5244b08 100644 --- a/api/include/opentelemetry/semconv/http_attributes.h +++ b/api/include/opentelemetry/semconv/http_attributes.h @@ -20,141 +20,140 @@ namespace http { /** - * HTTP request headers, @code @endcode being the normalized HTTP Header name (lowercase), the - * value being the header values.

Instrumentations SHOULD require an explicit configuration of - * which headers are to be captured. Including all request headers can be a security risk - explicit - * configuration helps avoid leaking sensitive information.

The @code User-Agent @endcode header - * is already captured in the @code user_agent.original @endcode attribute. Users MAY explicitly - * configure instrumentations to capture them even though it is not recommended.

The attribute - * value MUST consist of either multiple header values as an array of strings or a single-item array - * containing a possibly comma-concatenated string, depending on the way the HTTP library provides - * access to headers.

Examples:

+ HTTP request headers, @code @endcode being the normalized HTTP Header name (lowercase), the + value being the header values.

Instrumentations SHOULD require an explicit configuration of + which headers are to be captured. Including all request headers can be a security risk - explicit + configuration helps avoid leaking sensitive information.

The @code User-Agent @endcode header + is already captured in the @code user_agent.original @endcode attribute. Users MAY explicitly + configure instrumentations to capture them even though it is not recommended.

The attribute + value MUST consist of either multiple header values as an array of strings or a single-item array + containing a possibly comma-concatenated string, depending on the way the HTTP library provides + access to headers.

Examples:

*/ static constexpr const char *kHttpRequestHeader = "http.request.header"; /** - * HTTP request method. - *

- * HTTP request method value SHOULD be "known" to the instrumentation. - * By default, this convention defines "known" methods as the ones listed in RFC9110 and the PATCH method - * defined in RFC5789.

If the HTTP - * request method is not known to instrumentation, it MUST set the @code http.request.method - * @endcode attribute to @code _OTHER @endcode.

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

- * HTTP method names are case-sensitive and @code http.request.method @endcode attribute value MUST - * match a known HTTP method name exactly. Instrumentations for specific web frameworks that - * consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. Tracing - * instrumentations that do so, MUST also set @code http.request.method_original @endcode to the - * original value. + HTTP request method. +

+ HTTP request method value SHOULD be "known" to the instrumentation. + By default, this convention defines "known" methods as the ones listed in RFC9110 and the PATCH method + defined in RFC5789.

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

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

HTTP method names are + case-sensitive and @code http.request.method @endcode attribute value MUST match a known HTTP + method name exactly. Instrumentations for specific web frameworks that consider HTTP methods to be + case insensitive, SHOULD populate a canonical equivalent. Tracing instrumentations that do so, + MUST also set @code http.request.method_original @endcode to the original value. */ static constexpr const char *kHttpRequestMethod = "http.request.method"; /** - * Original HTTP method sent by the client in the request line. + Original HTTP method sent by the client in the request line. */ static constexpr const char *kHttpRequestMethodOriginal = "http.request.method_original"; /** - * The ordinal number of request resending attempt (for any reason, including redirects). - *

- * The resend count SHOULD be updated each time an HTTP request gets resent by the client, - * regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 - * Server Unavailable, network issues, or any other). + The ordinal number of request resending attempt (for any reason, including redirects). +

+ The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless + of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server + Unavailable, network issues, or any other). */ static constexpr const char *kHttpRequestResendCount = "http.request.resend_count"; /** - * HTTP response headers, @code @endcode being the normalized HTTP Header name (lowercase), - * the value being the header values.

Instrumentations SHOULD require an explicit configuration - * of which headers are to be captured. Including all response headers can be a security risk - - * explicit configuration helps avoid leaking sensitive information.

Users MAY explicitly - * configure instrumentations to capture them even though it is not recommended.

The attribute - * value MUST consist of either multiple header values as an array of strings or a single-item array - * containing a possibly comma-concatenated string, depending on the way the HTTP library provides - * access to headers.

Examples:

+ HTTP response headers, @code @endcode being the normalized HTTP Header name (lowercase), the + value being the header values.

Instrumentations SHOULD require an explicit configuration of + which headers are to be captured. Including all response headers can be a security risk - explicit + configuration helps avoid leaking sensitive information.

Users MAY explicitly configure + instrumentations to capture them even though it is not recommended.

The attribute value MUST + consist of either multiple header values as an array of strings or a single-item array containing + a possibly comma-concatenated string, depending on the way the HTTP library provides access to + headers.

Examples:

  • A header @code Content-Type: application/json @endcode header + SHOULD be recorded as the @code http.request.response.content-type @endcode attribute with value + @code ["application/json"] @endcode.
  • A header @code My-custom-header: abc, def @endcode + header SHOULD be recorded as the @code http.response.header.my-custom-header @endcode attribute + with value @code ["abc", "def"] @endcode or @code ["abc, def"] @endcode depending on the HTTP + library.
  • +
*/ static constexpr const char *kHttpResponseHeader = "http.response.header"; /** - * HTTP response status code. + HTTP response status code. */ static constexpr const char *kHttpResponseStatusCode = "http.response.status_code"; /** - * The matched route, that is, the path template in the format used by the respective server - * framework.

MUST NOT be populated when this is not supported by the HTTP server framework as - * the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD - * include the application root if - * there is one. + The matched route, that is, the path template in the format used by the respective server + framework.

MUST NOT be populated when this is not supported by the HTTP server framework as + the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD + include the application root if + there is one. */ static constexpr const char *kHttpRoute = "http.route"; namespace HttpRequestMethodValues { /** - * CONNECT method. + CONNECT method. */ static constexpr const char *kConnect = "CONNECT"; /** - * DELETE method. + DELETE method. */ static constexpr const char *kDelete = "DELETE"; /** - * GET method. + GET method. */ static constexpr const char *kGet = "GET"; /** - * HEAD method. + HEAD method. */ static constexpr const char *kHead = "HEAD"; /** - * OPTIONS method. + OPTIONS method. */ static constexpr const char *kOptions = "OPTIONS"; /** - * PATCH method. + PATCH method. */ static constexpr const char *kPatch = "PATCH"; /** - * POST method. + POST method. */ static constexpr const char *kPost = "POST"; /** - * PUT method. + PUT method. */ static constexpr const char *kPut = "PUT"; /** - * TRACE method. + TRACE method. */ static constexpr const char *kTrace = "TRACE"; /** - * Any HTTP method that the instrumentation has no prior knowledge of. + Any HTTP method that the instrumentation has no prior knowledge of. */ static constexpr const char *kOther = "_OTHER"; diff --git a/api/include/opentelemetry/semconv/http_metrics.h b/api/include/opentelemetry/semconv/http_metrics.h index c3ecb0ed16..f480fb4c2a 100644 --- a/api/include/opentelemetry/semconv/http_metrics.h +++ b/api/include/opentelemetry/semconv/http_metrics.h @@ -21,9 +21,9 @@ namespace http { /** - * Duration of HTTP client requests. - *

- * histogram + Duration of HTTP client requests. +

+ histogram */ static constexpr const char *kMetricHttpClientRequestDuration = "http.client.request.duration"; static constexpr const char *descrMetricHttpClientRequestDuration = @@ -47,9 +47,9 @@ CreateSyncDoubleMetricHttpClientRequestDuration(metrics::Meter *meter) } /** - * Duration of HTTP server requests. - *

- * histogram + Duration of HTTP server requests. +

+ histogram */ static constexpr const char *kMetricHttpServerRequestDuration = "http.server.request.duration"; static constexpr const char *descrMetricHttpServerRequestDuration = diff --git a/api/include/opentelemetry/semconv/incubating/app_attributes.h b/api/include/opentelemetry/semconv/incubating/app_attributes.h index 8449d5d220..fdbad251b1 100644 --- a/api/include/opentelemetry/semconv/incubating/app_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/app_attributes.h @@ -20,53 +20,54 @@ namespace app { /** - * A unique identifier representing the installation of an application on a specific device - *

- * Its value SHOULD persist across launches of the same application installation, including through - * application upgrades. It SHOULD change if the application is uninstalled or if all applications - * of the vendor are uninstalled. Additionally, users might be able to reset this value (e.g. by - * clearing application data). If an app is installed multiple times on the same device (e.g. in - * different accounts on Android), each @code app.installation.id @endcode SHOULD have a different - * value. If multiple OpenTelemetry SDKs are used within the same application, they SHOULD use the - * same value for @code app.installation.id @endcode. Hardware IDs (e.g. serial number, IMEI, MAC - * address) MUST NOT be used as the @code app.installation.id @endcode.

For iOS, this value - * SHOULD be equal to the vendor - * identifier.

For Android, examples of @code app.installation.id @endcode implementations - * include:

- *

- * More information about Android identifier best practices can be found here. + A unique identifier representing the installation of an application on a specific device +

+ Its value SHOULD persist across launches of the same application installation, including through + application upgrades. It SHOULD change if the application is uninstalled or if all applications of + the vendor are uninstalled. Additionally, users might be able to reset this value (e.g. by + clearing application data). If an app is installed multiple times on the same device (e.g. in + different accounts on Android), each @code app.installation.id @endcode SHOULD have a different + value. If multiple OpenTelemetry SDKs are used within the same application, they SHOULD use the + same value for @code app.installation.id @endcode. Hardware IDs (e.g. serial number, IMEI, MAC + address) MUST NOT be used as the @code app.installation.id @endcode.

For iOS, this value + SHOULD be equal to the vendor + identifier.

For Android, examples of @code app.installation.id @endcode implementations + include:

+

+ More information about Android identifier best practices can be found here. */ static constexpr const char *kAppInstallationId = "app.installation.id"; /** - * The x (horizontal) coordinate of a screen coordinate, in screen pixels. + The x (horizontal) coordinate of a screen coordinate, in screen pixels. */ static constexpr const char *kAppScreenCoordinateX = "app.screen.coordinate.x"; /** - * The y (vertical) component of a screen coordinate, in screen pixels. + The y (vertical) component of a screen coordinate, in screen pixels. */ static constexpr const char *kAppScreenCoordinateY = "app.screen.coordinate.y"; /** - * An identifier that uniquely differentiates this widget from other widgets in the same - * application.

A widget is an application component, typically an on-screen visual GUI element. + An identifier that uniquely differentiates this widget from other widgets in the same application. +

+ A widget is an application component, typically an on-screen visual GUI element. */ static constexpr const char *kAppWidgetId = "app.widget.id"; /** - * The name of an application widget. - *

- * A widget is an application component, typically an on-screen visual GUI element. + The name of an application widget. +

+ A widget is an application component, typically an on-screen visual GUI element. */ static constexpr const char *kAppWidgetName = "app.widget.name"; diff --git a/api/include/opentelemetry/semconv/incubating/artifact_attributes.h b/api/include/opentelemetry/semconv/incubating/artifact_attributes.h index 9d52c9bb38..09e000ba38 100644 --- a/api/include/opentelemetry/semconv/incubating/artifact_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/artifact_attributes.h @@ -20,59 +20,57 @@ namespace artifact { /** - * The provenance filename of the built attestation which directly relates to the build artifact - * filename. This filename SHOULD accompany the artifact at publish time. See the SLSA - * Relationship specification for more information. + The provenance filename of the built attestation which directly relates to the build artifact + filename. This filename SHOULD accompany the artifact at publish time. See the SLSA + Relationship specification for more information. */ static constexpr const char *kArtifactAttestationFilename = "artifact.attestation.filename"; /** - * The full hash value (see - * glossary), of the built attestation. Some envelopes in the software attestation space also - * refer to this as the digest. + The full hash value (see + glossary), of the built attestation. Some envelopes in the software attestation space also + refer to this as the digest. */ static constexpr const char *kArtifactAttestationHash = "artifact.attestation.hash"; /** - * The id of the build software attestation. + The id of the build software attestation. */ static constexpr const char *kArtifactAttestationId = "artifact.attestation.id"; /** - * The human readable file name of the artifact, typically generated during build and release - * processes. Often includes the package name and version in the file name.

This file name can - * also act as the Package Name - * in cases where the package ecosystem maps accordingly. - * Additionally, the artifact can be published for - * others, but that is not a guarantee. + The human readable file name of the artifact, typically generated during build and release + processes. Often includes the package name and version in the file name.

This file name can + also act as the Package Name in + cases where the package ecosystem maps accordingly. Additionally, the artifact can be published for + others, but that is not a guarantee. */ static constexpr const char *kArtifactFilename = "artifact.filename"; /** - * The full hash value (see - * glossary), often found in checksum.txt on a release of the artifact and used to verify - * package integrity.

The specific algorithm used to create the cryptographic hash value is not - * defined. In situations where an artifact has multiple cryptographic hashes, it is up to the - * implementer to choose which hash value to set here; this should be the most secure hash algorithm - * that is suitable for the situation and consistent with the - * corresponding attestation. The implementer can then provide the other - * hash values through an additional set of attribute extensions as they - * deem necessary. + The full hash value (see + glossary), often found in checksum.txt on a release of the artifact and used to verify package + integrity.

The specific algorithm used to create the cryptographic hash value is not defined. + In situations where an artifact has multiple cryptographic hashes, it is up to the implementer to + choose which hash value to set here; this should be the most secure hash algorithm that is + suitable for the situation and consistent with the corresponding attestation. The implementer can + then provide the other hash values through an additional set of attribute extensions as they deem + necessary. */ static constexpr const char *kArtifactHash = "artifact.hash"; /** - * The Package URL of the package artifact provides a - * standard way to identify and locate the packaged artifact. + The Package URL of the package artifact provides a + standard way to identify and locate the packaged artifact. */ static constexpr const char *kArtifactPurl = "artifact.purl"; /** - * The version of the artifact. + The version of the artifact. */ static constexpr const char *kArtifactVersion = "artifact.version"; diff --git a/api/include/opentelemetry/semconv/incubating/aws_attributes.h b/api/include/opentelemetry/semconv/incubating/aws_attributes.h index c7fdb592b3..2abf1b762d 100644 --- a/api/include/opentelemetry/semconv/incubating/aws_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/aws_attributes.h @@ -20,388 +20,388 @@ namespace aws { /** - * The unique identifier of the AWS Bedrock Guardrail. A guardrail helps - * safeguard and prevent unwanted behavior from model responses or user messages. + The unique identifier of the AWS Bedrock Guardrail. A guardrail helps + safeguard and prevent unwanted behavior from model responses or user messages. */ static constexpr const char *kAwsBedrockGuardrailId = "aws.bedrock.guardrail.id"; /** - * The unique identifier of the AWS Bedrock Knowledge base. A knowledge - * base is a bank of information that can be queried by models to generate more relevant - * responses and augment prompts. + The unique identifier of the AWS Bedrock Knowledge base. A knowledge base + is a bank of information that can be queried by models to generate more relevant responses and + augment prompts. */ static constexpr const char *kAwsBedrockKnowledgeBaseId = "aws.bedrock.knowledge_base.id"; /** - * The JSON-serialized value of each item in the @code AttributeDefinitions @endcode request field. + The JSON-serialized value of each item in the @code AttributeDefinitions @endcode request field. */ static constexpr const char *kAwsDynamodbAttributeDefinitions = "aws.dynamodb.attribute_definitions"; /** - * The value of the @code AttributesToGet @endcode request parameter. + The value of the @code AttributesToGet @endcode request parameter. */ static constexpr const char *kAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get"; /** - * The value of the @code ConsistentRead @endcode request parameter. + The value of the @code ConsistentRead @endcode request parameter. */ static constexpr const char *kAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read"; /** - * The JSON-serialized value of each item in the @code ConsumedCapacity @endcode response field. + The JSON-serialized value of each item in the @code ConsumedCapacity @endcode response field. */ static constexpr const char *kAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity"; /** - * The value of the @code Count @endcode response parameter. + The value of the @code Count @endcode response parameter. */ static constexpr const char *kAwsDynamodbCount = "aws.dynamodb.count"; /** - * The value of the @code ExclusiveStartTableName @endcode request parameter. + The value of the @code ExclusiveStartTableName @endcode request parameter. */ static constexpr const char *kAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table"; /** - * The JSON-serialized value of each item in the @code GlobalSecondaryIndexUpdates @endcode request - * field. + The JSON-serialized value of each item in the @code GlobalSecondaryIndexUpdates @endcode request + field. */ static constexpr const char *kAwsDynamodbGlobalSecondaryIndexUpdates = "aws.dynamodb.global_secondary_index_updates"; /** - * The JSON-serialized value of each item of the @code GlobalSecondaryIndexes @endcode request field + The JSON-serialized value of each item of the @code GlobalSecondaryIndexes @endcode request field */ static constexpr const char *kAwsDynamodbGlobalSecondaryIndexes = "aws.dynamodb.global_secondary_indexes"; /** - * The value of the @code IndexName @endcode request parameter. + The value of the @code IndexName @endcode request parameter. */ static constexpr const char *kAwsDynamodbIndexName = "aws.dynamodb.index_name"; /** - * The JSON-serialized value of the @code ItemCollectionMetrics @endcode response field. + The JSON-serialized value of the @code ItemCollectionMetrics @endcode response field. */ static constexpr const char *kAwsDynamodbItemCollectionMetrics = "aws.dynamodb.item_collection_metrics"; /** - * The value of the @code Limit @endcode request parameter. + The value of the @code Limit @endcode request parameter. */ static constexpr const char *kAwsDynamodbLimit = "aws.dynamodb.limit"; /** - * The JSON-serialized value of each item of the @code LocalSecondaryIndexes @endcode request field. + The JSON-serialized value of each item of the @code LocalSecondaryIndexes @endcode request field. */ static constexpr const char *kAwsDynamodbLocalSecondaryIndexes = "aws.dynamodb.local_secondary_indexes"; /** - * The value of the @code ProjectionExpression @endcode request parameter. + The value of the @code ProjectionExpression @endcode request parameter. */ static constexpr const char *kAwsDynamodbProjection = "aws.dynamodb.projection"; /** - * The value of the @code ProvisionedThroughput.ReadCapacityUnits @endcode request parameter. + The value of the @code ProvisionedThroughput.ReadCapacityUnits @endcode request parameter. */ static constexpr const char *kAwsDynamodbProvisionedReadCapacity = "aws.dynamodb.provisioned_read_capacity"; /** - * The value of the @code ProvisionedThroughput.WriteCapacityUnits @endcode request parameter. + The value of the @code ProvisionedThroughput.WriteCapacityUnits @endcode request parameter. */ static constexpr const char *kAwsDynamodbProvisionedWriteCapacity = "aws.dynamodb.provisioned_write_capacity"; /** - * The value of the @code ScanIndexForward @endcode request parameter. + The value of the @code ScanIndexForward @endcode request parameter. */ static constexpr const char *kAwsDynamodbScanForward = "aws.dynamodb.scan_forward"; /** - * The value of the @code ScannedCount @endcode response parameter. + The value of the @code ScannedCount @endcode response parameter. */ static constexpr const char *kAwsDynamodbScannedCount = "aws.dynamodb.scanned_count"; /** - * The value of the @code Segment @endcode request parameter. + The value of the @code Segment @endcode request parameter. */ static constexpr const char *kAwsDynamodbSegment = "aws.dynamodb.segment"; /** - * The value of the @code Select @endcode request parameter. + The value of the @code Select @endcode request parameter. */ static constexpr const char *kAwsDynamodbSelect = "aws.dynamodb.select"; /** - * The number of items in the @code TableNames @endcode response parameter. + The number of items in the @code TableNames @endcode response parameter. */ static constexpr const char *kAwsDynamodbTableCount = "aws.dynamodb.table_count"; /** - * The keys in the @code RequestItems @endcode object field. + The keys in the @code RequestItems @endcode object field. */ static constexpr const char *kAwsDynamodbTableNames = "aws.dynamodb.table_names"; /** - * The value of the @code TotalSegments @endcode request parameter. + The value of the @code TotalSegments @endcode request parameter. */ static constexpr const char *kAwsDynamodbTotalSegments = "aws.dynamodb.total_segments"; /** - * The ARN of an ECS cluster. + 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. + 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. + The launch + type for an ECS task. */ static constexpr const char *kAwsEcsLaunchtype = "aws.ecs.launchtype"; /** - * The ARN of a running ECS - * task. + 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. + The family name of the ECS task + definition used to create the ECS task. */ static constexpr const char *kAwsEcsTaskFamily = "aws.ecs.task.family"; /** - * The ID of a running ECS task. The ID MUST be extracted from @code task.arn @endcode. + The ID of a running ECS task. The ID MUST be extracted from @code task.arn @endcode. */ static constexpr const char *kAwsEcsTaskId = "aws.ecs.task.id"; /** - * The revision for the task definition used to create the ECS task. + The revision for the task definition used to create the ECS task. */ static constexpr const char *kAwsEcsTaskRevision = "aws.ecs.task.revision"; /** - * The ARN of an EKS cluster. + The ARN of an EKS cluster. */ static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn"; /** - * The AWS extended request ID as returned in the response header @code x-amz-id-2 @endcode. + The AWS extended request ID as returned in the response header @code x-amz-id-2 @endcode. */ static constexpr const char *kAwsExtendedRequestId = "aws.extended_request_id"; /** - * The name of the AWS Kinesis stream the request - * refers to. Corresponds to the @code --stream-name @endcode parameter of the Kinesis describe-stream - * operation. + The name of the AWS Kinesis stream the request + refers to. Corresponds to the @code --stream-name @endcode parameter of the Kinesis describe-stream + operation. */ static constexpr const char *kAwsKinesisStreamName = "aws.kinesis.stream_name"; /** - * The full invoked ARN as provided on the @code Context @endcode passed to the function (@code - * Lambda-Runtime-Invoked-Function-Arn @endcode header on the @code /runtime/invocation/next - * @endcode applicable).

This may be different from @code cloud.resource_id @endcode if an alias - * is involved. + The full invoked ARN as provided on the @code Context @endcode passed to the function (@code + Lambda-Runtime-Invoked-Function-Arn @endcode header on the @code /runtime/invocation/next @endcode + applicable).

This may be different from @code cloud.resource_id @endcode if an alias is + involved. */ static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn"; /** - * The UUID of the AWS - * Lambda EvenSource Mapping. An event source is mapped to a lambda function. It's contents are - * read by Lambda and used to trigger a function. This isn't available in the lambda execution - * context or the lambda runtime environtment. This is going to be populated by the AWS SDK for each - * language when that UUID is present. Some of these operations are Create/Delete/Get/List/Update - * EventSourceMapping. + The UUID of the AWS + Lambda EvenSource Mapping. An event source is mapped to a lambda function. It's contents are + read by Lambda and used to trigger a function. This isn't available in the lambda execution + context or the lambda runtime environtment. This is going to be populated by the AWS SDK for each + language when that UUID is present. Some of these operations are Create/Delete/Get/List/Update + EventSourceMapping. */ static constexpr const char *kAwsLambdaResourceMappingId = "aws.lambda.resource_mapping.id"; /** - * The Amazon Resource Name(s) (ARN) of the AWS log group(s). - *

- * See the log - * group ARN format documentation. + The Amazon Resource Name(s) (ARN) of the AWS log group(s). +

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

- * Multiple log groups must be supported for cases like multi-container applications, where a single - * application has sidecar containers, and each write to their own log group. + The name(s) of the AWS log group(s) an application is writing to. +

+ Multiple log groups must be supported for cases like multi-container applications, where a single + application has sidecar containers, and each write to their own log group. */ static constexpr const char *kAwsLogGroupNames = "aws.log.group.names"; /** - * The ARN(s) of the AWS log stream(s). - *

- * See the log - * stream ARN format documentation. One log group can contain several log streams, so these ARNs - * necessarily identify both a log group and a log stream. + The ARN(s) of the AWS log stream(s). +

+ See the log + stream ARN format documentation. One log group can contain several log streams, so these ARNs + necessarily identify both a log group and a log stream. */ static constexpr const char *kAwsLogStreamArns = "aws.log.stream.arns"; /** - * The name(s) of the AWS log stream(s) an application is writing to. + The name(s) of the AWS log stream(s) an application is writing to. */ static constexpr const char *kAwsLogStreamNames = "aws.log.stream.names"; /** - * The AWS request ID as returned in the response headers @code x-amzn-requestid @endcode, @code - * x-amzn-request-id @endcode or @code x-amz-request-id @endcode. + The AWS request ID as returned in the response headers @code x-amzn-requestid @endcode, @code + x-amzn-request-id @endcode or @code x-amz-request-id @endcode. */ static constexpr const char *kAwsRequestId = "aws.request_id"; /** - * The S3 bucket name the request refers to. Corresponds to the @code --bucket @endcode parameter of - * the S3 API - * operations.

The @code bucket @endcode attribute is applicable to all S3 operations that - * reference a bucket, i.e. that require the bucket name as a mandatory parameter. This applies to - * almost all S3 operations except @code list-buckets @endcode. + The S3 bucket name the request refers to. Corresponds to the @code --bucket @endcode parameter of + the S3 API + operations.

The @code bucket @endcode attribute is applicable to all S3 operations that + reference a bucket, i.e. that require the bucket name as a mandatory parameter. This applies to + almost all S3 operations except @code list-buckets @endcode. */ static constexpr const char *kAwsS3Bucket = "aws.s3.bucket"; /** - * The source object (in the form @code bucket @endcode/@code key @endcode) for the copy operation. - *

- * The @code copy_source @endcode attribute applies to S3 copy operations and corresponds to the - * @code --copy-source @endcode parameter of the copy-object - * operation within the S3 API. This applies in particular to the following operations:

+ The source object (in the form @code bucket @endcode/@code key @endcode) for the copy operation. +

+ The @code copy_source @endcode attribute applies to S3 copy operations and corresponds to the + @code --copy-source @endcode parameter of the copy-object + operation within the S3 API. This applies in particular to the following operations:

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

- * The @code delete @endcode attribute is only applicable to the delete-object - * operation. The @code delete @endcode attribute corresponds to the @code --delete @endcode - * parameter of the delete-objects - * operation within the S3 API. + The delete request container that specifies the objects to be deleted. +

+ The @code delete @endcode attribute is only applicable to the delete-object + operation. The @code delete @endcode attribute corresponds to the @code --delete @endcode + parameter of the delete-objects + operation within the S3 API. */ static constexpr const char *kAwsS3Delete = "aws.s3.delete"; /** - * The S3 object key the request refers to. Corresponds to the @code --key @endcode parameter of the - * S3 API - * operations.

The @code key @endcode attribute is applicable to all object-related S3 - * operations, i.e. that require the object key as a mandatory parameter. This applies in particular - * to the following operations:

+ The S3 object key the request refers to. Corresponds to the @code --key @endcode parameter of the + S3 API operations. +

+ The @code key @endcode attribute is applicable to all object-related S3 operations, i.e. that + require the object key as a mandatory parameter. This applies in particular to the following + operations:

*/ 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.

The @code part_number @endcode attribute is only applicable to - * the upload-part - * and upload-part-copy - * operations. The @code part_number @endcode attribute corresponds to the @code --part-number - * @endcode parameter of the upload-part - * operation within the S3 API. + The part number of the part being uploaded in a multipart-upload operation. This is a positive + integer between 1 and 10,000.

The @code part_number @endcode attribute is only applicable to + the upload-part and + upload-part-copy + operations. The @code part_number @endcode attribute corresponds to the @code --part-number + @endcode parameter of the upload-part + operation within the S3 API. */ static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number"; /** - * Upload ID that identifies the multipart upload. - *

- * The @code upload_id @endcode attribute applies to S3 multipart-upload operations and corresponds - * to the @code --upload-id @endcode parameter of the S3 API multipart - * operations. This applies in particular to the following operations:

+ Upload ID that identifies the multipart upload. +

+ The @code upload_id @endcode attribute applies to S3 multipart-upload operations and corresponds + to the @code --upload-id @endcode parameter of the S3 API multipart + operations. This applies in particular to the following operations:

*/ static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id"; /** - * The ARN of the Secret stored in the Secrets Mangger + The ARN of the Secret stored in the Secrets Mangger */ static constexpr const char *kAwsSecretsmanagerSecretArn = "aws.secretsmanager.secret.arn"; /** - * The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical - * access point that acts as a communication channel. + The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical + access point that acts as a communication channel. */ static constexpr const char *kAwsSnsTopicArn = "aws.sns.topic.arn"; /** - * The URL of the AWS SQS Queue. It's a unique identifier for a queue in Amazon Simple Queue Service - * (SQS) and is used to access the queue and perform actions on it. + The URL of the AWS SQS Queue. It's a unique identifier for a queue in Amazon Simple Queue Service + (SQS) and is used to access the queue and perform actions on it. */ static constexpr const char *kAwsSqsQueueUrl = "aws.sqs.queue.url"; /** - * The ARN of the AWS Step Functions Activity. + The ARN of the AWS Step Functions Activity. */ static constexpr const char *kAwsStepFunctionsActivityArn = "aws.step_functions.activity.arn"; /** - * The ARN of the AWS Step Functions State Machine. + The ARN of the AWS Step Functions State Machine. */ static constexpr const char *kAwsStepFunctionsStateMachineArn = "aws.step_functions.state_machine.arn"; @@ -409,12 +409,12 @@ static constexpr const char *kAwsStepFunctionsStateMachineArn = namespace AwsEcsLaunchtypeValues { /** - * none + none */ static constexpr const char *kEc2 = "ec2"; /** - * none + none */ static constexpr const char *kFargate = "fargate"; diff --git a/api/include/opentelemetry/semconv/incubating/az_attributes.h b/api/include/opentelemetry/semconv/incubating/az_attributes.h index 2ce360d870..e396476f95 100644 --- a/api/include/opentelemetry/semconv/incubating/az_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/az_attributes.h @@ -20,15 +20,15 @@ namespace az { /** - * Azure - * Resource Provider Namespace as recognized by the client. + Azure + Resource Provider Namespace as recognized by the client. */ static constexpr const char *kAzNamespace = "az.namespace"; /** - * The unique identifier of the service request. It's generated by the Azure service and returned - * with the response. + The unique identifier of the service request. It's generated by the Azure service and returned + with the response. */ static constexpr const char *kAzServiceRequestId = "az.service_request_id"; diff --git a/api/include/opentelemetry/semconv/incubating/azure_attributes.h b/api/include/opentelemetry/semconv/incubating/azure_attributes.h index 529265efe1..421f3e65db 100644 --- a/api/include/opentelemetry/semconv/incubating/azure_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/azure_attributes.h @@ -20,44 +20,44 @@ namespace azure { /** - * The unique identifier of the client instance. + The unique identifier of the client instance. */ static constexpr const char *kAzureClientId = "azure.client.id"; /** - * Cosmos client connection mode. + Cosmos client connection mode. */ static constexpr const char *kAzureCosmosdbConnectionMode = "azure.cosmosdb.connection.mode"; /** - * Account or request consistency level. + Account or request consistency level. */ static constexpr const char *kAzureCosmosdbConsistencyLevel = "azure.cosmosdb.consistency.level"; /** - * List of regions contacted during operation in the order that they were contacted. If there is - * more than one region listed, it indicates that the operation was performed on multiple regions - * i.e. cross-regional call.

Region name matches the format of @code displayName @endcode in Azure - * Location API + List of regions contacted during operation in the order that they were contacted. If there is more + than one region listed, it indicates that the operation was performed on multiple regions i.e. + cross-regional call.

Region name matches the format of @code displayName @endcode in Azure + Location API */ static constexpr const char *kAzureCosmosdbOperationContactedRegions = "azure.cosmosdb.operation.contacted_regions"; /** - * The number of request units consumed by the operation. + The number of request units consumed by the operation. */ static constexpr const char *kAzureCosmosdbOperationRequestCharge = "azure.cosmosdb.operation.request_charge"; /** - * Request payload size in bytes. + Request payload size in bytes. */ static constexpr const char *kAzureCosmosdbRequestBodySize = "azure.cosmosdb.request.body.size"; /** - * Cosmos DB sub status code. + Cosmos DB sub status code. */ static constexpr const char *kAzureCosmosdbResponseSubStatusCode = "azure.cosmosdb.response.sub_status_code"; @@ -65,12 +65,12 @@ static constexpr const char *kAzureCosmosdbResponseSubStatusCode = namespace AzureCosmosdbConnectionModeValues { /** - * Gateway (HTTP) connection. + Gateway (HTTP) connection. */ static constexpr const char *kGateway = "gateway"; /** - * Direct connection. + Direct connection. */ static constexpr const char *kDirect = "direct"; @@ -79,27 +79,27 @@ static constexpr const char *kDirect = "direct"; namespace AzureCosmosdbConsistencyLevelValues { /** - * none + none */ static constexpr const char *kStrong = "Strong"; /** - * none + none */ static constexpr const char *kBoundedStaleness = "BoundedStaleness"; /** - * none + none */ static constexpr const char *kSession = "Session"; /** - * none + none */ static constexpr const char *kEventual = "Eventual"; /** - * none + none */ static constexpr const char *kConsistentPrefix = "ConsistentPrefix"; diff --git a/api/include/opentelemetry/semconv/incubating/azure_metrics.h b/api/include/opentelemetry/semconv/incubating/azure_metrics.h index 63f4556b0b..fb60c3ce53 100644 --- a/api/include/opentelemetry/semconv/incubating/azure_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/azure_metrics.h @@ -21,9 +21,9 @@ namespace azure { /** - * Number of active client instances - *

- * updowncounter + Number of active client instances +

+ updowncounter */ static constexpr const char *kMetricAzureCosmosdbClientActiveInstanceCount = "azure.cosmosdb.client.active_instance.count"; @@ -66,8 +66,8 @@ CreateAsyncDoubleMetricAzureCosmosdbClientActiveInstanceCount(metrics::Meter *me } /** - * Request units consumed by - * the operation

histogram + Request units consumed by + the operation

histogram */ static constexpr const char *kMetricAzureCosmosdbClientOperationRequestCharge = "azure.cosmosdb.client.operation.request_charge"; diff --git a/api/include/opentelemetry/semconv/incubating/browser_attributes.h b/api/include/opentelemetry/semconv/incubating/browser_attributes.h index 5ddb61eae5..e166ed495c 100644 --- a/api/include/opentelemetry/semconv/incubating/browser_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/browser_attributes.h @@ -20,43 +20,43 @@ namespace browser { /** - * Array of brand name and version separated by a space - *

- * This value is intended to be taken from the UA client hints API (@code - * navigator.userAgentData.brands @endcode). + Array of brand name and version separated by a space +

+ This value is intended to be taken from the UA client hints API (@code + navigator.userAgentData.brands @endcode). */ static constexpr const char *kBrowserBrands = "browser.brands"; /** - * Preferred language of the user using the browser - *

- * This value is intended to be taken from the Navigator API @code navigator.language @endcode. + Preferred language of the user using the browser +

+ This value is intended to be taken from the Navigator API @code navigator.language @endcode. */ static constexpr const char *kBrowserLanguage = "browser.language"; /** - * A boolean that is true if the browser is running on a mobile device - *

- * This value is intended to be taken from the UA client hints API (@code - * navigator.userAgentData.mobile @endcode). If unavailable, this attribute SHOULD be left unset. + A boolean that is true if the browser is running on a mobile device +

+ This value is intended to be taken from the UA client hints API (@code + navigator.userAgentData.mobile @endcode). If unavailable, this attribute SHOULD be left unset. */ static constexpr const char *kBrowserMobile = "browser.mobile"; /** - * The platform on which the browser is running - *

- * This value is intended to be taken from the UA client hints API (@code - * navigator.userAgentData.platform @endcode). If unavailable, the legacy @code navigator.platform - * @endcode API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the - * values to be consistent. The list of possible values is defined in the W3C User-Agent Client Hints - * specification. Note that some (but not all) of these values can overlap with values in the @code os.type @endcode and @code os.name @endcode attributes. However, for - * consistency, the values in the @code browser.platform @endcode attribute should capture the exact - * value that the user agent provides. + The platform on which the browser is running +

+ This value is intended to be taken from the UA client hints API (@code + navigator.userAgentData.platform @endcode). If unavailable, the legacy @code navigator.platform + @endcode API SHOULD NOT be used instead and this attribute SHOULD be left unset in order for the + values to be consistent. The list of possible values is defined in the W3C User-Agent Client Hints + specification. Note that some (but not all) of these values can overlap with values in the @code os.type @endcode and @code os.name @endcode attributes. However, for + consistency, the values in the @code browser.platform @endcode attribute should capture the exact + value that the user agent provides. */ static constexpr const char *kBrowserPlatform = "browser.platform"; diff --git a/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h b/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h index 8e3d38c8db..88a71ba5dd 100644 --- a/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h @@ -20,34 +20,34 @@ namespace cassandra { /** - * The consistency level of the query. Based on consistency values from CQL. + The consistency level of the query. Based on consistency values from CQL. */ static constexpr const char *kCassandraConsistencyLevel = "cassandra.consistency.level"; /** - * The data center of the coordinating node for a query. + The data center of the coordinating node for a query. */ static constexpr const char *kCassandraCoordinatorDc = "cassandra.coordinator.dc"; /** - * The ID of the coordinating node for a query. + The ID of the coordinating node for a query. */ static constexpr const char *kCassandraCoordinatorId = "cassandra.coordinator.id"; /** - * The fetch size used for paging, i.e. how many rows will be returned at once. + The fetch size used for paging, i.e. how many rows will be returned at once. */ static constexpr const char *kCassandraPageSize = "cassandra.page.size"; /** - * Whether or not the query is idempotent. + Whether or not the query is idempotent. */ static constexpr const char *kCassandraQueryIdempotent = "cassandra.query.idempotent"; /** - * The number of times a query was speculatively executed. Not set or @code 0 @endcode if the query - * was not executed speculatively. + The number of times a query was speculatively executed. Not set or @code 0 @endcode if the query + was not executed speculatively. */ static constexpr const char *kCassandraSpeculativeExecutionCount = "cassandra.speculative_execution.count"; @@ -55,57 +55,57 @@ static constexpr const char *kCassandraSpeculativeExecutionCount = namespace CassandraConsistencyLevelValues { /** - * none + none */ static constexpr const char *kAll = "all"; /** - * none + none */ static constexpr const char *kEachQuorum = "each_quorum"; /** - * none + none */ static constexpr const char *kQuorum = "quorum"; /** - * none + none */ static constexpr const char *kLocalQuorum = "local_quorum"; /** - * none + none */ static constexpr const char *kOne = "one"; /** - * none + none */ static constexpr const char *kTwo = "two"; /** - * none + none */ static constexpr const char *kThree = "three"; /** - * none + none */ static constexpr const char *kLocalOne = "local_one"; /** - * none + none */ static constexpr const char *kAny = "any"; /** - * none + none */ static constexpr const char *kSerial = "serial"; /** - * none + none */ static constexpr const char *kLocalSerial = "local_serial"; diff --git a/api/include/opentelemetry/semconv/incubating/cicd_attributes.h b/api/include/opentelemetry/semconv/incubating/cicd_attributes.h index c199a572e8..a9555a2d26 100644 --- a/api/include/opentelemetry/semconv/incubating/cicd_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cicd_attributes.h @@ -20,104 +20,104 @@ namespace cicd { /** - * The kind of action a pipeline run is performing. + The kind of action a pipeline run is performing. */ static constexpr const char *kCicdPipelineActionName = "cicd.pipeline.action.name"; /** - * The human readable name of the pipeline within a CI/CD system. + The human readable name of the pipeline within a CI/CD system. */ static constexpr const char *kCicdPipelineName = "cicd.pipeline.name"; /** - * The result of a pipeline run. + The result of a pipeline run. */ static constexpr const char *kCicdPipelineResult = "cicd.pipeline.result"; /** - * The unique identifier of a pipeline run within a CI/CD system. + The unique identifier of a pipeline run within a CI/CD system. */ static constexpr const char *kCicdPipelineRunId = "cicd.pipeline.run.id"; /** - * The pipeline run goes through these states during its lifecycle. + The pipeline run goes through these states during its lifecycle. */ static constexpr const char *kCicdPipelineRunState = "cicd.pipeline.run.state"; /** - * The URL of the pipeline run, providing the complete - * address in order to locate and identify the pipeline run. + The URL of the pipeline run, providing the complete + address in order to locate and identify the pipeline run. */ static constexpr const char *kCicdPipelineRunUrlFull = "cicd.pipeline.run.url.full"; /** - * The human readable name of a task within a pipeline. Task here most closely aligns with a computing process in a pipeline. Other - * terms for tasks include commands, steps, and procedures. + The human readable name of a task within a pipeline. Task here most closely aligns with a computing process in a pipeline. Other + terms for tasks include commands, steps, and procedures. */ static constexpr const char *kCicdPipelineTaskName = "cicd.pipeline.task.name"; /** - * The unique identifier of a task run within a pipeline. + The unique identifier of a task run within a pipeline. */ static constexpr const char *kCicdPipelineTaskRunId = "cicd.pipeline.task.run.id"; /** - * The result of a task run. + The result of a task run. */ static constexpr const char *kCicdPipelineTaskRunResult = "cicd.pipeline.task.run.result"; /** - * The URL of the pipeline task run, providing the - * complete address in order to locate and identify the pipeline task run. + The URL of the pipeline task run, providing the + complete address in order to locate and identify the pipeline task run. */ static constexpr const char *kCicdPipelineTaskRunUrlFull = "cicd.pipeline.task.run.url.full"; /** - * The type of the task within a pipeline. + The type of the task within a pipeline. */ static constexpr const char *kCicdPipelineTaskType = "cicd.pipeline.task.type"; /** - * The name of a component of the CICD system. + The name of a component of the CICD system. */ static constexpr const char *kCicdSystemComponent = "cicd.system.component"; /** - * The unique identifier of a worker within a CICD system. + The unique identifier of a worker within a CICD system. */ static constexpr const char *kCicdWorkerId = "cicd.worker.id"; /** - * The name of a worker within a CICD system. + The name of a worker within a CICD system. */ static constexpr const char *kCicdWorkerName = "cicd.worker.name"; /** - * The state of a CICD worker / agent. + The state of a CICD worker / agent. */ static constexpr const char *kCicdWorkerState = "cicd.worker.state"; /** - * The URL of the worker, providing the complete - * address in order to locate and identify the worker. + The URL of the worker, providing the complete address + in order to locate and identify the worker. */ static constexpr const char *kCicdWorkerUrlFull = "cicd.worker.url.full"; namespace CicdPipelineActionNameValues { /** - * The pipeline run is executing a build. + The pipeline run is executing a build. */ static constexpr const char *kBuild = "BUILD"; /** - * The pipeline run is executing. + The pipeline run is executing. */ static constexpr const char *kRun = "RUN"; /** - * The pipeline run is executing a sync. + The pipeline run is executing a sync. */ static constexpr const char *kSync = "SYNC"; @@ -126,33 +126,33 @@ static constexpr const char *kSync = "SYNC"; namespace CicdPipelineResultValues { /** - * The pipeline run finished successfully. + The pipeline run finished successfully. */ static constexpr const char *kSuccess = "success"; /** - * The pipeline run did not finish successfully, eg. due to a compile error or a failing test. Such - * failures are usually detected by non-zero exit codes of the tools executed in the pipeline run. + The pipeline run did not finish successfully, eg. due to a compile error or a failing test. Such + failures are usually detected by non-zero exit codes of the tools executed in the pipeline run. */ static constexpr const char *kFailure = "failure"; /** - * The pipeline run failed due to an error in the CICD system, eg. due to the worker being killed. + The pipeline run failed due to an error in the CICD system, eg. due to the worker being killed. */ static constexpr const char *kError = "error"; /** - * A timeout caused the pipeline run to be interrupted. + A timeout caused the pipeline run to be interrupted. */ static constexpr const char *kTimeout = "timeout"; /** - * The pipeline run was cancelled, eg. by a user manually cancelling the pipeline run. + The pipeline run was cancelled, eg. by a user manually cancelling the pipeline run. */ static constexpr const char *kCancellation = "cancellation"; /** - * The pipeline run was skipped, eg. due to a precondition not being met. + The pipeline run was skipped, eg. due to a precondition not being met. */ static constexpr const char *kSkip = "skip"; @@ -161,19 +161,19 @@ static constexpr const char *kSkip = "skip"; namespace CicdPipelineRunStateValues { /** - * The run pending state spans from the event triggering the pipeline run until the execution of the - * run starts (eg. time spent in a queue, provisioning agents, creating run resources). + The run pending state spans from the event triggering the pipeline run until the execution of the + run starts (eg. time spent in a queue, provisioning agents, creating run resources). */ static constexpr const char *kPending = "pending"; /** - * The executing state spans the execution of any run tasks (eg. build, test). + The executing state spans the execution of any run tasks (eg. build, test). */ static constexpr const char *kExecuting = "executing"; /** - * The finalizing state spans from when the run has finished executing (eg. cleanup of run - * resources). + The finalizing state spans from when the run has finished executing (eg. cleanup of run + resources). */ static constexpr const char *kFinalizing = "finalizing"; @@ -182,33 +182,33 @@ static constexpr const char *kFinalizing = "finalizing"; namespace CicdPipelineTaskRunResultValues { /** - * The task run finished successfully. + The task run finished successfully. */ static constexpr const char *kSuccess = "success"; /** - * The task run did not finish successfully, eg. due to a compile error or a failing test. Such - * failures are usually detected by non-zero exit codes of the tools executed in the task run. + The task run did not finish successfully, eg. due to a compile error or a failing test. Such + failures are usually detected by non-zero exit codes of the tools executed in the task run. */ static constexpr const char *kFailure = "failure"; /** - * The task run failed due to an error in the CICD system, eg. due to the worker being killed. + The task run failed due to an error in the CICD system, eg. due to the worker being killed. */ static constexpr const char *kError = "error"; /** - * A timeout caused the task run to be interrupted. + A timeout caused the task run to be interrupted. */ static constexpr const char *kTimeout = "timeout"; /** - * The task run was cancelled, eg. by a user manually cancelling the task run. + The task run was cancelled, eg. by a user manually cancelling the task run. */ static constexpr const char *kCancellation = "cancellation"; /** - * The task run was skipped, eg. due to a precondition not being met. + The task run was skipped, eg. due to a precondition not being met. */ static constexpr const char *kSkip = "skip"; @@ -217,17 +217,17 @@ static constexpr const char *kSkip = "skip"; namespace CicdPipelineTaskTypeValues { /** - * build + build */ static constexpr const char *kBuild = "build"; /** - * test + test */ static constexpr const char *kTest = "test"; /** - * deploy + deploy */ static constexpr const char *kDeploy = "deploy"; @@ -236,18 +236,18 @@ static constexpr const char *kDeploy = "deploy"; namespace CicdWorkerStateValues { /** - * The worker is not performing work for the CICD system. It is available to the CICD system to - * perform work on (online / idle). + The worker is not performing work for the CICD system. It is available to the CICD system to + perform work on (online / idle). */ static constexpr const char *kAvailable = "available"; /** - * The worker is performing work for the CICD system. + The worker is performing work for the CICD system. */ static constexpr const char *kBusy = "busy"; /** - * The worker is not available to the CICD system (disconnected / down). + The worker is not available to the CICD system (disconnected / down). */ static constexpr const char *kOffline = "offline"; diff --git a/api/include/opentelemetry/semconv/incubating/cicd_metrics.h b/api/include/opentelemetry/semconv/incubating/cicd_metrics.h index 993c2636f4..18752b53a1 100644 --- a/api/include/opentelemetry/semconv/incubating/cicd_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/cicd_metrics.h @@ -21,9 +21,9 @@ namespace cicd { /** - * The number of pipeline runs currently active in the system by state. - *

- * updowncounter + The number of pipeline runs currently active in the system by state. +

+ updowncounter */ static constexpr const char *kMetricCicdPipelineRunActive = "cicd.pipeline.run.active"; static constexpr const char *descrMetricCicdPipelineRunActive = @@ -63,9 +63,9 @@ CreateAsyncDoubleMetricCicdPipelineRunActive(metrics::Meter *meter) } /** - * Duration of a pipeline run grouped by pipeline, state and result. - *

- * histogram + Duration of a pipeline run grouped by pipeline, state and result. +

+ histogram */ static constexpr const char *kMetricCicdPipelineRunDuration = "cicd.pipeline.run.duration"; static constexpr const char *descrMetricCicdPipelineRunDuration = @@ -89,12 +89,12 @@ CreateSyncDoubleMetricCicdPipelineRunDuration(metrics::Meter *meter) } /** - * The number of errors encountered in pipeline runs (eg. compile, test failures). - *

- * There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a - * parallel stage multiple stages could have a fatal error. This means that this error count might - * not be the same as the count of metric @code cicd.pipeline.run.duration @endcode with run result - * @code failure @endcode.

counter + The number of errors encountered in pipeline runs (eg. compile, test failures). +

+ There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a + parallel stage multiple stages could have a fatal error. This means that this error count might + not be the same as the count of metric @code cicd.pipeline.run.duration @endcode with run result + @code failure @endcode.

counter */ static constexpr const char *kMetricCicdPipelineRunErrors = "cicd.pipeline.run.errors"; static constexpr const char *descrMetricCicdPipelineRunErrors = @@ -132,10 +132,10 @@ CreateAsyncDoubleMetricCicdPipelineRunErrors(metrics::Meter *meter) } /** - * The number of errors in a component of the CICD system (eg. controller, scheduler, agent). - *

- * Errors in pipeline run execution are explicitly excluded. Ie a test failure is not counted in - * this metric.

counter + The number of errors in a component of the CICD system (eg. controller, scheduler, agent). +

+ Errors in pipeline run execution are explicitly excluded. Ie a test failure is not counted in this + metric.

counter */ static constexpr const char *kMetricCicdSystemErrors = "cicd.system.errors"; static constexpr const char *descrMetricCicdSystemErrors = @@ -171,9 +171,9 @@ CreateAsyncDoubleMetricCicdSystemErrors(metrics::Meter *meter) } /** - * The number of workers on the CICD system by state. - *

- * updowncounter + The number of workers on the CICD system by state. +

+ updowncounter */ static constexpr const char *kMetricCicdWorkerCount = "cicd.worker.count"; static constexpr const char *descrMetricCicdWorkerCount = diff --git a/api/include/opentelemetry/semconv/incubating/client_attributes.h b/api/include/opentelemetry/semconv/incubating/client_attributes.h index ec984cc406..7f944176dd 100644 --- a/api/include/opentelemetry/semconv/incubating/client_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/client_attributes.h @@ -20,19 +20,19 @@ namespace client { /** - * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or - * Unix domain socket name.

When observed from the server side, and when communicating through - * an intermediary, @code client.address @endcode SHOULD represent the client address behind any - * intermediaries, for example proxies, if it's available. + Client address - domain name if available without reverse DNS lookup; otherwise, IP address or + Unix domain socket name.

When observed from the server side, and when communicating through an + intermediary, @code client.address @endcode SHOULD represent the client address behind any + intermediaries, for example proxies, if it's available. */ static constexpr const char *kClientAddress = "client.address"; /** - * Client port number. - *

- * When observed from the server side, and when communicating through an intermediary, @code - * client.port @endcode SHOULD represent the client port behind any intermediaries, for example - * proxies, if it's available. + Client port number. +

+ When observed from the server side, and when communicating through an intermediary, @code + client.port @endcode SHOULD represent the client port behind any intermediaries, for example + proxies, if it's available. */ static constexpr const char *kClientPort = "client.port"; diff --git a/api/include/opentelemetry/semconv/incubating/cloud_attributes.h b/api/include/opentelemetry/semconv/incubating/cloud_attributes.h index 191915f985..f00c204a5f 100644 --- a/api/include/opentelemetry/semconv/incubating/cloud_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cloud_attributes.h @@ -20,219 +20,219 @@ namespace cloud { /** - * The cloud account ID the resource is assigned to. + 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.

Availability zones are - * called "zones" on Alibaba Cloud and Google Cloud. + Cloud regions often have multiple, isolated locations known as zones to increase availability. + Availability zone represents the zone where the resource is running.

Availability zones are + called "zones" on Alibaba Cloud and Google Cloud. */ static constexpr const char *kCloudAvailabilityZone = "cloud.availability_zone"; /** - * The cloud platform in use. - *

- * The prefix of the service SHOULD match the one specified in @code cloud.provider @endcode. + The cloud platform in use. +

+ The prefix of the service SHOULD match the one specified in @code cloud.provider @endcode. */ static constexpr const char *kCloudPlatform = "cloud.platform"; /** - * Name of the cloud provider. + Name of the cloud provider. */ static constexpr const char *kCloudProvider = "cloud.provider"; /** - * The geographical region within a cloud provider. When associated with a resource, this attribute - * specifies the region where the resource operates. When calling services or APIs deployed on a - * cloud, this attribute identifies the region where the called destination is deployed.

Refer - * to your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions. + The geographical region within a cloud provider. When associated with a resource, this attribute + specifies the region where the resource operates. When calling services or APIs deployed on a + cloud, this attribute identifies the region where the called destination is deployed.

Refer to + your provider's docs to see the available regions, for example Alibaba Cloud regions, AWS regions, Azure regions, Google Cloud regions, or Tencent Cloud regions. */ static constexpr const char *kCloudRegion = "cloud.region"; /** - * Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, - * a fully qualified - * resource ID on Azure, a full - * resource name on GCP)

On some cloud providers, it may not be possible to determine the - * full ID at startup, so it may be necessary to set @code cloud.resource_id @endcode as a span - * attribute instead.

The exact value to use for @code cloud.resource_id @endcode depends on the - * cloud provider. The following well-known definitions MUST be used if you set this attribute and - * they apply:

  • AWS Lambda: The function ARN. Take - * care not to use the "invoked ARN" directly but replace any alias suffix - * with the resolved function version, as the same runtime instance may be invocable with - * multiple different aliases.
  • - *
  • GCP: The URI of the resource
  • - *
  • Azure: The Fully Qualified Resource - * ID of the invoked function, not the function app, having the form - * @code - * /subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/ - * @endcode. This means that a span attribute MUST be used, as an Azure function app can host - * multiple functions that would usually share a TracerProvider.
  • - *
+ Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, + a fully qualified + resource ID on Azure, a full resource + name on GCP)

On some cloud providers, it may not be possible to determine the full ID at + startup, so it may be necessary to set @code cloud.resource_id @endcode as a span attribute + instead.

The exact value to use for @code cloud.resource_id @endcode depends on the cloud + provider. The following well-known definitions MUST be used if you set this attribute and they + apply:

  • AWS Lambda: The function ARN. Take + care not to use the "invoked ARN" directly but replace any alias suffix + with the resolved function version, as the same runtime instance may be invocable with + multiple different aliases.
  • +
  • GCP: The URI of the resource
  • +
  • Azure: The Fully Qualified Resource + ID of the invoked function, not the function app, having the form + @code + /subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/ + @endcode. This means that a span attribute MUST be used, as an Azure function app can host + multiple functions that would usually share a TracerProvider.
  • +
*/ static constexpr const char *kCloudResourceId = "cloud.resource_id"; namespace CloudPlatformValues { /** - * Alibaba Cloud Elastic Compute Service + Alibaba Cloud Elastic Compute Service */ static constexpr const char *kAlibabaCloudEcs = "alibaba_cloud_ecs"; /** - * Alibaba Cloud Function Compute + Alibaba Cloud Function Compute */ static constexpr const char *kAlibabaCloudFc = "alibaba_cloud_fc"; /** - * Red Hat OpenShift on Alibaba Cloud + Red Hat OpenShift on Alibaba Cloud */ static constexpr const char *kAlibabaCloudOpenshift = "alibaba_cloud_openshift"; /** - * AWS Elastic Compute Cloud + AWS Elastic Compute Cloud */ static constexpr const char *kAwsEc2 = "aws_ec2"; /** - * AWS Elastic Container Service + AWS Elastic Container Service */ static constexpr const char *kAwsEcs = "aws_ecs"; /** - * AWS Elastic Kubernetes Service + AWS Elastic Kubernetes Service */ static constexpr const char *kAwsEks = "aws_eks"; /** - * AWS Lambda + AWS Lambda */ static constexpr const char *kAwsLambda = "aws_lambda"; /** - * AWS Elastic Beanstalk + AWS Elastic Beanstalk */ static constexpr const char *kAwsElasticBeanstalk = "aws_elastic_beanstalk"; /** - * AWS App Runner + AWS App Runner */ static constexpr const char *kAwsAppRunner = "aws_app_runner"; /** - * Red Hat OpenShift on AWS (ROSA) + Red Hat OpenShift on AWS (ROSA) */ static constexpr const char *kAwsOpenshift = "aws_openshift"; /** - * Azure Virtual Machines + Azure Virtual Machines */ static constexpr const char *kAzureVm = "azure_vm"; /** - * Azure Container Apps + Azure Container Apps */ static constexpr const char *kAzureContainerApps = "azure_container_apps"; /** - * Azure Container Instances + Azure Container Instances */ static constexpr const char *kAzureContainerInstances = "azure_container_instances"; /** - * Azure Kubernetes Service + Azure Kubernetes Service */ static constexpr const char *kAzureAks = "azure_aks"; /** - * Azure Functions + Azure Functions */ static constexpr const char *kAzureFunctions = "azure_functions"; /** - * Azure App Service + Azure App Service */ static constexpr const char *kAzureAppService = "azure_app_service"; /** - * Azure Red Hat OpenShift + Azure Red Hat OpenShift */ static constexpr const char *kAzureOpenshift = "azure_openshift"; /** - * Google Bare Metal Solution (BMS) + Google Bare Metal Solution (BMS) */ static constexpr const char *kGcpBareMetalSolution = "gcp_bare_metal_solution"; /** - * Google Cloud Compute Engine (GCE) + Google Cloud Compute Engine (GCE) */ static constexpr const char *kGcpComputeEngine = "gcp_compute_engine"; /** - * Google Cloud Run + Google Cloud Run */ static constexpr const char *kGcpCloudRun = "gcp_cloud_run"; /** - * Google Cloud Kubernetes Engine (GKE) + Google Cloud Kubernetes Engine (GKE) */ static constexpr const char *kGcpKubernetesEngine = "gcp_kubernetes_engine"; /** - * Google Cloud Functions (GCF) + Google Cloud Functions (GCF) */ static constexpr const char *kGcpCloudFunctions = "gcp_cloud_functions"; /** - * Google Cloud App Engine (GAE) + Google Cloud App Engine (GAE) */ static constexpr const char *kGcpAppEngine = "gcp_app_engine"; /** - * Red Hat OpenShift on Google Cloud + Red Hat OpenShift on Google Cloud */ static constexpr const char *kGcpOpenshift = "gcp_openshift"; /** - * Red Hat OpenShift on IBM Cloud + Red Hat OpenShift on IBM Cloud */ static constexpr const char *kIbmCloudOpenshift = "ibm_cloud_openshift"; /** - * Compute on Oracle Cloud Infrastructure (OCI) + Compute on Oracle Cloud Infrastructure (OCI) */ static constexpr const char *kOracleCloudCompute = "oracle_cloud_compute"; /** - * Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) + Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI) */ static constexpr const char *kOracleCloudOke = "oracle_cloud_oke"; /** - * Tencent Cloud Cloud Virtual Machine (CVM) + Tencent Cloud Cloud Virtual Machine (CVM) */ static constexpr const char *kTencentCloudCvm = "tencent_cloud_cvm"; /** - * Tencent Cloud Elastic Kubernetes Service (EKS) + Tencent Cloud Elastic Kubernetes Service (EKS) */ static constexpr const char *kTencentCloudEks = "tencent_cloud_eks"; /** - * Tencent Cloud Serverless Cloud Function (SCF) + Tencent Cloud Serverless Cloud Function (SCF) */ static constexpr const char *kTencentCloudScf = "tencent_cloud_scf"; @@ -241,42 +241,42 @@ static constexpr const char *kTencentCloudScf = "tencent_cloud_scf"; namespace CloudProviderValues { /** - * Alibaba Cloud + Alibaba Cloud */ static constexpr const char *kAlibabaCloud = "alibaba_cloud"; /** - * Amazon Web Services + Amazon Web Services */ static constexpr const char *kAws = "aws"; /** - * Microsoft Azure + Microsoft Azure */ static constexpr const char *kAzure = "azure"; /** - * Google Cloud Platform + Google Cloud Platform */ static constexpr const char *kGcp = "gcp"; /** - * Heroku Platform as a Service + Heroku Platform as a Service */ static constexpr const char *kHeroku = "heroku"; /** - * IBM Cloud + IBM Cloud */ static constexpr const char *kIbmCloud = "ibm_cloud"; /** - * Oracle Cloud Infrastructure (OCI) + Oracle Cloud Infrastructure (OCI) */ static constexpr const char *kOracleCloud = "oracle_cloud"; /** - * Tencent Cloud + Tencent Cloud */ static constexpr const char *kTencentCloud = "tencent_cloud"; diff --git a/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h b/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h index 363feed157..539653c483 100644 --- a/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h @@ -20,36 +20,36 @@ namespace cloudevents { /** - * The event_id - * uniquely identifies the event. + The event_id + uniquely identifies the event. */ static constexpr const char *kCloudeventsEventId = "cloudevents.event_id"; /** - * The source - * identifies the context in which an event happened. + The source + identifies the context in which an event happened. */ static constexpr const char *kCloudeventsEventSource = "cloudevents.event_source"; /** - * The version of - * the CloudEvents specification which the event uses. + The version of + the CloudEvents specification which the event uses. */ static constexpr const char *kCloudeventsEventSpecVersion = "cloudevents.event_spec_version"; /** - * The subject of - * the event in the context of the event producer (identified by source). + The subject of + the event in the context of the event producer (identified by source). */ static constexpr const char *kCloudeventsEventSubject = "cloudevents.event_subject"; /** - * The event_type - * contains a value describing the type of event related to the originating occurrence. + The event_type + contains a value describing the type of event related to the originating occurrence. */ static constexpr const char *kCloudeventsEventType = "cloudevents.event_type"; diff --git a/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h b/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h index a0740e5b38..58dc50d698 100644 --- a/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h @@ -20,119 +20,111 @@ namespace cloudfoundry { /** - * The guid of the application. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.application_id @endcode. This is the same value as - * reported by @code cf app --guid @endcode. + The guid of the application. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.application_id @endcode. This is the same value as + reported by @code cf app --guid @endcode. */ static constexpr const char *kCloudfoundryAppId = "cloudfoundry.app.id"; /** - * The index of the application instance. 0 when just one instance is active. - *

- * CloudFoundry defines the @code instance_id @endcode in the Loggregator v2 envelope. - * It is used for logs and metrics emitted by CloudFoundry. It is - * supposed to contain the application instance index for applications - * deployed on the runtime. - *

- * Application instrumentation should use the value from environment - * variable @code CF_INSTANCE_INDEX @endcode. + The index of the application instance. 0 when just one instance is active. +

+ CloudFoundry defines the @code instance_id @endcode in the Loggregator v2 envelope. It + is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the application + instance index for applications deployed on the runtime.

Application instrumentation should + use the value from environment variable @code CF_INSTANCE_INDEX @endcode. */ static constexpr const char *kCloudfoundryAppInstanceId = "cloudfoundry.app.instance.id"; /** - * The name of the application. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.application_name @endcode. This is the same value - * as reported by @code cf apps @endcode. + The name of the application. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.application_name @endcode. This is the same value + as reported by @code cf apps @endcode. */ static constexpr const char *kCloudfoundryAppName = "cloudfoundry.app.name"; /** - * The guid of the CloudFoundry org the application is running in. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.org_id @endcode. This is the same value as - * reported by @code cf org --guid @endcode. + The guid of the CloudFoundry org the application is running in. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.org_id @endcode. This is the same value as + reported by @code cf org --guid @endcode. */ static constexpr const char *kCloudfoundryOrgId = "cloudfoundry.org.id"; /** - * The name of the CloudFoundry organization the app is running in. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.org_name @endcode. This is the same value as - * reported by @code cf orgs @endcode. + The name of the CloudFoundry organization the app is running in. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.org_name @endcode. This is the same value as + reported by @code cf orgs @endcode. */ static constexpr const char *kCloudfoundryOrgName = "cloudfoundry.org.name"; /** - * The UID identifying the process. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.process_id @endcode. It is supposed to be equal to - * @code VCAP_APPLICATION.app_id @endcode for applications deployed to the runtime. - * For system components, this could be the actual PID. + The UID identifying the process. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.process_id @endcode. It is supposed to be equal to + @code VCAP_APPLICATION.app_id @endcode for applications deployed to the runtime. + For system components, this could be the actual PID. */ static constexpr const char *kCloudfoundryProcessId = "cloudfoundry.process.id"; /** - * The type of process. - *

- * CloudFoundry applications can consist of multiple jobs. Usually the - * main process will be of type @code web @endcode. There can be additional background - * tasks or side-cars with different process types. + The type of process. +

+ CloudFoundry applications can consist of multiple jobs. Usually the + main process will be of type @code web @endcode. There can be additional background + tasks or side-cars with different process types. */ static constexpr const char *kCloudfoundryProcessType = "cloudfoundry.process.type"; /** - * The guid of the CloudFoundry space the application is running in. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.space_id @endcode. This is the same value as - * reported by @code cf space --guid @endcode. + The guid of the CloudFoundry space the application is running in. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.space_id @endcode. This is the same value as + reported by @code cf space --guid @endcode. */ static constexpr const char *kCloudfoundrySpaceId = "cloudfoundry.space.id"; /** - * The name of the CloudFoundry space the application is running in. - *

- * Application instrumentation should use the value from environment - * variable @code VCAP_APPLICATION.space_name @endcode. This is the same value as - * reported by @code cf spaces @endcode. + The name of the CloudFoundry space the application is running in. +

+ Application instrumentation should use the value from environment + variable @code VCAP_APPLICATION.space_name @endcode. This is the same value as + reported by @code cf spaces @endcode. */ static constexpr const char *kCloudfoundrySpaceName = "cloudfoundry.space.name"; /** - * A guid or another name describing the event source. - *

- * CloudFoundry defines the @code source_id @endcode in the Loggregator v2 envelope. - * It is used for logs and metrics emitted by CloudFoundry. It is - * supposed to contain the component name, e.g. "gorouter", for - * CloudFoundry components. - *

- * When system components are instrumented, values from the - * Bosh spec - * should be used. The @code system.id @endcode should be set to - * @code spec.deployment/spec.name @endcode. + A guid or another name describing the event source. +

+ CloudFoundry defines the @code source_id @endcode in the Loggregator v2 envelope. It + is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the component + name, e.g. "gorouter", for CloudFoundry components.

When system components are instrumented, + values from the Bosh spec should be used. + The @code system.id @endcode should be set to + @code spec.deployment/spec.name @endcode. */ static constexpr const char *kCloudfoundrySystemId = "cloudfoundry.system.id"; /** - * A guid describing the concrete instance of the event source. - *

- * CloudFoundry defines the @code instance_id @endcode in the Loggregator v2 envelope. - * It is used for logs and metrics emitted by CloudFoundry. It is - * supposed to contain the vm id for CloudFoundry components. - *

- * When system components are instrumented, values from the - * Bosh spec - * should be used. The @code system.instance.id @endcode should be set to @code spec.id @endcode. + A guid describing the concrete instance of the event source. +

+ CloudFoundry defines the @code instance_id @endcode in the Loggregator v2 envelope. It + is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the vm id for + CloudFoundry components.

When system components are instrumented, values from the Bosh spec should be used. The @code + system.instance.id @endcode should be set to @code spec.id @endcode. */ static constexpr const char *kCloudfoundrySystemInstanceId = "cloudfoundry.system.instance.id"; diff --git a/api/include/opentelemetry/semconv/incubating/code_attributes.h b/api/include/opentelemetry/semconv/incubating/code_attributes.h index c0e1914af4..58b7a12bc5 100644 --- a/api/include/opentelemetry/semconv/incubating/code_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/code_attributes.h @@ -20,104 +20,104 @@ namespace code { /** - * Deprecated, use @code code.column.number @endcode - * - * @deprecated - * {"note": "Replaced by @code code.column.number @endcode.", "reason": "renamed", "renamed_to": - * "code.column.number"} + Deprecated, use @code code.column.number @endcode + + @deprecated + {"note": "Replaced by @code code.column.number @endcode.", "reason": "renamed", "renamed_to": + "code.column.number"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeColumn = "code.column"; /** - * The column number in @code code.file.path @endcode best representing the operation. It SHOULD - * point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be - * used on the Profile signal since the data is already captured in 'message Line'. This constraint - * is imposed to prevent redundancy and maintain data integrity. + The column number in @code code.file.path @endcode best representing the operation. It SHOULD + point within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be + used on the Profile signal since the data is already captured in 'message Line'. This constraint + is imposed to prevent redundancy and maintain data integrity. */ static constexpr const char *kCodeColumnNumber = "code.column.number"; /** - * The source code file name that identifies the code unit as uniquely as possible (preferably an - * absolute file path). This attribute MUST NOT be used on the Profile signal since the data is - * already captured in 'message Function'. This constraint is imposed to prevent redundancy and - * maintain data integrity. + The source code file name that identifies the code unit as uniquely as possible (preferably an + absolute file path). This attribute MUST NOT be used on the Profile signal since the data is + already captured in 'message Function'. This constraint is imposed to prevent redundancy and + maintain data integrity. */ static constexpr const char *kCodeFilePath = "code.file.path"; /** - * Deprecated, use @code code.file.path @endcode instead - * - * @deprecated - * {"note": "Replaced by @code code.file.path @endcode.", "reason": "renamed", "renamed_to": - * "code.file.path"} + Deprecated, use @code code.file.path @endcode instead + + @deprecated + {"note": "Replaced by @code code.file.path @endcode.", "reason": "renamed", "renamed_to": + "code.file.path"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeFilepath = "code.filepath"; /** - * Deprecated, use @code code.function.name @endcode instead - * - * @deprecated - * {"note": "Value should be included in @code code.function.name @endcode which is expected to be a - * fully-qualified name.\n", "reason": "uncategorized"} + Deprecated, use @code code.function.name @endcode instead + + @deprecated + {"note": "Value should be included in @code code.function.name @endcode which is expected to be a + fully-qualified name.\n", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeFunction = "code.function"; /** - * The method or function fully-qualified name without arguments. The value should fit the natural - * representation of the language runtime, which is also likely the same used within @code - * code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal - * since the data is already captured in 'message Function'. This constraint is imposed to prevent - * redundancy and maintain data integrity.

Values and format depends on each language runtime, - * thus it is impossible to provide an exhaustive list of examples. The values are usually the same - * (or prefixes of) the ones found in native stack trace representation stored in - * @code code.stacktrace @endcode without information on arguments. - *

- * Examples: - *

    - *
  • Java method: @code com.example.MyHttpService.serveRequest @endcode
  • - *
  • Java anonymous class method: @code com.mycompany.Main$1.myMethod @endcode
  • - *
  • Java lambda method: @code com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod - * @endcode
  • PHP function: @code GuzzleHttp\Client::transfer @endcode
  • Go function: - * @code github.com/my/repo/pkg.foo.func5 @endcode
  • Elixir: @code OpenTelemetry.Ctx.new - * @endcode
  • Erlang: @code opentelemetry_ctx:new @endcode
  • Rust: @code - * playground::my_module::my_cool_func @endcode
  • C function: @code fopen @endcode
  • - *
+ The method or function fully-qualified name without arguments. The value should fit the natural + representation of the language runtime, which is also likely the same used within @code + code.stacktrace @endcode attribute value. This attribute MUST NOT be used on the Profile signal + since the data is already captured in 'message Function'. This constraint is imposed to prevent + redundancy and maintain data integrity.

Values and format depends on each language runtime, + thus it is impossible to provide an exhaustive list of examples. The values are usually the same + (or prefixes of) the ones found in native stack trace representation stored in + @code code.stacktrace @endcode without information on arguments. +

+ Examples: +

    +
  • Java method: @code com.example.MyHttpService.serveRequest @endcode
  • +
  • Java anonymous class method: @code com.mycompany.Main$1.myMethod @endcode
  • +
  • Java lambda method: @code com.mycompany.Main$$Lambda/0x0000748ae4149c00.myMethod + @endcode
  • PHP function: @code GuzzleHttp\Client::transfer @endcode
  • Go function: + @code github.com/my/repo/pkg.foo.func5 @endcode
  • Elixir: @code OpenTelemetry.Ctx.new + @endcode
  • Erlang: @code opentelemetry_ctx:new @endcode
  • Rust: @code + playground::my_module::my_cool_func @endcode
  • C function: @code fopen @endcode
  • +
*/ static constexpr const char *kCodeFunctionName = "code.function.name"; /** - * The line number in @code code.file.path @endcode best representing the operation. It SHOULD point - * within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used - * on the Profile signal since the data is already captured in 'message Line'. This constraint is - * imposed to prevent redundancy and maintain data integrity. + The line number in @code code.file.path @endcode best representing the operation. It SHOULD point + within the code unit named in @code code.function.name @endcode. This attribute MUST NOT be used + on the Profile signal since the data is already captured in 'message Line'. This constraint is + imposed to prevent redundancy and maintain data integrity. */ static constexpr const char *kCodeLineNumber = "code.line.number"; /** - * Deprecated, use @code code.line.number @endcode instead - * - * @deprecated - * {"note": "Replaced by @code code.line.number @endcode.", "reason": "renamed", "renamed_to": - * "code.line.number"} + Deprecated, use @code code.line.number @endcode instead + + @deprecated + {"note": "Replaced by @code code.line.number @endcode.", "reason": "renamed", "renamed_to": + "code.line.number"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeLineno = "code.lineno"; /** - * Deprecated, namespace is now included into @code code.function.name @endcode - * - * @deprecated - * {"note": "Value should be included in @code code.function.name @endcode which is expected to be a - * fully-qualified name.\n", "reason": "uncategorized"} + Deprecated, namespace is now included into @code code.function.name @endcode + + @deprecated + {"note": "Value should be included in @code code.function.name @endcode which is expected to be a + fully-qualified name.\n", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeNamespace = "code.namespace"; /** - * A stacktrace as a string in the natural representation for the language runtime. The - * representation is identical to @code exception.stacktrace - * @endcode. This attribute MUST NOT be used on the Profile signal since the data is already - * captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain - * data integrity. + A stacktrace as a string in the natural representation for the language runtime. The + representation is identical to @code exception.stacktrace + @endcode. This attribute MUST NOT be used on the Profile signal since the data is already + captured in 'message Location'. This constraint is imposed to prevent redundancy and maintain data + integrity. */ static constexpr const char *kCodeStacktrace = "code.stacktrace"; diff --git a/api/include/opentelemetry/semconv/incubating/container_attributes.h b/api/include/opentelemetry/semconv/incubating/container_attributes.h index e87a9867f4..92213a1e6b 100644 --- a/api/include/opentelemetry/semconv/incubating/container_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/container_attributes.h @@ -20,136 +20,135 @@ namespace container { /** - * The command used to run the container (i.e. the command name). - *

- * If using embedded credentials or sensitive data, it is recommended to remove them to prevent - * potential leakage. + The command used to run the container (i.e. the command name). +

+ If using embedded credentials or sensitive data, it is recommended to remove them to prevent + potential leakage. */ static constexpr const char *kContainerCommand = "container.command"; /** - * All the command arguments (including the command/executable itself) run by the container. + All the command arguments (including the command/executable itself) run by the container. */ static constexpr const char *kContainerCommandArgs = "container.command_args"; /** - * The full command run by the container as a single string representing the full command. + The full command run by the container as a single string representing the full command. */ static constexpr const char *kContainerCommandLine = "container.command_line"; /** - * Deprecated, use @code cpu.mode @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} + Deprecated, use @code cpu.mode @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerCpuState = "container.cpu.state"; /** - * The name of the CSI (Container - * Storage Interface) plugin used by the volume.

This can sometimes be referred to as a - * "driver" in CSI implementations. This should represent the @code name @endcode field of the - * GetPluginInfo RPC. + The name of the CSI (Container + Storage Interface) plugin used by the volume.

This can sometimes be referred to as a + "driver" in CSI implementations. This should represent the @code name @endcode field of the + GetPluginInfo RPC. */ static constexpr const char *kContainerCsiPluginName = "container.csi.plugin.name"; /** - * The unique volume ID returned by the CSI (Container Storage Interface) - * plugin.

This can sometimes be referred to as a "volume handle" in CSI implementations. This - * should represent the @code Volume.volume_id @endcode field in CSI spec. + The unique volume ID returned by the CSI (Container Storage Interface) + plugin.

This can sometimes be referred to as a "volume handle" in CSI implementations. This + should represent the @code Volume.volume_id @endcode field in CSI spec. */ static constexpr const char *kContainerCsiVolumeId = "container.csi.volume.id"; /** - * Container ID. Usually a UUID, as for example used to identify Docker - * containers. The UUID might be abbreviated. + Container ID. Usually a UUID, as for example used to identify Docker + containers. The UUID might be abbreviated. */ static constexpr const char *kContainerId = "container.id"; /** - * Runtime specific image identifier. Usually a hash algorithm followed by a UUID. - *

- * Docker defines a sha256 of the image id; @code container.image.id @endcode corresponds to the - * @code Image @endcode field from the Docker container inspect API - * endpoint. K8s defines a link to the container registry repository with digest @code "imageID": - * "registry.azurecr.io - * /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625" - * @endcode. The ID is assigned by the container runtime and can vary in different environments. - * Consider using @code oci.manifest.digest @endcode if it is important to identify the same image - * in different environments/runtimes. + Runtime specific image identifier. Usually a hash algorithm followed by a UUID. +

+ Docker defines a sha256 of the image id; @code container.image.id @endcode corresponds to the + @code Image @endcode field from the Docker container inspect API + endpoint. K8s defines a link to the container registry repository with digest @code "imageID": + "registry.azurecr.io + /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625" + @endcode. The ID is assigned by the container runtime and can vary in different environments. + Consider using @code oci.manifest.digest @endcode if it is important to identify the same image in + different environments/runtimes. */ static constexpr const char *kContainerImageId = "container.image.id"; /** - * Name of the image the container was built on. + Name of the image the container was built on. */ static constexpr const char *kContainerImageName = "container.image.name"; /** - * Repo digests of the container image as provided by the container runtime. - *

- * Docker - * and CRI - * report those under the @code RepoDigests @endcode field. + Repo digests of the container image as provided by the container runtime. +

+ Docker + and CRI + report those under the @code RepoDigests @endcode field. */ static constexpr const char *kContainerImageRepoDigests = "container.image.repo_digests"; /** - * Container image tags. An example can be found in Docker Image - * Inspect. Should be only the @code @endcode section of the full name for example from - * @code registry.example.com/my-org/my-image: @endcode. + Container image tags. An example can be found in Docker Image + Inspect. Should be only the @code @endcode section of the full name for example from + @code registry.example.com/my-org/my-image: @endcode. */ static constexpr const char *kContainerImageTags = "container.image.tags"; /** - * Container labels, @code @endcode being the label name, the value being the label value. - *

- * For example, a docker container label @code app @endcode with value @code nginx @endcode SHOULD - * be recorded as the @code container.label.app @endcode attribute with value @code "nginx" - * @endcode. + Container labels, @code @endcode being the label name, the value being the label value. +

+ For example, a docker container label @code app @endcode with value @code nginx @endcode SHOULD be + recorded as the @code container.label.app @endcode attribute with value @code "nginx" @endcode. */ static constexpr const char *kContainerLabel = "container.label"; /** - * Deprecated, use @code container.label @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code container.label @endcode.", "reason": "renamed", "renamed_to": - * "container.label"} + Deprecated, use @code container.label @endcode instead. + + @deprecated + {"note": "Replaced by @code container.label @endcode.", "reason": "renamed", "renamed_to": + "container.label"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerLabels = "container.labels"; /** - * Container name used by container runtime. + Container name used by container runtime. */ static constexpr const char *kContainerName = "container.name"; /** - * The container runtime managing this container. + The container runtime managing this container. */ static constexpr const char *kContainerRuntime = "container.runtime"; namespace ContainerCpuStateValues { /** - * When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode - * (Windows). + When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode + (Windows). */ static constexpr const char *kUser = "user"; /** - * When CPU is used by the system (host OS) + When CPU is used by the system (host OS) */ static constexpr const char *kSystem = "system"; /** - * When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel - * mode (Windows). + When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel + mode (Windows). */ static constexpr const char *kKernel = "kernel"; diff --git a/api/include/opentelemetry/semconv/incubating/container_metrics.h b/api/include/opentelemetry/semconv/incubating/container_metrics.h index d3fef8b91b..69853e7771 100644 --- a/api/include/opentelemetry/semconv/incubating/container_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/container_metrics.h @@ -21,11 +21,11 @@ namespace container { /** - * Total CPU time consumed - *

- * Total CPU time consumed by the specific container on all available CPU cores - *

- * counter + Total CPU time consumed +

+ Total CPU time consumed by the specific container on all available CPU cores +

+ counter */ static constexpr const char *kMetricContainerCpuTime = "container.cpu.time"; static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed"; @@ -60,11 +60,11 @@ CreateAsyncDoubleMetricContainerCpuTime(metrics::Meter *meter) } /** - * Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs - *

- * CPU usage of the specific container on all available CPU cores, averaged over the sample window - *

- * gauge + Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs +

+ CPU usage of the specific container on all available CPU cores, averaged over the sample window +

+ gauge */ static constexpr const char *kMetricContainerCpuUsage = "container.cpu.usage"; static constexpr const char *descrMetricContainerCpuUsage = @@ -103,11 +103,11 @@ CreateAsyncDoubleMetricContainerCpuUsage(metrics::Meter *meter) } /** - * Disk bytes for the container. - *

- * The total number of bytes read/written successfully (aggregated from all disks). - *

- * counter + Disk bytes for the container. +

+ The total number of bytes read/written successfully (aggregated from all disks). +

+ counter */ static constexpr const char *kMetricContainerDiskIo = "container.disk.io"; static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container."; @@ -142,11 +142,11 @@ CreateAsyncDoubleMetricContainerDiskIo(metrics::Meter *meter) } /** - * Memory usage of the container. - *

- * Memory usage of the container. - *

- * counter + Memory usage of the container. +

+ Memory usage of the container. +

+ counter */ static constexpr const char *kMetricContainerMemoryUsage = "container.memory.usage"; static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container."; @@ -181,11 +181,11 @@ CreateAsyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter) } /** - * Network bytes for the container. - *

- * The number of bytes sent/received on all network interfaces by the container. - *

- * counter + Network bytes for the container. +

+ The number of bytes sent/received on all network interfaces by the container. +

+ counter */ static constexpr const char *kMetricContainerNetworkIo = "container.network.io"; static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container."; @@ -220,11 +220,11 @@ CreateAsyncDoubleMetricContainerNetworkIo(metrics::Meter *meter) } /** - * The time the container has been running - *

- * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds - * as a floating point number with the highest precision available. The actual accuracy would depend - * on the instrumentation and operating system.

gauge + The time the container has been running +

+ Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + as a floating point number with the highest precision available. The actual accuracy would depend + on the instrumentation and operating system.

gauge */ static constexpr const char *kMetricContainerUptime = "container.uptime"; static constexpr const char *descrMetricContainerUptime = "The time the container has been running"; diff --git a/api/include/opentelemetry/semconv/incubating/cpu_attributes.h b/api/include/opentelemetry/semconv/incubating/cpu_attributes.h index cd9dd5cf71..c3c3ef58a5 100644 --- a/api/include/opentelemetry/semconv/incubating/cpu_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cpu_attributes.h @@ -20,54 +20,54 @@ namespace cpu { /** - * The logical CPU number [0..n-1] + The logical CPU number [0..n-1] */ static constexpr const char *kCpuLogicalNumber = "cpu.logical_number"; /** - * The mode of the CPU + The mode of the CPU */ static constexpr const char *kCpuMode = "cpu.mode"; namespace CpuModeValues { /** - * none + none */ static constexpr const char *kUser = "user"; /** - * none + none */ static constexpr const char *kSystem = "system"; /** - * none + none */ static constexpr const char *kNice = "nice"; /** - * none + none */ static constexpr const char *kIdle = "idle"; /** - * none + none */ static constexpr const char *kIowait = "iowait"; /** - * none + none */ static constexpr const char *kInterrupt = "interrupt"; /** - * none + none */ static constexpr const char *kSteal = "steal"; /** - * none + none */ static constexpr const char *kKernel = "kernel"; diff --git a/api/include/opentelemetry/semconv/incubating/cpu_metrics.h b/api/include/opentelemetry/semconv/incubating/cpu_metrics.h index f9e6de5eb2..e82f7e2fc4 100644 --- a/api/include/opentelemetry/semconv/incubating/cpu_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/cpu_metrics.h @@ -21,9 +21,9 @@ namespace cpu { /** - * Operating frequency of the logical CPU in Hertz. - *

- * gauge + Operating frequency of the logical CPU in Hertz. +

+ gauge */ static constexpr const char *kMetricCpuFrequency = "cpu.frequency"; static constexpr const char *descrMetricCpuFrequency = @@ -62,9 +62,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Seconds each logical CPU spent on each mode - *

- * counter + Seconds each logical CPU spent on each mode +

+ counter */ static constexpr const char *kMetricCpuTime = "cpu.time"; static constexpr const char *descrMetricCpuTime = "Seconds each logical CPU spent on each mode"; @@ -96,8 +96,8 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * For each logical CPU, the utilization is calculated as the change in cumulative CPU time - * (cpu.time) over a measurement interval, divided by the elapsed time.

gauge + For each logical CPU, the utilization is calculated as the change in cumulative CPU time + (cpu.time) over a measurement interval, divided by the elapsed time.

gauge */ static constexpr const char *kMetricCpuUtilization = "cpu.utilization"; static constexpr const char *descrMetricCpuUtilization = diff --git a/api/include/opentelemetry/semconv/incubating/cpython_attributes.h b/api/include/opentelemetry/semconv/incubating/cpython_attributes.h index bcdb59d25d..e02e67bacf 100644 --- a/api/include/opentelemetry/semconv/incubating/cpython_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cpython_attributes.h @@ -20,24 +20,24 @@ namespace cpython { /** - * Value of the garbage collector collection generation. + Value of the garbage collector collection generation. */ static constexpr const char *kCpythonGcGeneration = "cpython.gc.generation"; namespace CpythonGcGenerationValues { /** - * Generation 0 + Generation 0 */ static constexpr int kGeneration0 = 0; /** - * Generation 1 + Generation 1 */ static constexpr int kGeneration1 = 1; /** - * Generation 2 + Generation 2 */ static constexpr int kGeneration2 = 2; diff --git a/api/include/opentelemetry/semconv/incubating/cpython_metrics.h b/api/include/opentelemetry/semconv/incubating/cpython_metrics.h index 94d1561c56..3125b388e2 100644 --- a/api/include/opentelemetry/semconv/incubating/cpython_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/cpython_metrics.h @@ -21,11 +21,11 @@ namespace cpython { /** - * The total number of objects collected inside a generation since interpreter start. - *

- * This metric reports data from @code gc.stats() @endcode.

- * counter + The total number of objects collected inside a generation since interpreter start. +

+ This metric reports data from @code gc.stats() @endcode.

+ counter */ static constexpr const char *kMetricCpythonGcCollectedObjects = "cpython.gc.collected_objects"; static constexpr const char *descrMetricCpythonGcCollectedObjects = @@ -65,11 +65,11 @@ CreateAsyncDoubleMetricCpythonGcCollectedObjects(metrics::Meter *meter) } /** - * The number of times a generation was collected since interpreter start. - *

- * This metric reports data from @code gc.stats() @endcode.

- * counter + The number of times a generation was collected since interpreter start. +

+ This metric reports data from @code gc.stats() @endcode.

+ counter */ static constexpr const char *kMetricCpythonGcCollections = "cpython.gc.collections"; static constexpr const char *descrMetricCpythonGcCollections = @@ -105,10 +105,10 @@ CreateAsyncDoubleMetricCpythonGcCollections(metrics::Meter *meter) } /** - * The total number of objects which were found to be uncollectable inside a generation since - * interpreter start.

This metric reports data from @code gc.stats() @endcode.

- * counter + The total number of objects which were found to be uncollectable inside a generation since + interpreter start.

This metric reports data from @code gc.stats() @endcode.

+ counter */ static constexpr const char *kMetricCpythonGcUncollectableObjects = "cpython.gc.uncollectable_objects"; diff --git a/api/include/opentelemetry/semconv/incubating/db_attributes.h b/api/include/opentelemetry/semconv/incubating/db_attributes.h index 320abe7170..c0c44276bc 100644 --- a/api/include/opentelemetry/semconv/incubating/db_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/db_attributes.h @@ -20,555 +20,555 @@ namespace db { /** - * Deprecated, use @code cassandra.consistency.level @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.consistency.level @endcode.", "reason": "renamed", - * "renamed_to": "cassandra.consistency.level"} + Deprecated, use @code cassandra.consistency.level @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.consistency.level @endcode.", "reason": "renamed", + "renamed_to": "cassandra.consistency.level"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraConsistencyLevel = "db.cassandra.consistency_level"; /** - * Deprecated, use @code cassandra.coordinator.dc @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.coordinator.dc @endcode.", "reason": "renamed", - * "renamed_to": "cassandra.coordinator.dc"} + Deprecated, use @code cassandra.coordinator.dc @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.coordinator.dc @endcode.", "reason": "renamed", + "renamed_to": "cassandra.coordinator.dc"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc"; /** - * Deprecated, use @code cassandra.coordinator.id @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.coordinator.id @endcode.", "reason": "renamed", - * "renamed_to": "cassandra.coordinator.id"} + Deprecated, use @code cassandra.coordinator.id @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.coordinator.id @endcode.", "reason": "renamed", + "renamed_to": "cassandra.coordinator.id"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraCoordinatorId = "db.cassandra.coordinator.id"; /** - * Deprecated, use @code cassandra.query.idempotent @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.query.idempotent @endcode.", "reason": "renamed", - * "renamed_to": "cassandra.query.idempotent"} + Deprecated, use @code cassandra.query.idempotent @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.query.idempotent @endcode.", "reason": "renamed", + "renamed_to": "cassandra.query.idempotent"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraIdempotence = "db.cassandra.idempotence"; /** - * Deprecated, use @code cassandra.page.size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.page.size @endcode.", "reason": "renamed", "renamed_to": - * "cassandra.page.size"} + Deprecated, use @code cassandra.page.size @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.page.size @endcode.", "reason": "renamed", "renamed_to": + "cassandra.page.size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraPageSize = "db.cassandra.page_size"; /** - * Deprecated, use @code cassandra.speculative_execution.count @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cassandra.speculative_execution.count @endcode.", "reason": - * "renamed", "renamed_to": "cassandra.speculative_execution.count"} + Deprecated, use @code cassandra.speculative_execution.count @endcode instead. + + @deprecated + {"note": "Replaced by @code cassandra.speculative_execution.count @endcode.", "reason": "renamed", + "renamed_to": "cassandra.speculative_execution.count"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraSpeculativeExecutionCount = "db.cassandra.speculative_execution_count"; /** - * Deprecated, use @code db.collection.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": - * "db.collection.name"} + Deprecated, use @code db.collection.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": + "db.collection.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraTable = "db.cassandra.table"; /** - * The name of the connection pool; unique within the instrumented application. In case the - * connection pool implementation doesn't provide a name, instrumentation SHOULD use a combination - * of parameters that would make the name unique, for example, combining attributes @code - * server.address @endcode, @code server.port @endcode, and @code db.namespace @endcode, formatted - * as @code server.address:server.port/db.namespace @endcode. Instrumentations that generate - * connection pool name following different patterns SHOULD document it. + 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 + parameters that would make the name unique, for example, combining attributes @code server.address + @endcode, @code server.port @endcode, and @code db.namespace @endcode, formatted as @code + server.address:server.port/db.namespace @endcode. Instrumentations that generate connection pool + name following different patterns SHOULD document it. */ static constexpr const char *kDbClientConnectionPoolName = "db.client.connection.pool.name"; /** - * The state of a connection in the pool + The state of a connection in the pool */ static constexpr const char *kDbClientConnectionState = "db.client.connection.state"; /** - * Deprecated, use @code db.client.connection.pool.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.pool.name @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.pool.name"} + Deprecated, use @code db.client.connection.pool.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.pool.name @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.pool.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbClientConnectionsPoolName = "db.client.connections.pool.name"; /** - * Deprecated, use @code db.client.connection.state @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.state @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.state"} + Deprecated, use @code db.client.connection.state @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.state @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.state"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbClientConnectionsState = "db.client.connections.state"; /** - * The name of a collection (table, container) within the database. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * The collection name SHOULD NOT be extracted from @code db.query.text @endcode, - * when the database system supports query text with multiple collections - * in non-batch operations. - *

- * For batch operations, if the individual operations are known to have the same - * collection name then that collection name SHOULD be used. + The name of a collection (table, container) within the database. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ The collection name SHOULD NOT be extracted from @code db.query.text @endcode, + when the database system supports query text with multiple collections + in non-batch operations. +

+ For batch operations, if the individual operations are known to have the same + collection name then that collection name SHOULD be used. */ static constexpr const char *kDbCollectionName = "db.collection.name"; /** - * Deprecated, use @code server.address @endcode, @code server.port @endcode attributes instead. - * - * @deprecated - * {"note": "Replaced by @code server.address @endcode and @code server.port @endcode.\n", "reason": - * "uncategorized"} + Deprecated, use @code server.address @endcode, @code server.port @endcode attributes instead. + + @deprecated + {"note": "Replaced by @code server.address @endcode and @code server.port @endcode.\n", "reason": + "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbConnectionString = "db.connection_string"; /** - * Deprecated, use @code azure.client.id @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.client.id @endcode.", "reason": "renamed", "renamed_to": - * "azure.client.id"} + Deprecated, use @code azure.client.id @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.client.id @endcode.", "reason": "renamed", "renamed_to": + "azure.client.id"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbClientId = "db.cosmosdb.client_id"; /** - * Deprecated, use @code azure.cosmosdb.connection.mode @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.connection.mode @endcode.", "reason": "renamed", - * "renamed_to": "azure.cosmosdb.connection.mode"} + Deprecated, use @code azure.cosmosdb.connection.mode @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.connection.mode @endcode.", "reason": "renamed", + "renamed_to": "azure.cosmosdb.connection.mode"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode"; /** - * Deprecated, use @code cosmosdb.consistency.level @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.consistency.level @endcode.", "reason": "renamed", - * "renamed_to": "azure.cosmosdb.consistency.level"} + Deprecated, use @code cosmosdb.consistency.level @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.consistency.level @endcode.", "reason": "renamed", + "renamed_to": "azure.cosmosdb.consistency.level"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbConsistencyLevel = "db.cosmosdb.consistency_level"; /** - * Deprecated, use @code db.collection.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": - * "db.collection.name"} + Deprecated, use @code db.collection.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": + "db.collection.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbContainer = "db.cosmosdb.container"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed, no replacement at this time.\n", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed, no replacement at this time.\n", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbOperationType = "db.cosmosdb.operation_type"; /** - * Deprecated, use @code azure.cosmosdb.operation.contacted_regions @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.operation.contacted_regions @endcode.", "reason": - * "renamed", "renamed_to": "azure.cosmosdb.operation.contacted_regions"} + Deprecated, use @code azure.cosmosdb.operation.contacted_regions @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.operation.contacted_regions @endcode.", "reason": + "renamed", "renamed_to": "azure.cosmosdb.operation.contacted_regions"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbRegionsContacted = "db.cosmosdb.regions_contacted"; /** - * Deprecated, use @code azure.cosmosdb.operation.request_charge @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.operation.request_charge @endcode.", "reason": - * "renamed", "renamed_to": "azure.cosmosdb.operation.request_charge"} + Deprecated, use @code azure.cosmosdb.operation.request_charge @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.operation.request_charge @endcode.", "reason": + "renamed", "renamed_to": "azure.cosmosdb.operation.request_charge"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbRequestCharge = "db.cosmosdb.request_charge"; /** - * Deprecated, use @code azure.cosmosdb.request.body.size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.request.body.size @endcode.", "reason": "renamed", - * "renamed_to": "azure.cosmosdb.request.body.size"} + Deprecated, use @code azure.cosmosdb.request.body.size @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.request.body.size @endcode.", "reason": "renamed", + "renamed_to": "azure.cosmosdb.request.body.size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length"; /** - * Deprecated, use @code db.response.status_code @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.response.status_code @endcode.", "reason": "renamed", - * "renamed_to": "db.response.status_code"} + Deprecated, use @code db.response.status_code @endcode instead. + + @deprecated + {"note": "Replaced by @code db.response.status_code @endcode.", "reason": "renamed", "renamed_to": + "db.response.status_code"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbStatusCode = "db.cosmosdb.status_code"; /** - * Deprecated, use @code azure.cosmosdb.response.sub_status_code @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.response.sub_status_code @endcode.", "reason": - * "renamed", "renamed_to": "azure.cosmosdb.response.sub_status_code"} + Deprecated, use @code azure.cosmosdb.response.sub_status_code @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.response.sub_status_code @endcode.", "reason": + "renamed", "renamed_to": "azure.cosmosdb.response.sub_status_code"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code"; /** - * Deprecated, use @code db.namespace @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": - * "db.namespace"} + Deprecated, use @code db.namespace @endcode instead. + + @deprecated + {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": + "db.namespace"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbElasticsearchClusterName = "db.elasticsearch.cluster.name"; /** - * Deprecated, use @code elasticsearch.node.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code elasticsearch.node.name @endcode.", "reason": "renamed", - * "renamed_to": "elasticsearch.node.name"} + Deprecated, use @code elasticsearch.node.name @endcode instead. + + @deprecated + {"note": "Replaced by @code elasticsearch.node.name @endcode.", "reason": "renamed", "renamed_to": + "elasticsearch.node.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name"; /** - * Deprecated, use @code db.operation.parameter @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.operation.parameter @endcode.", "reason": "renamed", "renamed_to": - * "db.operation.parameter"} + Deprecated, use @code db.operation.parameter @endcode instead. + + @deprecated + {"note": "Replaced by @code db.operation.parameter @endcode.", "reason": "renamed", "renamed_to": + "db.operation.parameter"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbElasticsearchPathParts = "db.elasticsearch.path_parts"; /** - * Deprecated, no general replacement at this time. For Elasticsearch, use @code - * db.elasticsearch.node.name @endcode instead. - * - * @deprecated - * {"note": "Removed, no general replacement at this time. For Elasticsearch, use @code - * db.elasticsearch.node.name @endcode instead.\n", "reason": "obsoleted"} + Deprecated, no general replacement at this time. For Elasticsearch, use @code + db.elasticsearch.node.name @endcode instead. + + @deprecated + {"note": "Removed, no general replacement at this time. For Elasticsearch, use @code + db.elasticsearch.node.name @endcode instead.\n", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbInstanceId = "db.instance.id"; /** - * Removed, no replacement at this time. - * - * @deprecated - * {"note": "Removed, no replacement at this time.\n", "reason": "obsoleted"} + Removed, no replacement at this time. + + @deprecated + {"note": "Removed, no replacement at this time.\n", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbJdbcDriverClassname = "db.jdbc.driver_classname"; /** - * Deprecated, use @code db.collection.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": - * "db.collection.name"} + Deprecated, use @code db.collection.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.collection.name @endcode.", "reason": "renamed", "renamed_to": + "db.collection.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMongodbCollection = "db.mongodb.collection"; /** - * Deprecated, SQL Server instance is now populated as a part of @code db.namespace @endcode - * attribute. - * - * @deprecated - * {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} + Deprecated, SQL Server instance is now populated as a part of @code db.namespace @endcode + attribute. + + @deprecated + {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMssqlInstanceName = "db.mssql.instance_name"; /** - * Deprecated, use @code db.namespace @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": - * "db.namespace"} + Deprecated, use @code db.namespace @endcode instead. + + @deprecated + {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": + "db.namespace"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbName = "db.name"; /** - * The name of the database, fully qualified within the server address and port. - *

- * If a database system has multiple namespace components, they SHOULD be concatenated from the most - * general to the most specific namespace component, using @code | @endcode as a separator between - * the components. Any missing components (and their associated separators) SHOULD be omitted. - * Semantic conventions for individual database systems SHOULD document what @code db.namespace - * @endcode means in the context of that system. It is RECOMMENDED to capture the value as provided - * by the application without attempting to do any case normalization. + The name of the database, fully qualified within the server address and port. +

+ If a database system has multiple namespace components, they SHOULD be concatenated from the most + general to the most specific namespace component, using @code | @endcode as a separator between + the components. Any missing components (and their associated separators) SHOULD be omitted. + Semantic conventions for individual database systems SHOULD document what @code db.namespace + @endcode means in the context of that system. It is RECOMMENDED to capture the value as provided + by the application without attempting to do any case normalization. */ static constexpr const char *kDbNamespace = "db.namespace"; /** - * Deprecated, use @code db.operation.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.operation.name @endcode.", "reason": "renamed", "renamed_to": - * "db.operation.name"} + Deprecated, use @code db.operation.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.operation.name @endcode.", "reason": "renamed", "renamed_to": + "db.operation.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbOperation = "db.operation"; /** - * The number of queries included in a batch operation. - *

- * Operations are only considered batches when they contain two or more operations, and so @code - * db.operation.batch.size @endcode SHOULD never be @code 1 @endcode. + The number of queries included in a batch operation. +

+ Operations are only considered batches when they contain two or more operations, and so @code + db.operation.batch.size @endcode SHOULD never be @code 1 @endcode. */ static constexpr const char *kDbOperationBatchSize = "db.operation.batch.size"; /** - * The name of the operation or command being executed. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * The operation name SHOULD NOT be extracted from @code db.query.text @endcode, - * when the database system supports query text with multiple operations - * in non-batch operations. - *

- * If spaces can occur in the operation name, multiple consecutive spaces - * SHOULD be normalized to a single space. - *

- * For batch operations, if the individual operations are known to have the same operation name - * then that operation name SHOULD be used prepended by @code BATCH @endcode, - * otherwise @code db.operation.name @endcode SHOULD be @code BATCH @endcode or some other database - * system specific term if more applicable. + The name of the operation or command being executed. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ The operation name SHOULD NOT be extracted from @code db.query.text @endcode, + when the database system supports query text with multiple operations + in non-batch operations. +

+ If spaces can occur in the operation name, multiple consecutive spaces + SHOULD be normalized to a single space. +

+ For batch operations, if the individual operations are known to have the same operation name + then that operation name SHOULD be used prepended by @code BATCH @endcode, + otherwise @code db.operation.name @endcode SHOULD be @code BATCH @endcode or some other database + system specific term if more applicable. */ static constexpr const char *kDbOperationName = "db.operation.name"; /** - * A database operation parameter, with @code @endcode being the parameter name, and the - * attribute value being a string representation of the parameter value.

For example, a - * client-side maximum number of rows to read from the database MAY be recorded as the @code - * db.operation.parameter.max_rows @endcode attribute.

- * @code db.query.text @endcode parameters SHOULD be captured using @code db.query.parameter. - * @endcode instead of @code db.operation.parameter. @endcode. + A database operation parameter, with @code @endcode being the parameter name, and the + attribute value being a string representation of the parameter value.

For example, a + client-side maximum number of rows to read from the database MAY be recorded as the @code + db.operation.parameter.max_rows @endcode attribute.

+ @code db.query.text @endcode parameters SHOULD be captured using @code db.query.parameter. + @endcode instead of @code db.operation.parameter. @endcode. */ static constexpr const char *kDbOperationParameter = "db.operation.parameter"; /** - * A database query parameter, with @code @endcode being the parameter name, and the attribute - * value being a string representation of the parameter value.

If a query parameter has no name - * and instead is referenced only by index, then @code @endcode SHOULD be the 0-based index. - *

- * @code db.query.parameter. @endcode SHOULD match - * up with the parameterized placeholders present in @code db.query.text @endcode. - *

- * @code db.query.parameter. @endcode SHOULD NOT be captured on batch operations. - *

- * Examples: - *

    - *
  • For a query @code SELECT * FROM users where username = %s @endcode with the parameter - * @code "jdoe" @endcode, the attribute @code db.query.parameter.0 @endcode SHOULD be set to @code - * "jdoe" @endcode.
  • For a query @code "SELECT * FROM users WHERE username = %(username)s; - * @endcode with parameter - * @code username = "jdoe" @endcode, the attribute @code db.query.parameter.username @endcode SHOULD - * be set to @code "jdoe" @endcode.
  • - *
+ A database query parameter, with @code @endcode being the parameter name, and the attribute + value being a string representation of the parameter value.

If a query parameter has no name + and instead is referenced only by index, then @code @endcode SHOULD be the 0-based index. +

+ @code db.query.parameter. @endcode SHOULD match + up with the parameterized placeholders present in @code db.query.text @endcode. +

+ @code db.query.parameter. @endcode SHOULD NOT be captured on batch operations. +

+ Examples: +

    +
  • For a query @code SELECT * FROM users where username = %s @endcode with the parameter @code + "jdoe" @endcode, the attribute @code db.query.parameter.0 @endcode SHOULD be set to @code "jdoe" + @endcode.
  • For a query @code "SELECT * FROM users WHERE username = %(username)s; @endcode + with parameter + @code username = "jdoe" @endcode, the attribute @code db.query.parameter.username @endcode SHOULD + be set to @code "jdoe" @endcode.
  • +
*/ static constexpr const char *kDbQueryParameter = "db.query.parameter"; /** - * Low cardinality summary of a database query. - *

- * The query summary describes a class of database queries and is useful - * as a grouping key, especially when analyzing telemetry for database - * calls involving complex queries. - *

- * Summary may be available to the instrumentation through - * instrumentation hooks or other means. If it is not available, instrumentations - * that support query parsing SHOULD generate a summary following - * Generating query - * summary section. + Low cardinality summary of a database query. +

+ The query summary describes a class of database queries and is useful + as a grouping key, especially when analyzing telemetry for database + calls involving complex queries. +

+ Summary may be available to the instrumentation through + instrumentation hooks or other means. If it is not available, instrumentations + that support query parsing SHOULD generate a summary following + Generating query + summary section. */ static constexpr const char *kDbQuerySummary = "db.query.summary"; /** - * The database query being executed. - *

- * For sanitization see Sanitization of @code - * db.query.text @endcode. For batch operations, if the individual operations are known to have - * the same query text then that query text SHOULD be used, otherwise all of the individual query - * texts SHOULD be concatenated with separator @code ; @endcode or some other database system - * specific separator if more applicable. Parameterized query text SHOULD NOT be sanitized. Even - * though parameterized query text can potentially have sensitive data, by using a parameterized - * query the user is giving a strong signal that any sensitive data will be passed as parameter - * values, and the benefit to observability of capturing the static part of the query text by - * default outweighs the risk. + The database query being executed. +

+ For sanitization see Sanitization of @code + db.query.text @endcode. For batch operations, if the individual operations are known to have + the same query text then that query text SHOULD be used, otherwise all of the individual query + texts SHOULD be concatenated with separator @code ; @endcode or some other database system + specific separator if more applicable. Parameterized query text SHOULD NOT be sanitized. Even + though parameterized query text can potentially have sensitive data, by using a parameterized + query the user is giving a strong signal that any sensitive data will be passed as parameter + values, and the benefit to observability of capturing the static part of the query text by default + outweighs the risk. */ static constexpr const char *kDbQueryText = "db.query.text"; /** - * Deprecated, use @code db.namespace @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": - * "db.namespace"} + Deprecated, use @code db.namespace @endcode instead. + + @deprecated + {"note": "Replaced by @code db.namespace @endcode.", "reason": "renamed", "renamed_to": + "db.namespace"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbRedisDatabaseIndex = "db.redis.database_index"; /** - * Number of rows returned by the operation. + Number of rows returned by the operation. */ static constexpr const char *kDbResponseReturnedRows = "db.response.returned_rows"; /** - * Database response status code. - *

- * The status code returned by the database. Usually it represents an error code, but may also - * represent partial success, warning, or differentiate between various types of successful - * outcomes. Semantic conventions for individual database systems SHOULD document what @code - * db.response.status_code @endcode means in the context of that system. + Database response status code. +

+ The status code returned by the database. Usually it represents an error code, but may also + represent partial success, warning, or differentiate between various types of successful outcomes. + Semantic conventions for individual database systems SHOULD document what @code + db.response.status_code @endcode means in the context of that system. */ static constexpr const char *kDbResponseStatusCode = "db.response.status_code"; /** - * Deprecated, use @code db.collection.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.collection.name @endcode, but only if not extracting the value - * from @code db.query.text @endcode.", "reason": "uncategorized"} + Deprecated, use @code db.collection.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.collection.name @endcode, but only if not extracting the value from + @code db.query.text @endcode.", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbSqlTable = "db.sql.table"; /** - * The database statement being executed. - * - * @deprecated - * {"note": "Replaced by @code db.query.text @endcode.", "reason": "renamed", "renamed_to": - * "db.query.text"} + The database statement being executed. + + @deprecated + {"note": "Replaced by @code db.query.text @endcode.", "reason": "renamed", "renamed_to": + "db.query.text"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbStatement = "db.statement"; /** - * The name of a stored procedure within the database. - *

- * It is RECOMMENDED to capture the value as provided by the application - * without attempting to do any case normalization. - *

- * For batch operations, if the individual operations are known to have the same - * stored procedure name then that stored procedure name SHOULD be used. + The name of a stored procedure within the database. +

+ It is RECOMMENDED to capture the value as provided by the application + without attempting to do any case normalization. +

+ For batch operations, if the individual operations are known to have the same + stored procedure name then that stored procedure name SHOULD be used. */ static constexpr const char *kDbStoredProcedureName = "db.stored_procedure.name"; /** - * Deprecated, use @code db.system.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.system.name @endcode.", "reason": "renamed", "renamed_to": - * "db.system.name"} + Deprecated, use @code db.system.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.system.name @endcode.", "reason": "renamed", "renamed_to": + "db.system.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbSystem = "db.system"; /** - * The database management system (DBMS) product as identified by the client instrumentation. - *

- * The actual DBMS may differ from the one identified by the client. For example, when using - * PostgreSQL client libraries to connect to a CockroachDB, the @code db.system.name @endcode is set - * to @code postgresql @endcode based on the instrumentation's best knowledge. + The database management system (DBMS) product as identified by the client instrumentation. +

+ The actual DBMS may differ from the one identified by the client. For example, when using + PostgreSQL client libraries to connect to a CockroachDB, the @code db.system.name @endcode is set + to @code postgresql @endcode based on the instrumentation's best knowledge. */ static constexpr const char *kDbSystemName = "db.system.name"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDbUser = "db.user"; namespace DbCassandraConsistencyLevelValues { /** - * none + none */ static constexpr const char *kAll = "all"; /** - * none + none */ static constexpr const char *kEachQuorum = "each_quorum"; /** - * none + none */ static constexpr const char *kQuorum = "quorum"; /** - * none + none */ static constexpr const char *kLocalQuorum = "local_quorum"; /** - * none + none */ static constexpr const char *kOne = "one"; /** - * none + none */ static constexpr const char *kTwo = "two"; /** - * none + none */ static constexpr const char *kThree = "three"; /** - * none + none */ static constexpr const char *kLocalOne = "local_one"; /** - * none + none */ static constexpr const char *kAny = "any"; /** - * none + none */ static constexpr const char *kSerial = "serial"; /** - * none + none */ static constexpr const char *kLocalSerial = "local_serial"; @@ -577,12 +577,12 @@ static constexpr const char *kLocalSerial = "local_serial"; namespace DbClientConnectionStateValues { /** - * none + none */ static constexpr const char *kIdle = "idle"; /** - * none + none */ static constexpr const char *kUsed = "used"; @@ -591,12 +591,12 @@ static constexpr const char *kUsed = "used"; namespace DbClientConnectionsStateValues { /** - * none + none */ static constexpr const char *kIdle = "idle"; /** - * none + none */ static constexpr const char *kUsed = "used"; @@ -605,12 +605,12 @@ static constexpr const char *kUsed = "used"; namespace DbCosmosdbConnectionModeValues { /** - * Gateway (HTTP) connection. + Gateway (HTTP) connection. */ static constexpr const char *kGateway = "gateway"; /** - * Direct connection. + Direct connection. */ static constexpr const char *kDirect = "direct"; @@ -619,27 +619,27 @@ static constexpr const char *kDirect = "direct"; namespace DbCosmosdbConsistencyLevelValues { /** - * none + none */ static constexpr const char *kStrong = "Strong"; /** - * none + none */ static constexpr const char *kBoundedStaleness = "BoundedStaleness"; /** - * none + none */ static constexpr const char *kSession = "Session"; /** - * none + none */ static constexpr const char *kEventual = "Eventual"; /** - * none + none */ static constexpr const char *kConsistentPrefix = "ConsistentPrefix"; @@ -648,77 +648,77 @@ static constexpr const char *kConsistentPrefix = "ConsistentPrefix"; namespace DbCosmosdbOperationTypeValues { /** - * none + none */ static constexpr const char *kBatch = "batch"; /** - * none + none */ static constexpr const char *kCreate = "create"; /** - * none + none */ static constexpr const char *kDelete = "delete"; /** - * none + none */ static constexpr const char *kExecute = "execute"; /** - * none + none */ static constexpr const char *kExecuteJavascript = "execute_javascript"; /** - * none + none */ static constexpr const char *kInvalid = "invalid"; /** - * none + none */ static constexpr const char *kHead = "head"; /** - * none + none */ static constexpr const char *kHeadFeed = "head_feed"; /** - * none + none */ static constexpr const char *kPatch = "patch"; /** - * none + none */ static constexpr const char *kQuery = "query"; /** - * none + none */ static constexpr const char *kQueryPlan = "query_plan"; /** - * none + none */ static constexpr const char *kRead = "read"; /** - * none + none */ static constexpr const char *kReadFeed = "read_feed"; /** - * none + none */ static constexpr const char *kReplace = "replace"; /** - * none + none */ static constexpr const char *kUpsert = "upsert"; @@ -727,272 +727,272 @@ static constexpr const char *kUpsert = "upsert"; namespace DbSystemValues { /** - * Some other SQL database. Fallback only. See notes. + Some other SQL database. Fallback only. See notes. */ static constexpr const char *kOtherSql = "other_sql"; /** - * Adabas (Adaptable Database System) + Adabas (Adaptable Database System) */ static constexpr const char *kAdabas = "adabas"; /** - * Deprecated, use @code intersystems_cache @endcode instead. + Deprecated, use @code intersystems_cache @endcode instead. */ static constexpr const char *kCache = "cache"; /** - * InterSystems Caché + InterSystems Caché */ static constexpr const char *kIntersystemsCache = "intersystems_cache"; /** - * Apache Cassandra + Apache Cassandra */ static constexpr const char *kCassandra = "cassandra"; /** - * ClickHouse + ClickHouse */ static constexpr const char *kClickhouse = "clickhouse"; /** - * Deprecated, use @code other_sql @endcode instead. + Deprecated, use @code other_sql @endcode instead. */ static constexpr const char *kCloudscape = "cloudscape"; /** - * CockroachDB + CockroachDB */ static constexpr const char *kCockroachdb = "cockroachdb"; /** - * Deprecated, no replacement at this time. + Deprecated, no replacement at this time. */ static constexpr const char *kColdfusion = "coldfusion"; /** - * Microsoft Azure Cosmos DB + Microsoft Azure Cosmos DB */ static constexpr const char *kCosmosdb = "cosmosdb"; /** - * Couchbase + Couchbase */ static constexpr const char *kCouchbase = "couchbase"; /** - * CouchDB + CouchDB */ static constexpr const char *kCouchdb = "couchdb"; /** - * IBM Db2 + IBM Db2 */ static constexpr const char *kDb2 = "db2"; /** - * Apache Derby + Apache Derby */ static constexpr const char *kDerby = "derby"; /** - * Amazon DynamoDB + Amazon DynamoDB */ static constexpr const char *kDynamodb = "dynamodb"; /** - * EnterpriseDB + EnterpriseDB */ static constexpr const char *kEdb = "edb"; /** - * Elasticsearch + Elasticsearch */ static constexpr const char *kElasticsearch = "elasticsearch"; /** - * FileMaker + FileMaker */ static constexpr const char *kFilemaker = "filemaker"; /** - * Firebird + Firebird */ static constexpr const char *kFirebird = "firebird"; /** - * Deprecated, use @code other_sql @endcode instead. + Deprecated, use @code other_sql @endcode instead. */ static constexpr const char *kFirstsql = "firstsql"; /** - * Apache Geode + Apache Geode */ static constexpr const char *kGeode = "geode"; /** - * H2 + H2 */ static constexpr const char *kH2 = "h2"; /** - * SAP HANA + SAP HANA */ static constexpr const char *kHanadb = "hanadb"; /** - * Apache HBase + Apache HBase */ static constexpr const char *kHbase = "hbase"; /** - * Apache Hive + Apache Hive */ static constexpr const char *kHive = "hive"; /** - * HyperSQL DataBase + HyperSQL DataBase */ static constexpr const char *kHsqldb = "hsqldb"; /** - * InfluxDB + InfluxDB */ static constexpr const char *kInfluxdb = "influxdb"; /** - * Informix + Informix */ static constexpr const char *kInformix = "informix"; /** - * Ingres + Ingres */ static constexpr const char *kIngres = "ingres"; /** - * InstantDB + InstantDB */ static constexpr const char *kInstantdb = "instantdb"; /** - * InterBase + InterBase */ static constexpr const char *kInterbase = "interbase"; /** - * MariaDB + MariaDB */ static constexpr const char *kMariadb = "mariadb"; /** - * SAP MaxDB + SAP MaxDB */ static constexpr const char *kMaxdb = "maxdb"; /** - * Memcached + Memcached */ static constexpr const char *kMemcached = "memcached"; /** - * MongoDB + MongoDB */ static constexpr const char *kMongodb = "mongodb"; /** - * Microsoft SQL Server + Microsoft SQL Server */ static constexpr const char *kMssql = "mssql"; /** - * Deprecated, Microsoft SQL Server Compact is discontinued. + Deprecated, Microsoft SQL Server Compact is discontinued. */ static constexpr const char *kMssqlcompact = "mssqlcompact"; /** - * MySQL + MySQL */ static constexpr const char *kMysql = "mysql"; /** - * Neo4j + Neo4j */ static constexpr const char *kNeo4j = "neo4j"; /** - * Netezza + Netezza */ static constexpr const char *kNetezza = "netezza"; /** - * OpenSearch + OpenSearch */ static constexpr const char *kOpensearch = "opensearch"; /** - * Oracle Database + Oracle Database */ static constexpr const char *kOracle = "oracle"; /** - * Pervasive PSQL + Pervasive PSQL */ static constexpr const char *kPervasive = "pervasive"; /** - * PointBase + PointBase */ static constexpr const char *kPointbase = "pointbase"; /** - * PostgreSQL + PostgreSQL */ static constexpr const char *kPostgresql = "postgresql"; /** - * Progress Database + Progress Database */ static constexpr const char *kProgress = "progress"; /** - * Redis + Redis */ static constexpr const char *kRedis = "redis"; /** - * Amazon Redshift + Amazon Redshift */ static constexpr const char *kRedshift = "redshift"; /** - * Cloud Spanner + Cloud Spanner */ static constexpr const char *kSpanner = "spanner"; /** - * SQLite + SQLite */ static constexpr const char *kSqlite = "sqlite"; /** - * Sybase + Sybase */ static constexpr const char *kSybase = "sybase"; /** - * Teradata + Teradata */ static constexpr const char *kTeradata = "teradata"; /** - * Trino + Trino */ static constexpr const char *kTrino = "trino"; /** - * Vertica + Vertica */ static constexpr const char *kVertica = "vertica"; @@ -1001,208 +1001,207 @@ static constexpr const char *kVertica = "vertica"; namespace DbSystemNameValues { /** - * Some other SQL database. Fallback only. + Some other SQL database. Fallback only. */ static constexpr const char *kOtherSql = "other_sql"; /** - * Adabas (Adaptable Database System) + Adabas (Adaptable Database System) */ static constexpr const char *kSoftwareagAdabas = "softwareag.adabas"; /** - * Actian Ingres + Actian Ingres */ static constexpr const char *kActianIngres = "actian.ingres"; /** - * Amazon DynamoDB + Amazon DynamoDB */ static constexpr const char *kAwsDynamodb = "aws.dynamodb"; /** - * Amazon Redshift + Amazon Redshift */ static constexpr const char *kAwsRedshift = "aws.redshift"; /** - * Azure Cosmos DB + Azure Cosmos DB */ static constexpr const char *kAzureCosmosdb = "azure.cosmosdb"; /** - * InterSystems Caché + InterSystems Caché */ static constexpr const char *kIntersystemsCache = "intersystems.cache"; /** - * Apache Cassandra + Apache Cassandra */ static constexpr const char *kCassandra = "cassandra"; /** - * ClickHouse + ClickHouse */ static constexpr const char *kClickhouse = "clickhouse"; /** - * CockroachDB + CockroachDB */ static constexpr const char *kCockroachdb = "cockroachdb"; /** - * Couchbase + Couchbase */ static constexpr const char *kCouchbase = "couchbase"; /** - * Apache CouchDB + Apache CouchDB */ static constexpr const char *kCouchdb = "couchdb"; /** - * Apache Derby + Apache Derby */ static constexpr const char *kDerby = "derby"; /** - * Elasticsearch + Elasticsearch */ static constexpr const char *kElasticsearch = "elasticsearch"; /** - * Firebird + Firebird */ static constexpr const char *kFirebirdsql = "firebirdsql"; /** - * Google Cloud Spanner + Google Cloud Spanner */ static constexpr const char *kGcpSpanner = "gcp.spanner"; /** - * Apache Geode + Apache Geode */ static constexpr const char *kGeode = "geode"; /** - * H2 Database + H2 Database */ static constexpr const char *kH2database = "h2database"; /** - * Apache HBase + Apache HBase */ static constexpr const char *kHbase = "hbase"; /** - * Apache Hive + Apache Hive */ static constexpr const char *kHive = "hive"; /** - * HyperSQL Database + HyperSQL Database */ static constexpr const char *kHsqldb = "hsqldb"; /** - * IBM Db2 + IBM Db2 */ static constexpr const char *kIbmDb2 = "ibm.db2"; /** - * IBM Informix + IBM Informix */ static constexpr const char *kIbmInformix = "ibm.informix"; /** - * IBM Netezza + IBM Netezza */ static constexpr const char *kIbmNetezza = "ibm.netezza"; /** - * InfluxDB + InfluxDB */ static constexpr const char *kInfluxdb = "influxdb"; /** - * Instant + Instant */ static constexpr const char *kInstantdb = "instantdb"; /** - * MariaDB + MariaDB */ static constexpr const char *kMariadb = "mariadb"; /** - * Memcached + Memcached */ static constexpr const char *kMemcached = "memcached"; /** - * MongoDB + MongoDB */ static constexpr const char *kMongodb = "mongodb"; /** - * Microsoft SQL Server + Microsoft SQL Server */ static constexpr const char *kMicrosoftSqlServer = "microsoft.sql_server"; /** - * MySQL + MySQL */ static constexpr const char *kMysql = "mysql"; /** - * Neo4j + Neo4j */ static constexpr const char *kNeo4j = "neo4j"; /** - * OpenSearch + OpenSearch */ static constexpr const char *kOpensearch = "opensearch"; /** - * Oracle Database + Oracle Database */ static constexpr const char *kOracleDb = "oracle.db"; /** - * PostgreSQL + PostgreSQL */ static constexpr const char *kPostgresql = "postgresql"; /** - * Redis + Redis */ static constexpr const char *kRedis = "redis"; /** - * SAP - * HANA + SAP HANA */ static constexpr const char *kSapHana = "sap.hana"; /** - * SAP MaxDB + SAP MaxDB */ static constexpr const char *kSapMaxdb = "sap.maxdb"; /** - * SQLite + SQLite */ static constexpr const char *kSqlite = "sqlite"; /** - * Teradata + Teradata */ static constexpr const char *kTeradata = "teradata"; /** - * Trino + Trino */ static constexpr const char *kTrino = "trino"; diff --git a/api/include/opentelemetry/semconv/incubating/db_metrics.h b/api/include/opentelemetry/semconv/incubating/db_metrics.h index 88e2577668..8b74c62bcf 100644 --- a/api/include/opentelemetry/semconv/incubating/db_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/db_metrics.h @@ -21,8 +21,8 @@ namespace db { /** - * The number of connections that are currently in state described by the @code state @endcode - * attribute

updowncounter + The number of connections that are currently in state described by the @code state @endcode + attribute

updowncounter */ static constexpr const char *kMetricDbClientConnectionCount = "db.client.connection.count"; static constexpr const char *descrMetricDbClientConnectionCount = @@ -62,9 +62,9 @@ CreateAsyncDoubleMetricDbClientConnectionCount(metrics::Meter *meter) } /** - * The time it took to create a new connection - *

- * histogram + The time it took to create a new connection +

+ histogram */ static constexpr const char *kMetricDbClientConnectionCreateTime = "db.client.connection.create_time"; @@ -89,9 +89,9 @@ CreateSyncDoubleMetricDbClientConnectionCreateTime(metrics::Meter *meter) } /** - * The maximum number of idle open connections allowed - *

- * updowncounter + The maximum number of idle open connections allowed +

+ updowncounter */ static constexpr const char *kMetricDbClientConnectionIdleMax = "db.client.connection.idle.max"; static constexpr const char *descrMetricDbClientConnectionIdleMax = @@ -131,9 +131,9 @@ CreateAsyncDoubleMetricDbClientConnectionIdleMax(metrics::Meter *meter) } /** - * The minimum number of idle open connections allowed - *

- * updowncounter + The minimum number of idle open connections allowed +

+ updowncounter */ static constexpr const char *kMetricDbClientConnectionIdleMin = "db.client.connection.idle.min"; static constexpr const char *descrMetricDbClientConnectionIdleMin = @@ -173,9 +173,9 @@ CreateAsyncDoubleMetricDbClientConnectionIdleMin(metrics::Meter *meter) } /** - * The maximum number of open connections allowed - *

- * updowncounter + The maximum number of open connections allowed +

+ updowncounter */ static constexpr const char *kMetricDbClientConnectionMax = "db.client.connection.max"; static constexpr const char *descrMetricDbClientConnectionMax = @@ -215,9 +215,9 @@ CreateAsyncDoubleMetricDbClientConnectionMax(metrics::Meter *meter) } /** - * The number of current pending requests for an open connection - *

- * updowncounter + The number of current pending requests for an open connection +

+ updowncounter */ static constexpr const char *kMetricDbClientConnectionPendingRequests = "db.client.connection.pending_requests"; @@ -258,9 +258,9 @@ CreateAsyncDoubleMetricDbClientConnectionPendingRequests(metrics::Meter *meter) } /** - * The number of connection timeouts that have occurred trying to obtain a connection from the pool - *

- * counter + The number of connection timeouts that have occurred trying to obtain a connection from the pool +

+ counter */ static constexpr const char *kMetricDbClientConnectionTimeouts = "db.client.connection.timeouts"; static constexpr const char *descrMetricDbClientConnectionTimeouts = @@ -301,9 +301,9 @@ CreateAsyncDoubleMetricDbClientConnectionTimeouts(metrics::Meter *meter) } /** - * The time between borrowing a connection and returning it to the pool - *

- * histogram + The time between borrowing a connection and returning it to the pool +

+ histogram */ static constexpr const char *kMetricDbClientConnectionUseTime = "db.client.connection.use_time"; static constexpr const char *descrMetricDbClientConnectionUseTime = @@ -327,9 +327,9 @@ CreateSyncDoubleMetricDbClientConnectionUseTime(metrics::Meter *meter) } /** - * The time it took to obtain an open connection from the pool - *

- * histogram + The time it took to obtain an open connection from the pool +

+ histogram */ static constexpr const char *kMetricDbClientConnectionWaitTime = "db.client.connection.wait_time"; static constexpr const char *descrMetricDbClientConnectionWaitTime = @@ -353,12 +353,12 @@ CreateSyncDoubleMetricDbClientConnectionWaitTime(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.create_time @endcode instead. Note: the unit also - * changed from @code ms @endcode to @code s @endcode. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.create_time @endcode with unit @code s - * @endcode.", "reason": "uncategorized"}

histogram + Deprecated, use @code db.client.connection.create_time @endcode instead. Note: the unit also + changed from @code ms @endcode to @code s @endcode. + + @deprecated + {"note": "Replaced by @code db.client.connection.create_time @endcode with unit @code s + @endcode.", "reason": "uncategorized"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsCreateTime = "db.client.connections.create_time"; @@ -385,11 +385,11 @@ CreateSyncDoubleMetricDbClientConnectionsCreateTime(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.idle.max @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.idle.max @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.idle.max"}

updowncounter + Deprecated, use @code db.client.connection.idle.max @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.idle.max @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.idle.max"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsIdleMax = "db.client.connections.idle.max"; @@ -431,11 +431,11 @@ CreateAsyncDoubleMetricDbClientConnectionsIdleMax(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.idle.min @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.idle.min @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.idle.min"}

updowncounter + Deprecated, use @code db.client.connection.idle.min @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.idle.min @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.idle.min"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsIdleMin = "db.client.connections.idle.min"; @@ -477,11 +477,11 @@ CreateAsyncDoubleMetricDbClientConnectionsIdleMin(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.max @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.max @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.max"}

updowncounter + Deprecated, use @code db.client.connection.max @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.max @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.max"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsMax = "db.client.connections.max"; @@ -523,11 +523,11 @@ CreateAsyncDoubleMetricDbClientConnectionsMax(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.pending_requests @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.pending_requests @endcode.", "reason": - * "renamed", "renamed_to": "db.client.connection.pending_requests"}

updowncounter + Deprecated, use @code db.client.connection.pending_requests @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.pending_requests @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.pending_requests"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsPendingRequests = "db.client.connections.pending_requests"; @@ -570,11 +570,11 @@ CreateAsyncDoubleMetricDbClientConnectionsPendingRequests(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.timeouts @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.timeouts @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.timeouts"}

counter + Deprecated, use @code db.client.connection.timeouts @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.timeouts @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.timeouts"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsTimeouts = "db.client.connections.timeouts"; @@ -616,11 +616,11 @@ CreateAsyncDoubleMetricDbClientConnectionsTimeouts(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.count @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.count @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.count"}

updowncounter + Deprecated, use @code db.client.connection.count @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.count @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.count"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsUsage = "db.client.connections.usage"; @@ -662,12 +662,12 @@ CreateAsyncDoubleMetricDbClientConnectionsUsage(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.use_time @endcode instead. Note: the unit also changed - * from @code ms @endcode to @code s @endcode. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.use_time @endcode with unit @code s @endcode.", - * "reason": "uncategorized"}

histogram + Deprecated, use @code db.client.connection.use_time @endcode instead. Note: the unit also changed + from @code ms @endcode to @code s @endcode. + + @deprecated + {"note": "Replaced by @code db.client.connection.use_time @endcode with unit @code s @endcode.", + "reason": "uncategorized"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsUseTime = "db.client.connections.use_time"; @@ -693,12 +693,12 @@ CreateSyncDoubleMetricDbClientConnectionsUseTime(metrics::Meter *meter) } /** - * Deprecated, use @code db.client.connection.wait_time @endcode instead. Note: the unit also - * changed from @code ms @endcode to @code s @endcode. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.wait_time @endcode with unit @code s @endcode.", - * "reason": "uncategorized"}

histogram + Deprecated, use @code db.client.connection.wait_time @endcode instead. Note: the unit also changed + from @code ms @endcode to @code s @endcode. + + @deprecated + {"note": "Replaced by @code db.client.connection.wait_time @endcode with unit @code s @endcode.", + "reason": "uncategorized"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsWaitTime = "db.client.connections.wait_time"; @@ -724,11 +724,11 @@ CreateSyncDoubleMetricDbClientConnectionsWaitTime(metrics::Meter *meter) } /** - * Deprecated, use @code azure.cosmosdb.client.active_instance.count @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.client.active_instance.count @endcode.", "reason": - * "renamed", "renamed_to": "azure.cosmosdb.client.active_instance.count"}

updowncounter + Deprecated, use @code azure.cosmosdb.client.active_instance.count @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.client.active_instance.count @endcode.", "reason": + "renamed", "renamed_to": "azure.cosmosdb.client.active_instance.count"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientCosmosdbActiveInstanceCount = "db.client.cosmosdb.active_instance.count"; @@ -771,11 +771,11 @@ CreateAsyncDoubleMetricDbClientCosmosdbActiveInstanceCount(metrics::Meter *meter } /** - * Deprecated, use @code azure.cosmosdb.client.operation.request_charge @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code azure.cosmosdb.client.operation.request_charge @endcode.", "reason": - * "renamed", "renamed_to": "azure.cosmosdb.client.operation.request_charge"}

histogram + Deprecated, use @code azure.cosmosdb.client.operation.request_charge @endcode instead. + + @deprecated + {"note": "Replaced by @code azure.cosmosdb.client.operation.request_charge @endcode.", "reason": + "renamed", "renamed_to": "azure.cosmosdb.client.operation.request_charge"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientCosmosdbOperationRequestCharge = "db.client.cosmosdb.operation.request_charge"; @@ -802,11 +802,11 @@ CreateSyncDoubleMetricDbClientCosmosdbOperationRequestCharge(metrics::Meter *met } /** - * Duration of database client operations. - *

- * Batch operations SHOULD be recorded as a single operation. - *

- * histogram + Duration of database client operations. +

+ Batch operations SHOULD be recorded as a single operation. +

+ histogram */ static constexpr const char *kMetricDbClientOperationDuration = "db.client.operation.duration"; static constexpr const char *descrMetricDbClientOperationDuration = @@ -830,9 +830,9 @@ CreateSyncDoubleMetricDbClientOperationDuration(metrics::Meter *meter) } /** - * The actual number of records returned by the database operation. - *

- * histogram + The actual number of records returned by the database operation. +

+ histogram */ static constexpr const char *kMetricDbClientResponseReturnedRows = "db.client.response.returned_rows"; diff --git a/api/include/opentelemetry/semconv/incubating/deployment_attributes.h b/api/include/opentelemetry/semconv/incubating/deployment_attributes.h index 11caeb428e..33209ebbf0 100644 --- a/api/include/opentelemetry/semconv/incubating/deployment_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/deployment_attributes.h @@ -20,53 +20,53 @@ namespace deployment { /** - * 'Deprecated, use @code deployment.environment.name @endcode instead.' - * - * @deprecated - * {"note": "Replaced by @code deployment.environment.name @endcode.", "reason": "renamed", - * "renamed_to": "deployment.environment.name"} + 'Deprecated, use @code deployment.environment.name @endcode instead.' + + @deprecated + {"note": "Replaced by @code deployment.environment.name @endcode.", "reason": "renamed", + "renamed_to": "deployment.environment.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kDeploymentEnvironment = "deployment.environment"; /** - * Name of the deployment - * environment (aka deployment tier).

- * @code deployment.environment.name @endcode does not affect the uniqueness constraints defined - * through the @code service.namespace @endcode, @code service.name @endcode and @code - * service.instance.id @endcode resource attributes. This implies that resources carrying the - * following attribute combinations MUST be considered to be identifying the same service:

    - *
  • @code service.name=frontend @endcode, @code deployment.environment.name=production - * @endcode
  • @code service.name=frontend @endcode, @code deployment.environment.name=staging - * @endcode.
  • - *
+ Name of the deployment environment + (aka deployment tier).

+ @code deployment.environment.name @endcode does not affect the uniqueness constraints defined + through the @code service.namespace @endcode, @code service.name @endcode and @code + service.instance.id @endcode resource attributes. This implies that resources carrying the + following attribute combinations MUST be considered to be identifying the same service:

    +
  • @code service.name=frontend @endcode, @code deployment.environment.name=production + @endcode
  • @code service.name=frontend @endcode, @code deployment.environment.name=staging + @endcode.
  • +
*/ static constexpr const char *kDeploymentEnvironmentName = "deployment.environment.name"; /** - * The id of the deployment. + The id of the deployment. */ static constexpr const char *kDeploymentId = "deployment.id"; /** - * The name of the deployment. + The name of the deployment. */ static constexpr const char *kDeploymentName = "deployment.name"; /** - * The status of the deployment. + The status of the deployment. */ static constexpr const char *kDeploymentStatus = "deployment.status"; namespace DeploymentStatusValues { /** - * failed + failed */ static constexpr const char *kFailed = "failed"; /** - * succeeded + succeeded */ static constexpr const char *kSucceeded = "succeeded"; diff --git a/api/include/opentelemetry/semconv/incubating/destination_attributes.h b/api/include/opentelemetry/semconv/incubating/destination_attributes.h index 5069fc03b7..e4f01b357c 100644 --- a/api/include/opentelemetry/semconv/incubating/destination_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/destination_attributes.h @@ -20,15 +20,15 @@ namespace destination { /** - * Destination address - domain name if available without reverse DNS lookup; otherwise, IP address - * or Unix domain socket name.

When observed from the source side, and when communicating - * through an intermediary, @code destination.address @endcode SHOULD represent the destination - * address behind any intermediaries, for example proxies, if it's available. + Destination address - domain name if available without reverse DNS lookup; otherwise, IP address + or Unix domain socket name.

When observed from the source side, and when communicating through + an intermediary, @code destination.address @endcode SHOULD represent the destination address + behind any intermediaries, for example proxies, if it's available. */ static constexpr const char *kDestinationAddress = "destination.address"; /** - * Destination port number + Destination port number */ static constexpr const char *kDestinationPort = "destination.port"; diff --git a/api/include/opentelemetry/semconv/incubating/device_attributes.h b/api/include/opentelemetry/semconv/incubating/device_attributes.h index f2c4874e14..f69856ee4f 100644 --- a/api/include/opentelemetry/semconv/incubating/device_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/device_attributes.h @@ -20,51 +20,50 @@ namespace device { /** - * A unique identifier representing the device - *

- * Its value SHOULD be identical for all apps on a device and it SHOULD NOT change if an app is - * uninstalled and re-installed. However, it might be resettable by the user for all apps on a - * device. Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be used as - * values.

More information about Android identifier best practices can be found here.

- * [!WARNING] - *

- * This attribute may contain sensitive (PII) information. Caution should be taken when storing - * personal data or anything which can identify a user. GDPR and data protection laws may apply, - * ensure you do your own due diligence. - *

- * Due to these reasons, this identifier is not recommended for consumer applications and will - * likely result in rejection from both Google Play and App Store. However, it may be appropriate - * for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with - * appropriate compliance clearance. Any instrumentation providing this identifier MUST implement it - * as an opt-in feature.

See @code app.installation.id - * @endcode for a more privacy-preserving alternative.

+ A unique identifier representing the device +

+ Its value SHOULD be identical for all apps on a device and it SHOULD NOT change if an app is + uninstalled and re-installed. However, it might be resettable by the user for all apps on a + device. Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be used as + values.

More information about Android identifier best practices can be found here.

+ [!WARNING] +

+ This attribute may contain sensitive (PII) information. Caution should be taken when storing + personal data or anything which can identify a user. GDPR and data protection laws may apply, + ensure you do your own due diligence. +

+ Due to these reasons, this identifier is not recommended for consumer applications and will likely + result in rejection from both Google Play and App Store. However, it may be appropriate for + specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with + appropriate compliance clearance. Any instrumentation providing this identifier MUST implement it + as an opt-in feature.

See @code + app.installation.id @endcode for a more privacy-preserving alternative.

*/ static constexpr const char *kDeviceId = "device.id"; /** - * The name of the device manufacturer - *

- * The Android OS provides this field via Build. iOS apps - * SHOULD hardcode the value @code Apple @endcode. + The name of the device manufacturer +

+ The Android OS provides this field via Build. iOS apps + SHOULD hardcode the value @code Apple @endcode. */ static constexpr const char *kDeviceManufacturer = "device.manufacturer"; /** - * The model identifier for the device - *

- * It's recommended this value represents a machine-readable version of the model identifier rather - * than the market or consumer-friendly name of the device. + The model identifier for the device +

+ It's recommended this value represents a machine-readable version of the model identifier rather + than the market or consumer-friendly name of the device. */ static constexpr const char *kDeviceModelIdentifier = "device.model.identifier"; /** - * The marketing name for the device model - *

- * It's recommended this value represents a human-readable version of the device model rather than a - * machine-readable alternative. + The marketing name for the device model +

+ It's recommended this value represents a human-readable version of the device model rather than a + machine-readable alternative. */ static constexpr const char *kDeviceModelName = "device.model.name"; diff --git a/api/include/opentelemetry/semconv/incubating/disk_attributes.h b/api/include/opentelemetry/semconv/incubating/disk_attributes.h index ff938a9612..c2504d75ff 100644 --- a/api/include/opentelemetry/semconv/incubating/disk_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/disk_attributes.h @@ -20,19 +20,19 @@ namespace disk { /** - * The disk IO operation direction. + The disk IO operation direction. */ static constexpr const char *kDiskIoDirection = "disk.io.direction"; namespace DiskIoDirectionValues { /** - * none + none */ static constexpr const char *kRead = "read"; /** - * none + none */ static constexpr const char *kWrite = "write"; diff --git a/api/include/opentelemetry/semconv/incubating/dns_attributes.h b/api/include/opentelemetry/semconv/incubating/dns_attributes.h index b835e2a73a..030828ab94 100644 --- a/api/include/opentelemetry/semconv/incubating/dns_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/dns_attributes.h @@ -20,12 +20,12 @@ namespace dns { /** - * The name being queried. - *

- * If the name field contains non-printable characters (below 32 or above 126), those characters - * should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be - * escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n - * respectively. + The name being queried. +

+ If the name field contains non-printable characters (below 32 or above 126), those characters + should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should be + escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n + respectively. */ static constexpr const char *kDnsQuestionName = "dns.question.name"; diff --git a/api/include/opentelemetry/semconv/incubating/dns_metrics.h b/api/include/opentelemetry/semconv/incubating/dns_metrics.h index 019fea6742..11a9d4ba8d 100644 --- a/api/include/opentelemetry/semconv/incubating/dns_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/dns_metrics.h @@ -21,9 +21,9 @@ namespace dns { /** - * Measures the time taken to perform a DNS lookup. - *

- * histogram + Measures the time taken to perform a DNS lookup. +

+ histogram */ static constexpr const char *kMetricDnsLookupDuration = "dns.lookup.duration"; static constexpr const char *descrMetricDnsLookupDuration = diff --git a/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h b/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h index 5696ebf627..e0c9c5a221 100644 --- a/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h @@ -20,7 +20,7 @@ namespace elasticsearch { /** - * Represents the human-readable identifier of the node/instance to which a request was routed. + Represents the human-readable identifier of the node/instance to which a request was routed. */ static constexpr const char *kElasticsearchNodeName = "elasticsearch.node.name"; diff --git a/api/include/opentelemetry/semconv/incubating/enduser_attributes.h b/api/include/opentelemetry/semconv/incubating/enduser_attributes.h index b31773ae36..9120aa2c05 100644 --- a/api/include/opentelemetry/semconv/incubating/enduser_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/enduser_attributes.h @@ -20,35 +20,35 @@ namespace enduser { /** - * Unique identifier of an end user in the system. It maybe a username, email address, or other - * identifier.

Unique identifier of an end user in the system.

- * [!Warning] - * This field contains sensitive (PII) information.
+ Unique identifier of an end user in the system. It maybe a username, email address, or other + identifier.

Unique identifier of an end user in the system.

+ [!Warning] + This field contains sensitive (PII) information.
*/ static constexpr const char *kEnduserId = "enduser.id"; /** - * Pseudonymous identifier of an end user. This identifier should be a random value that is not - * directly linked or associated with the end user's actual identity.

Pseudonymous identifier of - * an end user.

- * [!Warning] - * This field contains sensitive (linkable PII) information.
+ Pseudonymous identifier of an end user. This identifier should be a random value that is not + directly linked or associated with the end user's actual identity.

Pseudonymous identifier of + an end user.

+ [!Warning] + This field contains sensitive (linkable PII) information.
*/ static constexpr const char *kEnduserPseudoId = "enduser.pseudo.id"; /** - * Deprecated, use @code user.roles @endcode instead. - * - * @deprecated - * {"note": "Use @code user.roles @endcode attribute instead.", "reason": "uncategorized"} + Deprecated, use @code user.roles @endcode instead. + + @deprecated + {"note": "Use @code user.roles @endcode attribute instead.", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kEnduserRole = "enduser.role"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kEnduserScope = "enduser.scope"; diff --git a/api/include/opentelemetry/semconv/incubating/error_attributes.h b/api/include/opentelemetry/semconv/incubating/error_attributes.h index cdb45f0d41..439ae7bb11 100644 --- a/api/include/opentelemetry/semconv/incubating/error_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/error_attributes.h @@ -20,45 +20,45 @@ namespace error { /** - * A message providing more detail about an error in human-readable form. - *

- * @code error.message @endcode should provide additional context and detail about an error. - * It is NOT RECOMMENDED to duplicate the value of @code error.type @endcode in @code error.message - * @endcode. It is also NOT RECOMMENDED to duplicate the value of @code exception.message @endcode - * in @code error.message @endcode.

- * @code error.message @endcode is NOT RECOMMENDED for metrics or spans due to its unbounded - * cardinality and overlap with span status. + A message providing more detail about an error in human-readable form. +

+ @code error.message @endcode should provide additional context and detail about an error. + It is NOT RECOMMENDED to duplicate the value of @code error.type @endcode in @code error.message + @endcode. It is also NOT RECOMMENDED to duplicate the value of @code exception.message @endcode in + @code error.message @endcode.

+ @code error.message @endcode is NOT RECOMMENDED for metrics or spans due to its unbounded + cardinality and overlap with span status. */ static constexpr const char *kErrorMessage = "error.message"; /** - * Describes a class of error the operation ended with. - *

- * The @code error.type @endcode SHOULD be predictable, and SHOULD have low cardinality. - *

- * When @code error.type @endcode is set to a type (e.g., an exception type), its - * canonical class name identifying the type within the artifact SHOULD be used. - *

- * Instrumentations SHOULD document the list of errors they report. - *

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

- * If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type - * @endcode.

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

  • Use a domain-specific attribute
  • Set @code - * error.type @endcode to capture all errors, regardless of whether they are defined within the - * domain-specific set or not.
  • - *
+ Describes a class of error the operation ended with. +

+ The @code error.type @endcode SHOULD be predictable, and SHOULD have low cardinality. +

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

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

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

+ If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type + @endcode.

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

  • Use a domain-specific attribute
  • Set @code + error.type @endcode to capture all errors, regardless of whether they are defined within the + domain-specific set or not.
  • +
*/ static constexpr const char *kErrorType = "error.type"; namespace ErrorTypeValues { /** - * A fallback error value to be used when the instrumentation doesn't define a custom value. + A fallback error value to be used when the instrumentation doesn't define a custom value. */ static constexpr const char *kOther = "_OTHER"; diff --git a/api/include/opentelemetry/semconv/incubating/event_attributes.h b/api/include/opentelemetry/semconv/incubating/event_attributes.h index ca99d470de..de4d30a570 100644 --- a/api/include/opentelemetry/semconv/incubating/event_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/event_attributes.h @@ -20,10 +20,10 @@ namespace event { /** - * Identifies the class / type of event. - * - * @deprecated - * {"note": "Replaced by EventName top-level field on the LogRecord.\n", "reason": "uncategorized"} + Identifies the class / type of event. + + @deprecated + {"note": "Replaced by EventName top-level field on the LogRecord.\n", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kEventName = "event.name"; diff --git a/api/include/opentelemetry/semconv/incubating/exception_attributes.h b/api/include/opentelemetry/semconv/incubating/exception_attributes.h index 3aee91bde3..8947d711f1 100644 --- a/api/include/opentelemetry/semconv/incubating/exception_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/exception_attributes.h @@ -20,28 +20,28 @@ namespace exception { /** - * Indicates that the exception is escaping the scope of the span. - * - * @deprecated - * {"note": "It's no longer recommended to record exceptions that are handled and do not escape the - * scope of a span.\n", "reason": "obsoleted"} + Indicates that the exception is escaping the scope of the span. + + @deprecated + {"note": "It's no longer recommended to record exceptions that are handled and do not escape the + scope of a span.\n", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kExceptionEscaped = "exception.escaped"; /** - * The exception message. + The exception message. */ static constexpr const char *kExceptionMessage = "exception.message"; /** - * A stacktrace as a string in the natural representation for the language runtime. The - * representation is to be determined and documented by each language SIG. + A stacktrace as a string in the natural representation for the language runtime. The + representation is to be determined and documented by each language SIG. */ static constexpr const char *kExceptionStacktrace = "exception.stacktrace"; /** - * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of - * the exception should be preferred over the static type in languages that support it. + The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the + exception should be preferred over the static type in languages that support it. */ static constexpr const char *kExceptionType = "exception.type"; diff --git a/api/include/opentelemetry/semconv/incubating/faas_attributes.h b/api/include/opentelemetry/semconv/incubating/faas_attributes.h index 7fb929800f..9f9690824b 100644 --- a/api/include/opentelemetry/semconv/incubating/faas_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/faas_attributes.h @@ -20,149 +20,149 @@ namespace faas { /** - * A boolean that is true if the serverless function is executed for the first time (aka - * cold-start). + A boolean that is true if the serverless function is executed for the first time (aka cold-start). */ static constexpr const char *kFaasColdstart = "faas.coldstart"; /** - * A string containing the schedule period as Cron - * Expression. + A string containing the schedule period as Cron + Expression. */ static constexpr const char *kFaasCron = "faas.cron"; /** - * The name of the source on which the triggering operation was performed. For example, in Cloud - * Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. + The name of the source on which the triggering operation was performed. For example, in Cloud + Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name. */ static constexpr const char *kFaasDocumentCollection = "faas.document.collection"; /** - * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the - * name of the file, and in Cosmos DB the table name. + The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the + name of the file, and in Cosmos DB the table name. */ static constexpr const char *kFaasDocumentName = "faas.document.name"; /** - * Describes the type of the operation that was performed on the data. + Describes the type of the operation that was performed on the data. */ static constexpr const char *kFaasDocumentOperation = "faas.document.operation"; /** - * A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. + A string containing the time when the data was accessed in the ISO 8601 format expressed in UTC. */ static constexpr const char *kFaasDocumentTime = "faas.document.time"; /** - * The execution environment ID as a string, that will be potentially reused for other invocations - * to the same function/function version.
  • AWS Lambda: Use the (full) log - * stream name.
  • - *
+ The execution environment ID as a string, that will be potentially reused for other invocations to + the same function/function version.
  • AWS Lambda: Use the (full) log + stream name.
  • +
*/ static constexpr const char *kFaasInstance = "faas.instance"; /** - * The invocation ID of the current function invocation. + The invocation ID of the current function invocation. */ static constexpr const char *kFaasInvocationId = "faas.invocation_id"; /** - * The name of the invoked function. - *

- * SHOULD be equal to the @code faas.name @endcode resource attribute of the invoked function. + The name of the invoked function. +

+ SHOULD be equal to the @code faas.name @endcode resource attribute of the invoked function. */ static constexpr const char *kFaasInvokedName = "faas.invoked_name"; /** - * The cloud provider of the invoked function. - *

- * SHOULD be equal to the @code cloud.provider @endcode resource attribute of the invoked function. + The cloud provider of the invoked function. +

+ SHOULD be equal to the @code cloud.provider @endcode resource attribute of the invoked function. */ static constexpr const char *kFaasInvokedProvider = "faas.invoked_provider"; /** - * The cloud region of the invoked function. - *

- * SHOULD be equal to the @code cloud.region @endcode resource attribute of the invoked function. + The cloud region of the invoked function. +

+ SHOULD be equal to the @code cloud.region @endcode resource attribute of the invoked function. */ static constexpr const char *kFaasInvokedRegion = "faas.invoked_region"; /** - * The amount of memory available to the serverless function converted to Bytes. - *

- * It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS - * Lambda function from working correctly. On AWS Lambda, the environment variable @code - * AWS_LAMBDA_FUNCTION_MEMORY_SIZE @endcode provides this information (which must be multiplied by - * 1,048,576). + The amount of memory available to the serverless function converted to Bytes. +

+ It's recommended to set this attribute since e.g. too little memory can easily stop a Java AWS + Lambda function from working correctly. On AWS Lambda, the environment variable @code + AWS_LAMBDA_FUNCTION_MEMORY_SIZE @endcode provides this information (which must be multiplied by + 1,048,576). */ static constexpr const char *kFaasMaxMemory = "faas.max_memory"; /** - * The name of the single function that this runtime instance executes. - *

- * This is the name of the function as configured/deployed on the FaaS - * platform and is usually different from the name of the callback - * function (which may be stored in the - * @code code.namespace @endcode/@code - * code.function.name @endcode span attributes).

For some cloud providers, the above - * definition is ambiguous. The following definition of function name MUST be used for this - * attribute (and consequently the span name) for the listed cloud providers/products:

    - *
  • Azure: The full name @code / @endcode, i.e., function app - * name followed by a forward slash followed by the function name (this form can also be seen in the - * resource JSON for the function). This means that a span attribute MUST be used, as an Azure - * function app can host multiple functions that would usually share a TracerProvider (see also the - * @code cloud.resource_id @endcode attribute).
  • - *
+ The name of the single function that this runtime instance executes. +

+ This is the name of the function as configured/deployed on the FaaS + platform and is usually different from the name of the callback + function (which may be stored in the + @code code.namespace @endcode/@code + code.function.name @endcode span attributes).

For some cloud providers, the above + definition is ambiguous. The following definition of function name MUST be used for this attribute + (and consequently the span name) for the listed cloud providers/products: +

    +
  • Azure: The full name @code / @endcode, i.e., function app + name followed by a forward slash followed by the function name (this form can also be seen in the + resource JSON for the function). This means that a span attribute MUST be used, as an Azure + function app can host multiple functions that would usually share a TracerProvider (see also the + @code cloud.resource_id @endcode attribute).
  • +
*/ static constexpr const char *kFaasName = "faas.name"; /** - * A string containing the function invocation time in the ISO 8601 format expressed in UTC. + A string containing the function invocation time in the ISO 8601 format expressed in UTC. */ static constexpr const char *kFaasTime = "faas.time"; /** - * Type of the trigger which caused this function invocation. + Type of the trigger which caused this function invocation. */ static constexpr const char *kFaasTrigger = "faas.trigger"; /** - * The immutable version of the function being executed. - *

- * Depending on the cloud provider and platform, use: - *

+ The immutable version of the function being executed. +

+ Depending on the cloud provider and platform, use: +

*/ static constexpr const char *kFaasVersion = "faas.version"; namespace FaasDocumentOperationValues { /** - * When a new object is created. + When a new object is created. */ static constexpr const char *kInsert = "insert"; /** - * When an object is modified. + When an object is modified. */ static constexpr const char *kEdit = "edit"; /** - * When an object is deleted. + When an object is deleted. */ static constexpr const char *kDelete = "delete"; @@ -171,27 +171,27 @@ static constexpr const char *kDelete = "delete"; namespace FaasInvokedProviderValues { /** - * Alibaba Cloud + Alibaba Cloud */ static constexpr const char *kAlibabaCloud = "alibaba_cloud"; /** - * Amazon Web Services + Amazon Web Services */ static constexpr const char *kAws = "aws"; /** - * Microsoft Azure + Microsoft Azure */ static constexpr const char *kAzure = "azure"; /** - * Google Cloud Platform + Google Cloud Platform */ static constexpr const char *kGcp = "gcp"; /** - * Tencent Cloud + Tencent Cloud */ static constexpr const char *kTencentCloud = "tencent_cloud"; @@ -200,27 +200,27 @@ static constexpr const char *kTencentCloud = "tencent_cloud"; namespace FaasTriggerValues { /** - * A response to some data source operation such as a database or filesystem read/write + A response to some data source operation such as a database or filesystem read/write */ static constexpr const char *kDatasource = "datasource"; /** - * To provide an answer to an inbound HTTP request + To provide an answer to an inbound HTTP request */ static constexpr const char *kHttp = "http"; /** - * A function is set to be executed when messages are sent to a messaging system + A function is set to be executed when messages are sent to a messaging system */ static constexpr const char *kPubsub = "pubsub"; /** - * A function is scheduled to be executed regularly + A function is scheduled to be executed regularly */ static constexpr const char *kTimer = "timer"; /** - * If none of the others apply + If none of the others apply */ static constexpr const char *kOther = "other"; diff --git a/api/include/opentelemetry/semconv/incubating/faas_metrics.h b/api/include/opentelemetry/semconv/incubating/faas_metrics.h index 72109d887a..99888cde9d 100644 --- a/api/include/opentelemetry/semconv/incubating/faas_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/faas_metrics.h @@ -21,9 +21,9 @@ namespace faas { /** - * Number of invocation cold starts - *

- * counter + Number of invocation cold starts +

+ counter */ static constexpr const char *kMetricFaasColdstarts = "faas.coldstarts"; static constexpr const char *descrMetricFaasColdstarts = "Number of invocation cold starts"; @@ -58,9 +58,9 @@ CreateAsyncDoubleMetricFaasColdstarts(metrics::Meter *meter) } /** - * Distribution of CPU usage per invocation - *

- * histogram + Distribution of CPU usage per invocation +

+ histogram */ static constexpr const char *kMetricFaasCpuUsage = "faas.cpu_usage"; static constexpr const char *descrMetricFaasCpuUsage = "Distribution of CPU usage per invocation"; @@ -81,9 +81,9 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Number of invocation errors - *

- * counter + Number of invocation errors +

+ counter */ static constexpr const char *kMetricFaasErrors = "faas.errors"; static constexpr const char *descrMetricFaasErrors = "Number of invocation errors"; @@ -116,9 +116,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Measures the duration of the function's initialization, such as a cold start - *

- * histogram + Measures the duration of the function's initialization, such as a cold start +

+ histogram */ static constexpr const char *kMetricFaasInitDuration = "faas.init_duration"; static constexpr const char *descrMetricFaasInitDuration = @@ -140,9 +140,9 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Number of successful invocations - *

- * counter + Number of successful invocations +

+ counter */ static constexpr const char *kMetricFaasInvocations = "faas.invocations"; static constexpr const char *descrMetricFaasInvocations = "Number of successful invocations"; @@ -177,9 +177,9 @@ CreateAsyncDoubleMetricFaasInvocations(metrics::Meter *meter) } /** - * Measures the duration of the function's logic execution - *

- * histogram + Measures the duration of the function's logic execution +

+ histogram */ static constexpr const char *kMetricFaasInvokeDuration = "faas.invoke_duration"; static constexpr const char *descrMetricFaasInvokeDuration = @@ -201,9 +201,9 @@ CreateSyncDoubleMetricFaasInvokeDuration(metrics::Meter *meter) } /** - * Distribution of max memory usage per invocation - *

- * histogram + Distribution of max memory usage per invocation +

+ histogram */ static constexpr const char *kMetricFaasMemUsage = "faas.mem_usage"; static constexpr const char *descrMetricFaasMemUsage = @@ -225,9 +225,9 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Distribution of net I/O usage per invocation - *

- * histogram + Distribution of net I/O usage per invocation +

+ histogram */ static constexpr const char *kMetricFaasNetIo = "faas.net_io"; static constexpr const char *descrMetricFaasNetIo = "Distribution of net I/O usage per invocation"; @@ -246,9 +246,9 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Number of invocation timeouts - *

- * counter + Number of invocation timeouts +

+ counter */ static constexpr const char *kMetricFaasTimeouts = "faas.timeouts"; static constexpr const char *descrMetricFaasTimeouts = "Number of invocation timeouts"; diff --git a/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h b/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h index 0e531a6413..f80c0ad4cb 100644 --- a/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h @@ -20,134 +20,134 @@ namespace feature_flag { /** - * The unique identifier for the flag evaluation context. For example, the targeting key. + The unique identifier for the flag evaluation context. For example, the targeting key. */ static constexpr const char *kFeatureFlagContextId = "feature_flag.context.id"; /** - * Deprecated, use @code error.message @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code error.message @endcode.", "reason": "renamed", "renamed_to": - * "error.message"} + Deprecated, use @code error.message @endcode instead. + + @deprecated + {"note": "Replaced by @code error.message @endcode.", "reason": "renamed", "renamed_to": + "error.message"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kFeatureFlagEvaluationErrorMessage = "feature_flag.evaluation.error.message"; /** - * Deprecated, use @code feature_flag.result.reason @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code feature_flag.result.reason @endcode.", "reason": "renamed", - * "renamed_to": "feature_flag.result.reason"} + Deprecated, use @code feature_flag.result.reason @endcode instead. + + @deprecated + {"note": "Replaced by @code feature_flag.result.reason @endcode.", "reason": "renamed", + "renamed_to": "feature_flag.result.reason"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kFeatureFlagEvaluationReason = "feature_flag.evaluation.reason"; /** - * The lookup key of the feature flag. + The lookup key of the feature flag. */ static constexpr const char *kFeatureFlagKey = "feature_flag.key"; /** - * Identifies the feature flag provider. + Identifies the feature flag provider. */ static constexpr const char *kFeatureFlagProviderName = "feature_flag.provider.name"; /** - * The reason code which shows how a feature flag value was determined. + The reason code which shows how a feature flag value was determined. */ static constexpr const char *kFeatureFlagResultReason = "feature_flag.result.reason"; /** - * The evaluated value of the feature flag. - *

- * With some feature flag providers, feature flag results can be quite large or contain private or - * sensitive details. Because of this, @code feature_flag.result.variant @endcode is often the - * preferred attribute if it is available.

It may be desirable to redact or otherwise limit the - * size and scope of @code feature_flag.result.value @endcode if possible. Because the evaluated - * flag value is unstructured and may be any type, it is left to the instrumentation author to - * determine how best to achieve this. + The evaluated value of the feature flag. +

+ With some feature flag providers, feature flag results can be quite large or contain private or + sensitive details. Because of this, @code feature_flag.result.variant @endcode is often the + preferred attribute if it is available.

It may be desirable to redact or otherwise limit the + size and scope of @code feature_flag.result.value @endcode if possible. Because the evaluated flag + value is unstructured and may be any type, it is left to the instrumentation author to determine + how best to achieve this. */ static constexpr const char *kFeatureFlagResultValue = "feature_flag.result.value"; /** - * A semantic identifier for an evaluated flag value. - *

- * A semantic identifier, commonly referred to as a variant, provides a means - * for referring to a value without including the value itself. This can - * provide additional context for understanding the meaning behind a value. - * For example, the variant @code red @endcode maybe be used for the value @code #c05543 @endcode. + A semantic identifier for an evaluated flag value. +

+ A semantic identifier, commonly referred to as a variant, provides a means + for referring to a value without including the value itself. This can + provide additional context for understanding the meaning behind a value. + For example, the variant @code red @endcode maybe be used for the value @code #c05543 @endcode. */ static constexpr const char *kFeatureFlagResultVariant = "feature_flag.result.variant"; /** - * The identifier of the flag - * set to which the feature flag belongs. + The identifier of the flag + set to which the feature flag belongs. */ static constexpr const char *kFeatureFlagSetId = "feature_flag.set.id"; /** - * Deprecated, use @code feature_flag.result.variant @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code feature_flag.result.variant @endcode.", "reason": "renamed", - * "renamed_to": "feature_flag.result.variant"} + Deprecated, use @code feature_flag.result.variant @endcode instead. + + @deprecated + {"note": "Replaced by @code feature_flag.result.variant @endcode.", "reason": "renamed", + "renamed_to": "feature_flag.result.variant"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kFeatureFlagVariant = "feature_flag.variant"; /** - * The version of the ruleset used during the evaluation. This may be any stable value which - * uniquely identifies the ruleset. + The version of the ruleset used during the evaluation. This may be any stable value which uniquely + identifies the ruleset. */ static constexpr const char *kFeatureFlagVersion = "feature_flag.version"; namespace FeatureFlagEvaluationReasonValues { /** - * The resolved value is static (no dynamic evaluation). + The resolved value is static (no dynamic evaluation). */ static constexpr const char *kStatic = "static"; /** - * The resolved value fell back to a pre-configured value (no dynamic evaluation occurred or dynamic - * evaluation yielded no result). + The resolved value fell back to a pre-configured value (no dynamic evaluation occurred or dynamic + evaluation yielded no result). */ static constexpr const char *kDefault = "default"; /** - * The resolved value was the result of a dynamic evaluation, such as a rule or specific - * user-targeting. + The resolved value was the result of a dynamic evaluation, such as a rule or specific + user-targeting. */ static constexpr const char *kTargetingMatch = "targeting_match"; /** - * The resolved value was the result of pseudorandom assignment. + The resolved value was the result of pseudorandom assignment. */ static constexpr const char *kSplit = "split"; /** - * The resolved value was retrieved from cache. + The resolved value was retrieved from cache. */ static constexpr const char *kCached = "cached"; /** - * The resolved value was the result of the flag being disabled in the management system. + The resolved value was the result of the flag being disabled in the management system. */ static constexpr const char *kDisabled = "disabled"; /** - * The reason for the resolved value could not be determined. + The reason for the resolved value could not be determined. */ static constexpr const char *kUnknown = "unknown"; /** - * The resolved value is non-authoritative or possibly out of date + The resolved value is non-authoritative or possibly out of date */ static constexpr const char *kStale = "stale"; /** - * The resolved value was the result of an error. + The resolved value was the result of an error. */ static constexpr const char *kError = "error"; @@ -156,49 +156,49 @@ static constexpr const char *kError = "error"; namespace FeatureFlagResultReasonValues { /** - * The resolved value is static (no dynamic evaluation). + The resolved value is static (no dynamic evaluation). */ static constexpr const char *kStatic = "static"; /** - * The resolved value fell back to a pre-configured value (no dynamic evaluation occurred or dynamic - * evaluation yielded no result). + The resolved value fell back to a pre-configured value (no dynamic evaluation occurred or dynamic + evaluation yielded no result). */ static constexpr const char *kDefault = "default"; /** - * The resolved value was the result of a dynamic evaluation, such as a rule or specific - * user-targeting. + The resolved value was the result of a dynamic evaluation, such as a rule or specific + user-targeting. */ static constexpr const char *kTargetingMatch = "targeting_match"; /** - * The resolved value was the result of pseudorandom assignment. + The resolved value was the result of pseudorandom assignment. */ static constexpr const char *kSplit = "split"; /** - * The resolved value was retrieved from cache. + The resolved value was retrieved from cache. */ static constexpr const char *kCached = "cached"; /** - * The resolved value was the result of the flag being disabled in the management system. + The resolved value was the result of the flag being disabled in the management system. */ static constexpr const char *kDisabled = "disabled"; /** - * The reason for the resolved value could not be determined. + The reason for the resolved value could not be determined. */ static constexpr const char *kUnknown = "unknown"; /** - * The resolved value is non-authoritative or possibly out of date + The resolved value is non-authoritative or possibly out of date */ static constexpr const char *kStale = "stale"; /** - * The resolved value was the result of an error. + The resolved value was the result of an error. */ static constexpr const char *kError = "error"; diff --git a/api/include/opentelemetry/semconv/incubating/file_attributes.h b/api/include/opentelemetry/semconv/incubating/file_attributes.h index 2ac4fc4b55..09d1b2c90f 100644 --- a/api/include/opentelemetry/semconv/incubating/file_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/file_attributes.h @@ -20,122 +20,121 @@ namespace file { /** - * Time when the file was last accessed, in ISO 8601 format. - *

- * This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. + Time when the file was last accessed, in ISO 8601 format. +

+ This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. */ static constexpr const char *kFileAccessed = "file.accessed"; /** - * Array of file attributes. - *

- * Attributes names depend on the OS or file system. Here’s a non-exhaustive list of values expected - * for this attribute: @code archive @endcode, @code compressed @endcode, @code directory @endcode, - * @code encrypted @endcode, @code execute @endcode, @code hidden @endcode, @code immutable - * @endcode, @code journaled @endcode, @code read @endcode, @code readonly @endcode, @code symbolic - * link @endcode, @code system @endcode, @code temporary @endcode, @code write @endcode. + Array of file attributes. +

+ Attributes names depend on the OS or file system. Here’s a non-exhaustive list of values expected + for this attribute: @code archive @endcode, @code compressed @endcode, @code directory @endcode, + @code encrypted @endcode, @code execute @endcode, @code hidden @endcode, @code immutable @endcode, + @code journaled @endcode, @code read @endcode, @code readonly @endcode, @code symbolic link + @endcode, @code system @endcode, @code temporary @endcode, @code write @endcode. */ static constexpr const char *kFileAttributes = "file.attributes"; /** - * Time when the file attributes or metadata was last changed, in ISO 8601 format. - *

- * @code file.changed @endcode captures the time when any of the file's properties or attributes - * (including the content) are changed, while @code file.modified @endcode captures the timestamp - * when the file content is modified. + Time when the file attributes or metadata was last changed, in ISO 8601 format. +

+ @code file.changed @endcode captures the time when any of the file's properties or attributes + (including the content) are changed, while @code file.modified @endcode captures the timestamp + when the file content is modified. */ static constexpr const char *kFileChanged = "file.changed"; /** - * Time when the file was created, in ISO 8601 format. - *

- * This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. + Time when the file was created, in ISO 8601 format. +

+ This attribute might not be supported by some file systems — NFS, FAT32, in embedded OS, etc. */ static constexpr const char *kFileCreated = "file.created"; /** - * Directory where the file is located. It should include the drive letter, when appropriate. + Directory where the file is located. It should include the drive letter, when appropriate. */ static constexpr const char *kFileDirectory = "file.directory"; /** - * File extension, excluding the leading dot. - *

- * When the file name has multiple extensions (example.tar.gz), only the last one should be captured - * ("gz", not "tar.gz"). + File extension, excluding the leading dot. +

+ When the file name has multiple extensions (example.tar.gz), only the last one should be captured + ("gz", not "tar.gz"). */ static constexpr const char *kFileExtension = "file.extension"; /** - * Name of the fork. A fork is additional data associated with a filesystem object. - *

- * On Linux, a resource fork is used to store additional data with a filesystem object. A file - * always has at least one fork for the data portion, and additional forks may exist. On NTFS, this - * is analogous to an Alternate Data Stream (ADS), and the default data stream for a file is just - * called $DATA. Zone.Identifier is commonly used by Windows to track contents downloaded from the - * Internet. An ADS is typically of the form: C:\path\to\filename.extension:some_fork_name, and - * some_fork_name is the value that should populate @code fork_name @endcode. @code - * filename.extension @endcode should populate @code file.name @endcode, and @code extension - * @endcode should populate @code file.extension @endcode. The full path, @code file.path @endcode, - * will include the fork name. + Name of the fork. A fork is additional data associated with a filesystem object. +

+ On Linux, a resource fork is used to store additional data with a filesystem object. A file always + has at least one fork for the data portion, and additional forks may exist. On NTFS, this is + analogous to an Alternate Data Stream (ADS), and the default data stream for a file is just called + $DATA. Zone.Identifier is commonly used by Windows to track contents downloaded from the Internet. + An ADS is typically of the form: C:\path\to\filename.extension:some_fork_name, and some_fork_name + is the value that should populate @code fork_name @endcode. @code filename.extension @endcode + should populate @code file.name @endcode, and @code extension @endcode should populate @code + file.extension @endcode. The full path, @code file.path @endcode, will include the fork name. */ static constexpr const char *kFileForkName = "file.fork_name"; /** - * Primary Group ID (GID) of the file. + Primary Group ID (GID) of the file. */ static constexpr const char *kFileGroupId = "file.group.id"; /** - * Primary group name of the file. + Primary group name of the file. */ static constexpr const char *kFileGroupName = "file.group.name"; /** - * Inode representing the file in the filesystem. + Inode representing the file in the filesystem. */ static constexpr const char *kFileInode = "file.inode"; /** - * Mode of the file in octal representation. + Mode of the file in octal representation. */ static constexpr const char *kFileMode = "file.mode"; /** - * Time when the file content was last modified, in ISO 8601 format. + Time when the file content was last modified, in ISO 8601 format. */ static constexpr const char *kFileModified = "file.modified"; /** - * Name of the file including the extension, without the directory. + Name of the file including the extension, without the directory. */ static constexpr const char *kFileName = "file.name"; /** - * The user ID (UID) or security identifier (SID) of the file owner. + The user ID (UID) or security identifier (SID) of the file owner. */ static constexpr const char *kFileOwnerId = "file.owner.id"; /** - * Username of the file owner. + Username of the file owner. */ static constexpr const char *kFileOwnerName = "file.owner.name"; /** - * Full path to the file, including the file name. It should include the drive letter, when - * appropriate. + Full path to the file, including the file name. It should include the drive letter, when + appropriate. */ static constexpr const char *kFilePath = "file.path"; /** - * File size in bytes. + File size in bytes. */ static constexpr const char *kFileSize = "file.size"; /** - * Path to the target of a symbolic link. - *

- * This attribute is only applicable to symbolic links. + Path to the target of a symbolic link. +

+ This attribute is only applicable to symbolic links. */ static constexpr const char *kFileSymbolicLinkTargetPath = "file.symbolic_link.target_path"; diff --git a/api/include/opentelemetry/semconv/incubating/gcp_attributes.h b/api/include/opentelemetry/semconv/incubating/gcp_attributes.h index 1674ef2654..7be353eb7e 100644 --- a/api/include/opentelemetry/semconv/incubating/gcp_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/gcp_attributes.h @@ -20,125 +20,125 @@ namespace gcp { /** - * The container within GCP where the AppHub application is defined. + The container within GCP where the AppHub application is defined. */ static constexpr const char *kGcpApphubApplicationContainer = "gcp.apphub.application.container"; /** - * The name of the application as configured in AppHub. + The name of the application as configured in AppHub. */ static constexpr const char *kGcpApphubApplicationId = "gcp.apphub.application.id"; /** - * The GCP zone or region where the application is defined. + The GCP zone or region where the application is defined. */ static constexpr const char *kGcpApphubApplicationLocation = "gcp.apphub.application.location"; /** - * Criticality of a service indicates its importance to the business. - *

- * See AppHub type - * enum + Criticality of a service indicates its importance to the business. +

+ See AppHub type + enum */ static constexpr const char *kGcpApphubServiceCriticalityType = "gcp.apphub.service.criticality_type"; /** - * Environment of a service is the stage of a software lifecycle. - *

- * See AppHub - * environment type + Environment of a service is the stage of a software lifecycle. +

+ See AppHub + environment type */ static constexpr const char *kGcpApphubServiceEnvironmentType = "gcp.apphub.service.environment_type"; /** - * The name of the service as configured in AppHub. + The name of the service as configured in AppHub. */ static constexpr const char *kGcpApphubServiceId = "gcp.apphub.service.id"; /** - * Criticality of a workload indicates its importance to the business. - *

- * See AppHub type - * enum + Criticality of a workload indicates its importance to the business. +

+ See AppHub type + enum */ static constexpr const char *kGcpApphubWorkloadCriticalityType = "gcp.apphub.workload.criticality_type"; /** - * Environment of a workload is the stage of a software lifecycle. - *

- * See AppHub - * environment type + Environment of a workload is the stage of a software lifecycle. +

+ See AppHub + environment type */ static constexpr const char *kGcpApphubWorkloadEnvironmentType = "gcp.apphub.workload.environment_type"; /** - * The name of the workload as configured in AppHub. + The name of the workload as configured in AppHub. */ static constexpr const char *kGcpApphubWorkloadId = "gcp.apphub.workload.id"; /** - * Identifies the Google Cloud service for which the official client library is intended. - *

- * Intended to be a stable identifier for Google Cloud client libraries that is uniform across - * implementation languages. The value should be derived from the canonical service domain for the - * service; for example, 'foo.googleapis.com' should result in a value of 'foo'. + Identifies the Google Cloud service for which the official client library is intended. +

+ Intended to be a stable identifier for Google Cloud client libraries that is uniform across + implementation languages. The value should be derived from the canonical service domain for the + service; for example, 'foo.googleapis.com' should result in a value of 'foo'. */ static constexpr const char *kGcpClientService = "gcp.client.service"; /** - * The name of the Cloud Run execution being run for the - * Job, as set by the @code - * CLOUD_RUN_EXECUTION @endcode environment variable. + The name of the Cloud Run execution being run for the + Job, as set by the @code + CLOUD_RUN_EXECUTION @endcode environment variable. */ static constexpr const char *kGcpCloudRunJobExecution = "gcp.cloud_run.job.execution"; /** - * The index for a task within an execution as provided by the @code - * CLOUD_RUN_TASK_INDEX @endcode environment variable. + The index for a task within an execution as provided by the @code + CLOUD_RUN_TASK_INDEX @endcode environment variable. */ static constexpr const char *kGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index"; /** - * The hostname of a GCE instance. This is the full value of the default or custom hostname. + The hostname of a GCE instance. This is the full value of the default or custom hostname. */ static constexpr const char *kGcpGceInstanceHostname = "gcp.gce.instance.hostname"; /** - * The instance name of a GCE instance. This is the value provided by @code host.name @endcode, the - * visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of - * the instance as defined by the default - * internal DNS name. + The instance name of a GCE instance. This is the value provided by @code host.name @endcode, the + visible name of the instance in the Cloud Console UI, and the prefix for the default hostname of + the instance as defined by the default + internal DNS name. */ static constexpr const char *kGcpGceInstanceName = "gcp.gce.instance.name"; namespace GcpApphubServiceCriticalityTypeValues { /** - * Mission critical service. + Mission critical service. */ static constexpr const char *kMissionCritical = "MISSION_CRITICAL"; /** - * High impact. + High impact. */ static constexpr const char *kHigh = "HIGH"; /** - * Medium impact. + Medium impact. */ static constexpr const char *kMedium = "MEDIUM"; /** - * Low impact. + Low impact. */ static constexpr const char *kLow = "LOW"; @@ -147,22 +147,22 @@ static constexpr const char *kLow = "LOW"; namespace GcpApphubServiceEnvironmentTypeValues { /** - * Production environment. + Production environment. */ static constexpr const char *kProduction = "PRODUCTION"; /** - * Staging environment. + Staging environment. */ static constexpr const char *kStaging = "STAGING"; /** - * Test environment. + Test environment. */ static constexpr const char *kTest = "TEST"; /** - * Development environment. + Development environment. */ static constexpr const char *kDevelopment = "DEVELOPMENT"; @@ -171,22 +171,22 @@ static constexpr const char *kDevelopment = "DEVELOPMENT"; namespace GcpApphubWorkloadCriticalityTypeValues { /** - * Mission critical service. + Mission critical service. */ static constexpr const char *kMissionCritical = "MISSION_CRITICAL"; /** - * High impact. + High impact. */ static constexpr const char *kHigh = "HIGH"; /** - * Medium impact. + Medium impact. */ static constexpr const char *kMedium = "MEDIUM"; /** - * Low impact. + Low impact. */ static constexpr const char *kLow = "LOW"; @@ -195,22 +195,22 @@ static constexpr const char *kLow = "LOW"; namespace GcpApphubWorkloadEnvironmentTypeValues { /** - * Production environment. + Production environment. */ static constexpr const char *kProduction = "PRODUCTION"; /** - * Staging environment. + Staging environment. */ static constexpr const char *kStaging = "STAGING"; /** - * Test environment. + Test environment. */ static constexpr const char *kTest = "TEST"; /** - * Development environment. + Development environment. */ static constexpr const char *kDevelopment = "DEVELOPMENT"; diff --git a/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h b/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h index 4c3c8c5a16..32ece010ad 100644 --- a/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h @@ -20,260 +20,261 @@ namespace gen_ai { /** - * Free-form description of the GenAI agent provided by the application. + Free-form description of the GenAI agent provided by the application. */ static constexpr const char *kGenAiAgentDescription = "gen_ai.agent.description"; /** - * The unique identifier of the GenAI agent. + The unique identifier of the GenAI agent. */ static constexpr const char *kGenAiAgentId = "gen_ai.agent.id"; /** - * Human-readable name of the GenAI agent provided by the application. + Human-readable name of the GenAI agent provided by the application. */ static constexpr const char *kGenAiAgentName = "gen_ai.agent.name"; /** - * Deprecated, use Event API to report completions contents. - * - * @deprecated - * {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} + Deprecated, use Event API to report completions contents. + + @deprecated + {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiCompletion = "gen_ai.completion"; /** - * The unique identifier for a conversation (session, thread), used to store and correlate messages - * within this conversation. + The unique identifier for a conversation (session, thread), used to store and correlate messages + within this conversation. */ static constexpr const char *kGenAiConversationId = "gen_ai.conversation.id"; /** - * The data source identifier. - *

- * Data sources are used by AI agents and RAG applications to store grounding data. A data source - * may be an external database, object store, document collection, website, or any other storage - * system used by the GenAI agent or application. The @code gen_ai.data_source.id @endcode SHOULD - * match the identifier used by the GenAI system rather than a name specific to the external - * storage, such as a database or object store. Semantic conventions referencing @code - * gen_ai.data_source.id @endcode MAY also leverage additional attributes, such as @code db.* - * @endcode, to further identify and describe the data source. + The data source identifier. +

+ Data sources are used by AI agents and RAG applications to store grounding data. A data source may + be an external database, object store, document collection, website, or any other storage system + used by the GenAI agent or application. The @code gen_ai.data_source.id @endcode SHOULD match the + identifier used by the GenAI system rather than a name specific to the external storage, such as a + database or object store. Semantic conventions referencing @code gen_ai.data_source.id @endcode + MAY also leverage additional attributes, such as @code db.* @endcode, to further identify and + describe the data source. */ static constexpr const char *kGenAiDataSourceId = "gen_ai.data_source.id"; /** - * Deprecated, use @code gen_ai.output.type @endcode. - * - * @deprecated - * {"note": "Replaced by @code gen_ai.output.type @endcode.", "reason": "renamed", "renamed_to": - * "gen_ai.output.type"} + Deprecated, use @code gen_ai.output.type @endcode. + + @deprecated + {"note": "Replaced by @code gen_ai.output.type @endcode.", "reason": "renamed", "renamed_to": + "gen_ai.output.type"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiOpenaiRequestResponseFormat = "gen_ai.openai.request.response_format"; /** - * Deprecated, use @code gen_ai.request.seed @endcode. - * - * @deprecated - * {"note": "Replaced by @code gen_ai.request.seed @endcode.", "reason": "renamed", "renamed_to": - * "gen_ai.request.seed"} + Deprecated, use @code gen_ai.request.seed @endcode. + + @deprecated + {"note": "Replaced by @code gen_ai.request.seed @endcode.", "reason": "renamed", "renamed_to": + "gen_ai.request.seed"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiOpenaiRequestSeed = "gen_ai.openai.request.seed"; /** - * The service tier requested. May be a specific tier, default, or auto. + The service tier requested. May be a specific tier, default, or auto. */ static constexpr const char *kGenAiOpenaiRequestServiceTier = "gen_ai.openai.request.service_tier"; /** - * The service tier used for the response. + The service tier used for the response. */ static constexpr const char *kGenAiOpenaiResponseServiceTier = "gen_ai.openai.response.service_tier"; /** - * A fingerprint to track any eventual change in the Generative AI environment. + A fingerprint to track any eventual change in the Generative AI environment. */ static constexpr const char *kGenAiOpenaiResponseSystemFingerprint = "gen_ai.openai.response.system_fingerprint"; /** - * The name of the operation being performed. - *

- * If one of the predefined values applies, but specific system uses a different name it's - * RECOMMENDED to document it in the semantic conventions for specific GenAI system and use - * system-specific name in the instrumentation. If a different name is not documented, - * instrumentation libraries SHOULD use applicable predefined value. + The name of the operation being performed. +

+ If one of the predefined values applies, but specific system uses a different name it's + RECOMMENDED to document it in the semantic conventions for specific GenAI system and use + system-specific name in the instrumentation. If a different name is not documented, + instrumentation libraries SHOULD use applicable predefined value. */ static constexpr const char *kGenAiOperationName = "gen_ai.operation.name"; /** - * Represents the content type requested by the client. - *

- * This attribute SHOULD be used when the client requests output of a specific type. The model may - * return zero or more outputs of this type. This attribute specifies the output modality and not - * the actual output format. For example, if an image is requested, the actual output could be a URL - * pointing to an image file. Additional output format details may be recorded in the future in the - * @code gen_ai.output.{type}.* @endcode attributes. + Represents the content type requested by the client. +

+ This attribute SHOULD be used when the client requests output of a specific type. The model may + return zero or more outputs of this type. This attribute specifies the output modality and not the + actual output format. For example, if an image is requested, the actual output could be a URL + pointing to an image file. Additional output format details may be recorded in the future in the + @code gen_ai.output.{type}.* @endcode attributes. */ static constexpr const char *kGenAiOutputType = "gen_ai.output.type"; /** - * Deprecated, use Event API to report prompt contents. - * - * @deprecated - * {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} + Deprecated, use Event API to report prompt contents. + + @deprecated + {"note": "Removed, no replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiPrompt = "gen_ai.prompt"; /** - * The target number of candidate completions to return. + The target number of candidate completions to return. */ static constexpr const char *kGenAiRequestChoiceCount = "gen_ai.request.choice.count"; /** - * The encoding formats requested in an embeddings operation, if specified. - *

- * In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems - * only accept a single format per request. + The encoding formats requested in an embeddings operation, if specified. +

+ In some GenAI systems the encoding formats are called embedding types. Also, some GenAI systems + only accept a single format per request. */ static constexpr const char *kGenAiRequestEncodingFormats = "gen_ai.request.encoding_formats"; /** - * The frequency penalty setting for the GenAI request. + The frequency penalty setting for the GenAI request. */ static constexpr const char *kGenAiRequestFrequencyPenalty = "gen_ai.request.frequency_penalty"; /** - * The maximum number of tokens the model generates for a request. + The maximum number of tokens the model generates for a request. */ static constexpr const char *kGenAiRequestMaxTokens = "gen_ai.request.max_tokens"; /** - * The name of the GenAI model a request is being made to. + The name of the GenAI model a request is being made to. */ static constexpr const char *kGenAiRequestModel = "gen_ai.request.model"; /** - * The presence penalty setting for the GenAI request. + The presence penalty setting for the GenAI request. */ static constexpr const char *kGenAiRequestPresencePenalty = "gen_ai.request.presence_penalty"; /** - * Requests with same seed value more likely to return same result. + Requests with same seed value more likely to return same result. */ static constexpr const char *kGenAiRequestSeed = "gen_ai.request.seed"; /** - * List of sequences that the model will use to stop generating further tokens. + List of sequences that the model will use to stop generating further tokens. */ static constexpr const char *kGenAiRequestStopSequences = "gen_ai.request.stop_sequences"; /** - * The temperature setting for the GenAI request. + The temperature setting for the GenAI request. */ static constexpr const char *kGenAiRequestTemperature = "gen_ai.request.temperature"; /** - * The top_k sampling setting for the GenAI request. + The top_k sampling setting for the GenAI request. */ static constexpr const char *kGenAiRequestTopK = "gen_ai.request.top_k"; /** - * The top_p sampling setting for the GenAI request. + The top_p sampling setting for the GenAI request. */ static constexpr const char *kGenAiRequestTopP = "gen_ai.request.top_p"; /** - * Array of reasons the model stopped generating tokens, corresponding to each generation received. + 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. + The unique identifier for the completion. */ static constexpr const char *kGenAiResponseId = "gen_ai.response.id"; /** - * The name of the model that generated the response. + The name of the model that generated the response. */ static constexpr const char *kGenAiResponseModel = "gen_ai.response.model"; /** - * The Generative AI product as identified by the client or server instrumentation. - *

- * The @code gen_ai.system @endcode describes a family of GenAI models with specific model - * identified by @code gen_ai.request.model @endcode and @code gen_ai.response.model @endcode - * attributes.

The actual GenAI product may differ from the one identified by the client. - * Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI client - * libraries. In such cases, the @code gen_ai.system @endcode is set to @code openai @endcode based - * on the instrumentation's best knowledge, instead of the actual system. The @code server.address - * @endcode attribute may help identify the actual system in use for @code openai @endcode.

For - * custom model, a custom friendly name SHOULD be used. If none of these options apply, the @code - * gen_ai.system @endcode SHOULD be set to @code _OTHER @endcode. + The Generative AI product as identified by the client or server instrumentation. +

+ The @code gen_ai.system @endcode describes a family of GenAI models with specific model identified + by @code gen_ai.request.model @endcode and @code gen_ai.response.model @endcode attributes. +

+ The actual GenAI product may differ from the one identified by the client. + Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI client + libraries. In such cases, the @code gen_ai.system @endcode is set to @code openai @endcode based + on the instrumentation's best knowledge, instead of the actual system. The @code server.address + @endcode attribute may help identify the actual system in use for @code openai @endcode.

For + custom model, a custom friendly name SHOULD be used. If none of these options apply, the @code + gen_ai.system @endcode SHOULD be set to @code _OTHER @endcode. */ static constexpr const char *kGenAiSystem = "gen_ai.system"; /** - * The type of token being counted. + The type of token being counted. */ static constexpr const char *kGenAiTokenType = "gen_ai.token.type"; /** - * The tool call identifier. + The tool call identifier. */ static constexpr const char *kGenAiToolCallId = "gen_ai.tool.call.id"; /** - * The tool description. + The tool description. */ static constexpr const char *kGenAiToolDescription = "gen_ai.tool.description"; /** - * Name of the tool utilized by the agent. + Name of the tool utilized by the agent. */ static constexpr const char *kGenAiToolName = "gen_ai.tool.name"; /** - * Type of the tool utilized by the agent - *

- * Extension: A tool executed on the agent-side to directly call external APIs, bridging the gap - * between the agent and real-world systems. Agent-side operations involve actions that are - * performed by the agent on the server or within the agent's controlled environment. Function: A - * tool executed on the client-side, where the agent generates parameters for a predefined function, - * and the client executes the logic. Client-side operations are actions taken on the user's end or - * within the client application. Datastore: A tool used by the agent to access and query structured - * or unstructured external data for retrieval-augmented tasks or knowledge updates. + Type of the tool utilized by the agent +

+ Extension: A tool executed on the agent-side to directly call external APIs, bridging the gap + between the agent and real-world systems. Agent-side operations involve actions that are performed + by the agent on the server or within the agent's controlled environment. Function: A tool executed + on the client-side, where the agent generates parameters for a predefined function, and the client + executes the logic. Client-side operations are actions taken on the user's end or within the + client application. Datastore: A tool used by the agent to access and query structured or + unstructured external data for retrieval-augmented tasks or knowledge updates. */ static constexpr const char *kGenAiToolType = "gen_ai.tool.type"; /** - * Deprecated, use @code gen_ai.usage.output_tokens @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code gen_ai.usage.output_tokens @endcode.", "reason": "renamed", - * "renamed_to": "gen_ai.usage.output_tokens"} + Deprecated, use @code gen_ai.usage.output_tokens @endcode instead. + + @deprecated + {"note": "Replaced by @code gen_ai.usage.output_tokens @endcode.", "reason": "renamed", + "renamed_to": "gen_ai.usage.output_tokens"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiUsageCompletionTokens = "gen_ai.usage.completion_tokens"; /** - * The number of tokens used in the GenAI input (prompt). + The number of tokens used in the GenAI input (prompt). */ static constexpr const char *kGenAiUsageInputTokens = "gen_ai.usage.input_tokens"; /** - * The number of tokens used in the GenAI response (completion). + The number of tokens used in the GenAI response (completion). */ static constexpr const char *kGenAiUsageOutputTokens = "gen_ai.usage.output_tokens"; /** - * Deprecated, use @code gen_ai.usage.input_tokens @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code gen_ai.usage.input_tokens @endcode.", "reason": "renamed", - * "renamed_to": "gen_ai.usage.input_tokens"} + Deprecated, use @code gen_ai.usage.input_tokens @endcode instead. + + @deprecated + {"note": "Replaced by @code gen_ai.usage.input_tokens @endcode.", "reason": "renamed", + "renamed_to": "gen_ai.usage.input_tokens"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiUsagePromptTokens = "gen_ai.usage.prompt_tokens"; @@ -281,17 +282,17 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiUsagePromptTokens = namespace GenAiOpenaiRequestResponseFormatValues { /** - * Text response format + Text response format */ static constexpr const char *kText = "text"; /** - * JSON object response format + JSON object response format */ static constexpr const char *kJsonObject = "json_object"; /** - * JSON schema response format + JSON schema response format */ static constexpr const char *kJsonSchema = "json_schema"; @@ -300,12 +301,12 @@ static constexpr const char *kJsonSchema = "json_schema"; namespace GenAiOpenaiRequestServiceTierValues { /** - * The system will utilize scale tier credits until they are exhausted. + The system will utilize scale tier credits until they are exhausted. */ static constexpr const char *kAuto = "auto"; /** - * The system will utilize the default scale tier. + The system will utilize the default scale tier. */ static constexpr const char *kDefault = "default"; @@ -314,43 +315,43 @@ static constexpr const char *kDefault = "default"; namespace GenAiOperationNameValues { /** - * Chat completion operation such as OpenAI Chat API + Chat completion operation such as OpenAI Chat API */ static constexpr const char *kChat = "chat"; /** - * Multimodal content generation operation such as Gemini Generate Content + Multimodal content generation operation such as Gemini Generate Content */ static constexpr const char *kGenerateContent = "generate_content"; /** - * Text completions operation such as OpenAI Completions API - * (Legacy) + Text completions operation such as OpenAI Completions API + (Legacy) */ static constexpr const char *kTextCompletion = "text_completion"; /** - * Embeddings operation such as OpenAI Create embeddings - * API + Embeddings operation such as OpenAI Create embeddings + API */ static constexpr const char *kEmbeddings = "embeddings"; /** - * Create GenAI agent + Create GenAI agent */ static constexpr const char *kCreateAgent = "create_agent"; /** - * Invoke GenAI agent + Invoke GenAI agent */ static constexpr const char *kInvokeAgent = "invoke_agent"; /** - * Execute a tool + Execute a tool */ static constexpr const char *kExecuteTool = "execute_tool"; @@ -359,22 +360,22 @@ static constexpr const char *kExecuteTool = "execute_tool"; namespace GenAiOutputTypeValues { /** - * Plain text + Plain text */ static constexpr const char *kText = "text"; /** - * JSON object with known or unknown schema + JSON object with known or unknown schema */ static constexpr const char *kJson = "json"; /** - * Image + Image */ static constexpr const char *kImage = "image"; /** - * Speech + Speech */ static constexpr const char *kSpeech = "speech"; @@ -383,87 +384,87 @@ static constexpr const char *kSpeech = "speech"; namespace GenAiSystemValues { /** - * OpenAI + OpenAI */ static constexpr const char *kOpenai = "openai"; /** - * Any Google generative AI endpoint + Any Google generative AI endpoint */ static constexpr const char *kGcpGenAi = "gcp.gen_ai"; /** - * Vertex AI + Vertex AI */ static constexpr const char *kGcpVertexAi = "gcp.vertex_ai"; /** - * Gemini + Gemini */ static constexpr const char *kGcpGemini = "gcp.gemini"; /** - * Vertex AI + Vertex AI */ static constexpr const char *kVertexAi = "vertex_ai"; /** - * Gemini + Gemini */ static constexpr const char *kGemini = "gemini"; /** - * Anthropic + Anthropic */ static constexpr const char *kAnthropic = "anthropic"; /** - * Cohere + Cohere */ static constexpr const char *kCohere = "cohere"; /** - * Azure AI Inference + Azure AI Inference */ static constexpr const char *kAzAiInference = "az.ai.inference"; /** - * Azure OpenAI + Azure OpenAI */ static constexpr const char *kAzAiOpenai = "az.ai.openai"; /** - * IBM Watsonx AI + IBM Watsonx AI */ static constexpr const char *kIbmWatsonxAi = "ibm.watsonx.ai"; /** - * AWS Bedrock + AWS Bedrock */ static constexpr const char *kAwsBedrock = "aws.bedrock"; /** - * Perplexity + Perplexity */ static constexpr const char *kPerplexity = "perplexity"; /** - * xAI + xAI */ static constexpr const char *kXai = "xai"; /** - * DeepSeek + DeepSeek */ static constexpr const char *kDeepseek = "deepseek"; /** - * Groq + Groq */ static constexpr const char *kGroq = "groq"; /** - * Mistral AI + Mistral AI */ static constexpr const char *kMistralAi = "mistral_ai"; @@ -472,17 +473,17 @@ static constexpr const char *kMistralAi = "mistral_ai"; namespace GenAiTokenTypeValues { /** - * Input tokens (prompt, input, etc.) + Input tokens (prompt, input, etc.) */ static constexpr const char *kInput = "input"; /** - * Output tokens (completion, response, etc.) + Output tokens (completion, response, etc.) */ static constexpr const char *kCompletion = "output"; /** - * Output tokens (completion, response, etc.) + Output tokens (completion, response, etc.) */ static constexpr const char *kOutput = "output"; diff --git a/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h b/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h index 437ba4af4a..2cd11bd546 100644 --- a/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h @@ -21,9 +21,9 @@ namespace gen_ai { /** - * GenAI operation duration - *

- * histogram + GenAI operation duration +

+ histogram */ static constexpr const char *kMetricGenAiClientOperationDuration = "gen_ai.client.operation.duration"; @@ -47,9 +47,9 @@ CreateSyncDoubleMetricGenAiClientOperationDuration(metrics::Meter *meter) } /** - * Measures number of input and output tokens used - *

- * histogram + Measures number of input and output tokens used +

+ histogram */ static constexpr const char *kMetricGenAiClientTokenUsage = "gen_ai.client.token.usage"; static constexpr const char *descrMetricGenAiClientTokenUsage = @@ -73,9 +73,9 @@ CreateSyncDoubleMetricGenAiClientTokenUsage(metrics::Meter *meter) } /** - * Generative AI server request duration such as time-to-last byte or last output token - *

- * histogram + Generative AI server request duration such as time-to-last byte or last output token +

+ histogram */ static constexpr const char *kMetricGenAiServerRequestDuration = "gen_ai.server.request.duration"; static constexpr const char *descrMetricGenAiServerRequestDuration = @@ -99,9 +99,9 @@ CreateSyncDoubleMetricGenAiServerRequestDuration(metrics::Meter *meter) } /** - * Time per output token generated after the first token for successful responses - *

- * histogram + Time per output token generated after the first token for successful responses +

+ histogram */ static constexpr const char *kMetricGenAiServerTimePerOutputToken = "gen_ai.server.time_per_output_token"; @@ -126,9 +126,9 @@ CreateSyncDoubleMetricGenAiServerTimePerOutputToken(metrics::Meter *meter) } /** - * Time to generate first token for successful responses - *

- * histogram + Time to generate first token for successful responses +

+ histogram */ static constexpr const char *kMetricGenAiServerTimeToFirstToken = "gen_ai.server.time_to_first_token"; diff --git a/api/include/opentelemetry/semconv/incubating/geo_attributes.h b/api/include/opentelemetry/semconv/incubating/geo_attributes.h index b50240e228..9f19fcc9ec 100644 --- a/api/include/opentelemetry/semconv/incubating/geo_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/geo_attributes.h @@ -20,78 +20,78 @@ namespace geo { /** - * Two-letter code representing continent’s name. + Two-letter code representing continent’s name. */ static constexpr const char *kGeoContinentCode = "geo.continent.code"; /** - * Two-letter ISO Country Code (ISO 3166-1 - * alpha2). + Two-letter ISO Country Code (ISO 3166-1 + alpha2). */ static constexpr const char *kGeoCountryIsoCode = "geo.country.iso_code"; /** - * Locality name. Represents the name of a city, town, village, or similar populated place. + Locality name. Represents the name of a city, town, village, or similar populated place. */ static constexpr const char *kGeoLocalityName = "geo.locality.name"; /** - * Latitude of the geo location in WGS84. + Latitude of the geo location in WGS84. */ static constexpr const char *kGeoLocationLat = "geo.location.lat"; /** - * Longitude of the geo location in WGS84. + Longitude of the geo location in WGS84. */ static constexpr const char *kGeoLocationLon = "geo.location.lon"; /** - * Postal code associated with the location. Values appropriate for this field may also be known as - * a postcode or ZIP code and will vary widely from country to country. + Postal code associated with the location. Values appropriate for this field may also be known as a + postcode or ZIP code and will vary widely from country to country. */ static constexpr const char *kGeoPostalCode = "geo.postal_code"; /** - * Region ISO code (ISO 3166-2). + Region ISO code (ISO 3166-2). */ static constexpr const char *kGeoRegionIsoCode = "geo.region.iso_code"; namespace GeoContinentCodeValues { /** - * Africa + Africa */ static constexpr const char *kAf = "AF"; /** - * Antarctica + Antarctica */ static constexpr const char *kAn = "AN"; /** - * Asia + Asia */ static constexpr const char *kAs = "AS"; /** - * Europe + Europe */ static constexpr const char *kEu = "EU"; /** - * North America + North America */ static constexpr const char *kNa = "NA"; /** - * Oceania + Oceania */ static constexpr const char *kOc = "OC"; /** - * South America + South America */ static constexpr const char *kSa = "SA"; diff --git a/api/include/opentelemetry/semconv/incubating/graphql_attributes.h b/api/include/opentelemetry/semconv/incubating/graphql_attributes.h index fe899d1c69..d442704dd8 100644 --- a/api/include/opentelemetry/semconv/incubating/graphql_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/graphql_attributes.h @@ -20,36 +20,36 @@ namespace graphql { /** - * The GraphQL document being executed. - *

- * The value may be sanitized to exclude sensitive information. + The GraphQL document being executed. +

+ The value may be sanitized to exclude sensitive information. */ static constexpr const char *kGraphqlDocument = "graphql.document"; /** - * The name of the operation being executed. + The name of the operation being executed. */ static constexpr const char *kGraphqlOperationName = "graphql.operation.name"; /** - * The type of the operation being executed. + The type of the operation being executed. */ static constexpr const char *kGraphqlOperationType = "graphql.operation.type"; namespace GraphqlOperationTypeValues { /** - * GraphQL query + GraphQL query */ static constexpr const char *kQuery = "query"; /** - * GraphQL mutation + GraphQL mutation */ static constexpr const char *kMutation = "mutation"; /** - * GraphQL subscription + GraphQL subscription */ static constexpr const char *kSubscription = "subscription"; diff --git a/api/include/opentelemetry/semconv/incubating/heroku_attributes.h b/api/include/opentelemetry/semconv/incubating/heroku_attributes.h index a16bd33161..4bba1ec2c6 100644 --- a/api/include/opentelemetry/semconv/incubating/heroku_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/heroku_attributes.h @@ -20,17 +20,17 @@ namespace heroku { /** - * Unique identifier for the application + Unique identifier for the application */ static constexpr const char *kHerokuAppId = "heroku.app.id"; /** - * Commit hash for the current release + Commit hash for the current release */ static constexpr const char *kHerokuReleaseCommit = "heroku.release.commit"; /** - * Time and date the release was created + Time and date the release was created */ static constexpr const char *kHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp"; diff --git a/api/include/opentelemetry/semconv/incubating/host_attributes.h b/api/include/opentelemetry/semconv/incubating/host_attributes.h index e608bd5d46..5d1ca93e28 100644 --- a/api/include/opentelemetry/semconv/incubating/host_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/host_attributes.h @@ -20,135 +20,135 @@ namespace host { /** - * The CPU architecture the host system is running on. + 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). + 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. + 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. + 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. + Model designation of the processor. */ static constexpr const char *kHostCpuModelName = "host.cpu.model.name"; /** - * Stepping or core revisions. + Stepping or core revisions. */ static constexpr const char *kHostCpuStepping = "host.cpu.stepping"; /** - * Processor manufacturer identifier. A maximum 12-character string. - *

- * CPUID command returns the vendor ID string in EBX, EDX - * and ECX registers. Writing these to memory in this order results in a 12-character string. + Processor manufacturer identifier. A maximum 12-character string. +

+ CPUID command returns the vendor ID string in EBX, EDX + and ECX registers. Writing these to memory in this order results in a 12-character string. */ 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 @endcode. See the table below for - * the sources to use to determine the @code machine-id @endcode based on operating system. + Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For + non-containerized systems, this should be the @code machine-id @endcode. See the table below for + the sources to use to determine the @code machine-id @endcode 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. + 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. + 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. + 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. - *

- * IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the - * RFC 5952 format. + Available IP addresses of the host, excluding loopback interfaces. +

+ IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the + RFC 5952 format. */ static constexpr const char *kHostIp = "host.ip"; /** - * Available MAC addresses of the host, excluding loopback interfaces. - *

- * MAC Addresses MUST be represented in IEEE RA - * hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least - * significant. + Available MAC addresses of the host, excluding loopback interfaces. +

+ MAC Addresses MUST be represented in IEEE RA + hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least + significant. */ static constexpr const char *kHostMac = "host.mac"; /** - * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully - * qualified hostname, or another name specified by the user. + Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully + qualified hostname, or another name specified by the user. */ static constexpr const char *kHostName = "host.name"; /** - * Type of host. For Cloud, this must be the machine type. + Type of host. For Cloud, this must be the machine type. */ static constexpr const char *kHostType = "host.type"; namespace HostArchValues { /** - * AMD64 + AMD64 */ static constexpr const char *kAmd64 = "amd64"; /** - * ARM32 + ARM32 */ static constexpr const char *kArm32 = "arm32"; /** - * ARM64 + ARM64 */ static constexpr const char *kArm64 = "arm64"; /** - * Itanium + Itanium */ static constexpr const char *kIa64 = "ia64"; /** - * 32-bit PowerPC + 32-bit PowerPC */ static constexpr const char *kPpc32 = "ppc32"; /** - * 64-bit PowerPC + 64-bit PowerPC */ static constexpr const char *kPpc64 = "ppc64"; /** - * IBM z/Architecture + IBM z/Architecture */ static constexpr const char *kS390x = "s390x"; /** - * 32-bit x86 + 32-bit x86 */ static constexpr const char *kX86 = "x86"; diff --git a/api/include/opentelemetry/semconv/incubating/http_attributes.h b/api/include/opentelemetry/semconv/incubating/http_attributes.h index 6c2ba51800..c9c42ad6eb 100644 --- a/api/include/opentelemetry/semconv/incubating/http_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/http_attributes.h @@ -20,264 +20,263 @@ namespace http { /** - * Deprecated, use @code client.address @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code client.address @endcode.", "reason": "renamed", "renamed_to": - * "client.address"} + Deprecated, use @code client.address @endcode instead. + + @deprecated + {"note": "Replaced by @code client.address @endcode.", "reason": "renamed", "renamed_to": + "client.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpClientIp = "http.client_ip"; /** - * State of the HTTP connection in the HTTP connection pool. + State of the HTTP connection in the HTTP connection pool. */ static constexpr const char *kHttpConnectionState = "http.connection.state"; /** - * Deprecated, use @code network.protocol.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code network.protocol.name @endcode.", "reason": "renamed", "renamed_to": - * "network.protocol.name"} + Deprecated, use @code network.protocol.name @endcode instead. + + @deprecated + {"note": "Replaced by @code network.protocol.name @endcode.", "reason": "renamed", "renamed_to": + "network.protocol.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpFlavor = "http.flavor"; /** - * Deprecated, use one of @code server.address @endcode, @code client.address @endcode or @code - * http.request.header.host @endcode instead, depending on the usage. - * - * @deprecated - * {"note": "Replaced by one of @code server.address @endcode, @code client.address @endcode or - * @code http.request.header.host @endcode, depending on the usage.\n", "reason": "uncategorized"} + Deprecated, use one of @code server.address @endcode, @code client.address @endcode or @code + http.request.header.host @endcode instead, depending on the usage. + + @deprecated + {"note": "Replaced by one of @code server.address @endcode, @code client.address @endcode or @code + http.request.header.host @endcode, depending on the usage.\n", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpHost = "http.host"; /** - * Deprecated, use @code http.request.method @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code http.request.method @endcode.", "reason": "renamed", "renamed_to": - * "http.request.method"} + Deprecated, use @code http.request.method @endcode instead. + + @deprecated + {"note": "Replaced by @code http.request.method @endcode.", "reason": "renamed", "renamed_to": + "http.request.method"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpMethod = "http.method"; /** - * The size of the request payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size. + The size of the request payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size. */ static constexpr const char *kHttpRequestBodySize = "http.request.body.size"; /** - * HTTP request headers, @code @endcode being the normalized HTTP Header name (lowercase), the - * value being the header values.

Instrumentations SHOULD require an explicit configuration of - * which headers are to be captured. Including all request headers can be a security risk - explicit - * configuration helps avoid leaking sensitive information.

The @code User-Agent @endcode header - * is already captured in the @code user_agent.original @endcode attribute. Users MAY explicitly - * configure instrumentations to capture them even though it is not recommended.

The attribute - * value MUST consist of either multiple header values as an array of strings or a single-item array - * containing a possibly comma-concatenated string, depending on the way the HTTP library provides - * access to headers.

Examples:

  • A header @code Content-Type: application/json @endcode - * SHOULD be recorded as the @code http.request.header.content-type @endcode attribute with value - * @code ["application/json"] @endcode.
  • A header @code X-Forwarded-For: 1.2.3.4, 1.2.3.5 - * @endcode SHOULD be recorded as the @code http.request.header.x-forwarded-for @endcode attribute - * with value @code ["1.2.3.4", "1.2.3.5"] @endcode or @code ["1.2.3.4, 1.2.3.5"] @endcode depending - * on the HTTP library.
  • - *
+ HTTP request headers, @code @endcode being the normalized HTTP Header name (lowercase), the + value being the header values.

Instrumentations SHOULD require an explicit configuration of + which headers are to be captured. Including all request headers can be a security risk - explicit + configuration helps avoid leaking sensitive information.

The @code User-Agent @endcode header + is already captured in the @code user_agent.original @endcode attribute. Users MAY explicitly + configure instrumentations to capture them even though it is not recommended.

The attribute + value MUST consist of either multiple header values as an array of strings or a single-item array + containing a possibly comma-concatenated string, depending on the way the HTTP library provides + access to headers.

Examples:

  • A header @code Content-Type: application/json @endcode + SHOULD be recorded as the @code http.request.header.content-type @endcode attribute with value + @code ["application/json"] @endcode.
  • A header @code X-Forwarded-For: 1.2.3.4, 1.2.3.5 + @endcode SHOULD be recorded as the @code http.request.header.x-forwarded-for @endcode attribute + with value @code ["1.2.3.4", "1.2.3.5"] @endcode or @code ["1.2.3.4, 1.2.3.5"] @endcode depending + on the HTTP library.
  • +
*/ static constexpr const char *kHttpRequestHeader = "http.request.header"; /** - * HTTP request method. - *

- * HTTP request method value SHOULD be "known" to the instrumentation. - * By default, this convention defines "known" methods as the ones listed in RFC9110 and the PATCH method - * defined in RFC5789.

If the HTTP - * request method is not known to instrumentation, it MUST set the @code http.request.method - * @endcode attribute to @code _OTHER @endcode.

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

- * HTTP method names are case-sensitive and @code http.request.method @endcode attribute value MUST - * match a known HTTP method name exactly. Instrumentations for specific web frameworks that - * consider HTTP methods to be case insensitive, SHOULD populate a canonical equivalent. Tracing - * instrumentations that do so, MUST also set @code http.request.method_original @endcode to the - * original value. + HTTP request method. +

+ HTTP request method value SHOULD be "known" to the instrumentation. + By default, this convention defines "known" methods as the ones listed in RFC9110 and the PATCH method + defined in RFC5789.

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

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

HTTP method names are + case-sensitive and @code http.request.method @endcode attribute value MUST match a known HTTP + method name exactly. Instrumentations for specific web frameworks that consider HTTP methods to be + case insensitive, SHOULD populate a canonical equivalent. Tracing instrumentations that do so, + MUST also set @code http.request.method_original @endcode to the original value. */ static constexpr const char *kHttpRequestMethod = "http.request.method"; /** - * Original HTTP method sent by the client in the request line. + Original HTTP method sent by the client in the request line. */ static constexpr const char *kHttpRequestMethodOriginal = "http.request.method_original"; /** - * The ordinal number of request resending attempt (for any reason, including redirects). - *

- * The resend count SHOULD be updated each time an HTTP request gets resent by the client, - * regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503 - * Server Unavailable, network issues, or any other). + The ordinal number of request resending attempt (for any reason, including redirects). +

+ The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless + of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server + Unavailable, network issues, or any other). */ static constexpr const char *kHttpRequestResendCount = "http.request.resend_count"; /** - * The total size of the request in bytes. This should be the total number of bytes sent over the - * wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request - * body if any. + The total size of the request in bytes. This should be the total number of bytes sent over the + wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request + body if any. */ static constexpr const char *kHttpRequestSize = "http.request.size"; /** - * Deprecated, use @code http.request.header.content-length @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code http.request.header.content-length @endcode.", "reason": - * "uncategorized"} + Deprecated, use @code http.request.header.content-length @endcode instead. + + @deprecated + {"note": "Replaced by @code http.request.header.content-length @endcode.", "reason": + "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLength = "http.request_content_length"; /** - * Deprecated, use @code http.request.body.size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code http.request.body.size @endcode.", "reason": "renamed", "renamed_to": - * "http.request.body.size"} + Deprecated, use @code http.request.body.size @endcode instead. + + @deprecated + {"note": "Replaced by @code http.request.body.size @endcode.", "reason": "renamed", "renamed_to": + "http.request.body.size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLengthUncompressed = "http.request_content_length_uncompressed"; /** - * The size of the response payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size. + The size of the response payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size. */ static constexpr const char *kHttpResponseBodySize = "http.response.body.size"; /** - * HTTP response headers, @code @endcode being the normalized HTTP Header name (lowercase), - * the value being the header values.

Instrumentations SHOULD require an explicit configuration - * of which headers are to be captured. Including all response headers can be a security risk - - * explicit configuration helps avoid leaking sensitive information.

Users MAY explicitly - * configure instrumentations to capture them even though it is not recommended.

The attribute - * value MUST consist of either multiple header values as an array of strings or a single-item array - * containing a possibly comma-concatenated string, depending on the way the HTTP library provides - * access to headers.

Examples:

  • A header @code Content-Type: application/json @endcode - * header SHOULD be recorded as the @code http.request.response.content-type @endcode attribute with - * value @code ["application/json"] @endcode.
  • A header @code My-custom-header: abc, def - * @endcode header SHOULD be recorded as the @code http.response.header.my-custom-header @endcode - * attribute with value @code ["abc", "def"] @endcode or @code ["abc, def"] @endcode depending on - * the HTTP library.
  • - *
+ HTTP response headers, @code @endcode being the normalized HTTP Header name (lowercase), the + value being the header values.

Instrumentations SHOULD require an explicit configuration of + which headers are to be captured. Including all response headers can be a security risk - explicit + configuration helps avoid leaking sensitive information.

Users MAY explicitly configure + instrumentations to capture them even though it is not recommended.

The attribute value MUST + consist of either multiple header values as an array of strings or a single-item array containing + a possibly comma-concatenated string, depending on the way the HTTP library provides access to + headers.

Examples:

  • A header @code Content-Type: application/json @endcode header + SHOULD be recorded as the @code http.request.response.content-type @endcode attribute with value + @code ["application/json"] @endcode.
  • A header @code My-custom-header: abc, def @endcode + header SHOULD be recorded as the @code http.response.header.my-custom-header @endcode attribute + with value @code ["abc", "def"] @endcode or @code ["abc, def"] @endcode depending on the HTTP + library.
  • +
*/ static constexpr const char *kHttpResponseHeader = "http.response.header"; /** - * The total size of the response in bytes. This should be the total number of bytes sent over the - * wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response - * body and trailers if any. + The total size of the response in bytes. This should be the total number of bytes sent over the + wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response + body and trailers if any. */ static constexpr const char *kHttpResponseSize = "http.response.size"; /** - * HTTP response status code. + HTTP response status code. */ static constexpr const char *kHttpResponseStatusCode = "http.response.status_code"; /** - * Deprecated, use @code http.response.header.content-length @endcode instead. - * - * @deprecated - * {"note": "hp.response.header.content-length", "reason": "uncategorized"} + Deprecated, use @code http.response.header.content-length @endcode instead. + + @deprecated + {"note": "hp.response.header.content-length", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLength = "http.response_content_length"; /** - * Deprecated, use @code http.response.body.size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code http.response.body.size @endcode.", "reason": "renamed", - * "renamed_to": "http.response.body.size"} + Deprecated, use @code http.response.body.size @endcode instead. + + @deprecated + {"note": "Replaced by @code http.response.body.size @endcode.", "reason": "renamed", "renamed_to": + "http.response.body.size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLengthUncompressed = "http.response_content_length_uncompressed"; /** - * The matched route, that is, the path template in the format used by the respective server - * framework.

MUST NOT be populated when this is not supported by the HTTP server framework as - * the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD - * include the application root if - * there is one. + The matched route, that is, the path template in the format used by the respective server + framework.

MUST NOT be populated when this is not supported by the HTTP server framework as + the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD + include the application root if + there is one. */ static constexpr const char *kHttpRoute = "http.route"; /** - * Deprecated, use @code url.scheme @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code url.scheme @endcode.", "reason": "renamed", "renamed_to": - * "url.scheme"} + Deprecated, use @code url.scheme @endcode instead. + + @deprecated + {"note": "Replaced by @code url.scheme @endcode.", "reason": "renamed", "renamed_to": + "url.scheme"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpScheme = "http.scheme"; /** - * Deprecated, use @code server.address @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": - * "server.address"} + Deprecated, use @code server.address @endcode instead. + + @deprecated + {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": + "server.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpServerName = "http.server_name"; /** - * Deprecated, use @code http.response.status_code @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code http.response.status_code @endcode.", "reason": "renamed", - * "renamed_to": "http.response.status_code"} + Deprecated, use @code http.response.status_code @endcode instead. + + @deprecated + {"note": "Replaced by @code http.response.status_code @endcode.", "reason": "renamed", + "renamed_to": "http.response.status_code"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpStatusCode = "http.status_code"; /** - * Deprecated, use @code url.path @endcode and @code url.query @endcode instead. - * - * @deprecated - * {"note": "Split to @code url.path @endcode and @code url.query @endcode.", "reason": "obsoleted"} + Deprecated, use @code url.path @endcode and @code url.query @endcode instead. + + @deprecated + {"note": "Split to @code url.path @endcode and @code url.query @endcode.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpTarget = "http.target"; /** - * Deprecated, use @code url.full @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code url.full @endcode.", "reason": "renamed", "renamed_to": "url.full"} + Deprecated, use @code url.full @endcode instead. + + @deprecated + {"note": "Replaced by @code url.full @endcode.", "reason": "renamed", "renamed_to": "url.full"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUrl = "http.url"; /** - * Deprecated, use @code user_agent.original @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code user_agent.original @endcode.", "reason": "renamed", "renamed_to": - * "user_agent.original"} + Deprecated, use @code user_agent.original @endcode instead. + + @deprecated + {"note": "Replaced by @code user_agent.original @endcode.", "reason": "renamed", "renamed_to": + "user_agent.original"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUserAgent = "http.user_agent"; namespace HttpConnectionStateValues { /** - * active state. + active state. */ static constexpr const char *kActive = "active"; /** - * idle state. + idle state. */ static constexpr const char *kIdle = "idle"; @@ -286,32 +285,32 @@ static constexpr const char *kIdle = "idle"; namespace HttpFlavorValues { /** - * HTTP/1.0 + HTTP/1.0 */ static constexpr const char *kHttp10 = "1.0"; /** - * HTTP/1.1 + HTTP/1.1 */ static constexpr const char *kHttp11 = "1.1"; /** - * HTTP/2 + HTTP/2 */ static constexpr const char *kHttp20 = "2.0"; /** - * HTTP/3 + HTTP/3 */ static constexpr const char *kHttp30 = "3.0"; /** - * SPDY protocol. + SPDY protocol. */ static constexpr const char *kSpdy = "SPDY"; /** - * QUIC protocol. + QUIC protocol. */ static constexpr const char *kQuic = "QUIC"; @@ -320,52 +319,52 @@ static constexpr const char *kQuic = "QUIC"; namespace HttpRequestMethodValues { /** - * CONNECT method. + CONNECT method. */ static constexpr const char *kConnect = "CONNECT"; /** - * DELETE method. + DELETE method. */ static constexpr const char *kDelete = "DELETE"; /** - * GET method. + GET method. */ static constexpr const char *kGet = "GET"; /** - * HEAD method. + HEAD method. */ static constexpr const char *kHead = "HEAD"; /** - * OPTIONS method. + OPTIONS method. */ static constexpr const char *kOptions = "OPTIONS"; /** - * PATCH method. + PATCH method. */ static constexpr const char *kPatch = "PATCH"; /** - * POST method. + POST method. */ static constexpr const char *kPost = "POST"; /** - * PUT method. + PUT method. */ static constexpr const char *kPut = "PUT"; /** - * TRACE method. + TRACE method. */ static constexpr const char *kTrace = "TRACE"; /** - * Any HTTP method that the instrumentation has no prior knowledge of. + Any HTTP method that the instrumentation has no prior knowledge of. */ static constexpr const char *kOther = "_OTHER"; diff --git a/api/include/opentelemetry/semconv/incubating/http_metrics.h b/api/include/opentelemetry/semconv/incubating/http_metrics.h index 5462a444a0..5c725ae19a 100644 --- a/api/include/opentelemetry/semconv/incubating/http_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/http_metrics.h @@ -21,9 +21,9 @@ namespace http { /** - * Number of active HTTP requests. - *

- * updowncounter + Number of active HTTP requests. +

+ updowncounter */ static constexpr const char *kMetricHttpClientActiveRequests = "http.client.active_requests"; static constexpr const char *descrMetricHttpClientActiveRequests = @@ -63,9 +63,9 @@ CreateAsyncDoubleMetricHttpClientActiveRequests(metrics::Meter *meter) } /** - * The duration of the successfully established outbound HTTP connections. - *

- * histogram + The duration of the successfully established outbound HTTP connections. +

+ histogram */ static constexpr const char *kMetricHttpClientConnectionDuration = "http.client.connection.duration"; @@ -90,9 +90,9 @@ CreateSyncDoubleMetricHttpClientConnectionDuration(metrics::Meter *meter) } /** - * Number of outbound HTTP connections that are currently active or idle on the client. - *

- * updowncounter + Number of outbound HTTP connections that are currently active or idle on the client. +

+ updowncounter */ static constexpr const char *kMetricHttpClientOpenConnections = "http.client.open_connections"; static constexpr const char *descrMetricHttpClientOpenConnections = @@ -132,12 +132,12 @@ CreateAsyncDoubleMetricHttpClientOpenConnections(metrics::Meter *meter) } /** - * Size of HTTP client request bodies. - *

- * The size of the request payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size.

histogram + Size of HTTP client request bodies. +

+ The size of the request payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size.

histogram */ static constexpr const char *kMetricHttpClientRequestBodySize = "http.client.request.body.size"; static constexpr const char *descrMetricHttpClientRequestBodySize = @@ -161,9 +161,9 @@ CreateSyncDoubleMetricHttpClientRequestBodySize(metrics::Meter *meter) } /** - * Duration of HTTP client requests. - *

- * histogram + Duration of HTTP client requests. +

+ histogram */ static constexpr const char *kMetricHttpClientRequestDuration = "http.client.request.duration"; static constexpr const char *descrMetricHttpClientRequestDuration = @@ -187,12 +187,12 @@ CreateSyncDoubleMetricHttpClientRequestDuration(metrics::Meter *meter) } /** - * Size of HTTP client response bodies. - *

- * The size of the response payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size.

histogram + Size of HTTP client response bodies. +

+ The size of the response payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size.

histogram */ static constexpr const char *kMetricHttpClientResponseBodySize = "http.client.response.body.size"; static constexpr const char *descrMetricHttpClientResponseBodySize = @@ -216,9 +216,9 @@ CreateSyncDoubleMetricHttpClientResponseBodySize(metrics::Meter *meter) } /** - * Number of active HTTP server requests. - *

- * updowncounter + Number of active HTTP server requests. +

+ updowncounter */ static constexpr const char *kMetricHttpServerActiveRequests = "http.server.active_requests"; static constexpr const char *descrMetricHttpServerActiveRequests = @@ -258,12 +258,12 @@ CreateAsyncDoubleMetricHttpServerActiveRequests(metrics::Meter *meter) } /** - * Size of HTTP server request bodies. - *

- * The size of the request payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size.

histogram + Size of HTTP server request bodies. +

+ The size of the request payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size.

histogram */ static constexpr const char *kMetricHttpServerRequestBodySize = "http.server.request.body.size"; static constexpr const char *descrMetricHttpServerRequestBodySize = @@ -287,9 +287,9 @@ CreateSyncDoubleMetricHttpServerRequestBodySize(metrics::Meter *meter) } /** - * Duration of HTTP server requests. - *

- * histogram + Duration of HTTP server requests. +

+ histogram */ static constexpr const char *kMetricHttpServerRequestDuration = "http.server.request.duration"; static constexpr const char *descrMetricHttpServerRequestDuration = @@ -313,12 +313,12 @@ CreateSyncDoubleMetricHttpServerRequestDuration(metrics::Meter *meter) } /** - * Size of HTTP server response bodies. - *

- * The size of the response payload body in bytes. This is the number of bytes transferred excluding - * headers and is often, but not always, present as the Content-Length - * header. For requests using transport encoding, this should be the compressed size.

histogram + Size of HTTP server response bodies. +

+ The size of the response payload body in bytes. This is the number of bytes transferred excluding + headers and is often, but not always, present as the Content-Length header. + For requests using transport encoding, this should be the compressed size.

histogram */ static constexpr const char *kMetricHttpServerResponseBodySize = "http.server.response.body.size"; static constexpr const char *descrMetricHttpServerResponseBodySize = diff --git a/api/include/opentelemetry/semconv/incubating/hw_attributes.h b/api/include/opentelemetry/semconv/incubating/hw_attributes.h index d87fe1f3db..04c8a7638b 100644 --- a/api/include/opentelemetry/semconv/incubating/hw_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/hw_attributes.h @@ -20,50 +20,50 @@ namespace hw { /** - * An identifier for the hardware component, unique within the monitored host + An identifier for the hardware component, unique within the monitored host */ static constexpr const char *kHwId = "hw.id"; /** - * An easily-recognizable name for the hardware component + An easily-recognizable name for the hardware component */ static constexpr const char *kHwName = "hw.name"; /** - * Unique identifier of the parent component (typically the @code hw.id @endcode attribute of the - * enclosure, or disk controller) + Unique identifier of the parent component (typically the @code hw.id @endcode attribute of the + enclosure, or disk controller) */ static constexpr const char *kHwParent = "hw.parent"; /** - * The current state of the component + The current state of the component */ static constexpr const char *kHwState = "hw.state"; /** - * Type of the component - *

- * Describes the category of the hardware component for which @code hw.state @endcode is being - * reported. For example, @code hw.type=temperature @endcode along with @code hw.state=degraded - * @endcode would indicate that the temperature of the hardware component has been reported as @code - * degraded @endcode. + Type of the component +

+ Describes the category of the hardware component for which @code hw.state @endcode is being + reported. For example, @code hw.type=temperature @endcode along with @code hw.state=degraded + @endcode would indicate that the temperature of the hardware component has been reported as @code + degraded @endcode. */ static constexpr const char *kHwType = "hw.type"; namespace HwStateValues { /** - * Ok + Ok */ static constexpr const char *kOk = "ok"; /** - * Degraded + Degraded */ static constexpr const char *kDegraded = "degraded"; /** - * Failed + Failed */ static constexpr const char *kFailed = "failed"; @@ -72,72 +72,72 @@ static constexpr const char *kFailed = "failed"; namespace HwTypeValues { /** - * Battery + Battery */ static constexpr const char *kBattery = "battery"; /** - * CPU + CPU */ static constexpr const char *kCpu = "cpu"; /** - * Disk controller + Disk controller */ static constexpr const char *kDiskController = "disk_controller"; /** - * Enclosure + Enclosure */ static constexpr const char *kEnclosure = "enclosure"; /** - * Fan + Fan */ static constexpr const char *kFan = "fan"; /** - * GPU + GPU */ static constexpr const char *kGpu = "gpu"; /** - * Logical disk + Logical disk */ static constexpr const char *kLogicalDisk = "logical_disk"; /** - * Memory + Memory */ static constexpr const char *kMemory = "memory"; /** - * Network + Network */ static constexpr const char *kNetwork = "network"; /** - * Physical disk + Physical disk */ static constexpr const char *kPhysicalDisk = "physical_disk"; /** - * Power supply + Power supply */ static constexpr const char *kPowerSupply = "power_supply"; /** - * Tape drive + Tape drive */ static constexpr const char *kTapeDrive = "tape_drive"; /** - * Temperature + Temperature */ static constexpr const char *kTemperature = "temperature"; /** - * Voltage + Voltage */ static constexpr const char *kVoltage = "voltage"; diff --git a/api/include/opentelemetry/semconv/incubating/hw_metrics.h b/api/include/opentelemetry/semconv/incubating/hw_metrics.h index 225b939e8c..e73e9edeb8 100644 --- a/api/include/opentelemetry/semconv/incubating/hw_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/hw_metrics.h @@ -21,9 +21,9 @@ namespace hw { /** - * Energy consumed by the component - *

- * counter + Energy consumed by the component +

+ counter */ static constexpr const char *kMetricHwEnergy = "hw.energy"; static constexpr const char *descrMetricHwEnergy = "Energy consumed by the component"; @@ -56,9 +56,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Number of errors encountered by the component - *

- * counter + Number of errors encountered by the component +

+ counter */ static constexpr const char *kMetricHwErrors = "hw.errors"; static constexpr const char *descrMetricHwErrors = "Number of errors encountered by the component"; @@ -91,9 +91,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Ambient (external) temperature of the physical host - *

- * gauge + Ambient (external) temperature of the physical host +

+ gauge */ static constexpr const char *kMetricHwHostAmbientTemperature = "hw.host.ambient_temperature"; static constexpr const char *descrMetricHwHostAmbientTemperature = @@ -136,12 +136,12 @@ CreateAsyncDoubleMetricHwHostAmbientTemperature(metrics::Meter *meter) } /** - * Total energy consumed by the entire physical host, in joules - *

- * The overall energy usage of a host MUST be reported using the specific @code hw.host.energy - * @endcode and @code hw.host.power @endcode metrics only, instead of the generic - * @code hw.energy @endcode and @code hw.power @endcode described in the previous section, to - * prevent summing up overlapping values.

counter + Total energy consumed by the entire physical host, in joules +

+ The overall energy usage of a host MUST be reported using the specific @code hw.host.energy + @endcode and @code hw.host.power @endcode metrics only, instead of the generic + @code hw.energy @endcode and @code hw.power @endcode described in the previous section, to prevent + summing up overlapping values.

counter */ static constexpr const char *kMetricHwHostEnergy = "hw.host.energy"; static constexpr const char *descrMetricHwHostEnergy = @@ -177,8 +177,8 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * By how many degrees Celsius the temperature of the physical host can be increased, before - * reaching a warning threshold on one of the internal sensors

gauge + By how many degrees Celsius the temperature of the physical host can be increased, before reaching + a warning threshold on one of the internal sensors

gauge */ static constexpr const char *kMetricHwHostHeatingMargin = "hw.host.heating_margin"; static constexpr const char *descrMetricHwHostHeatingMargin = @@ -218,11 +218,11 @@ CreateAsyncDoubleMetricHwHostHeatingMargin(metrics::Meter *meter) } /** - * Instantaneous power consumed by the entire physical host in Watts (@code hw.host.energy @endcode - * is preferred)

The overall energy usage of a host MUST be reported using the specific @code - * hw.host.energy @endcode and @code hw.host.power @endcode metrics only, instead - * of the generic @code hw.energy @endcode and @code hw.power @endcode described in the previous - * section, to prevent summing up overlapping values.

gauge + Instantaneous power consumed by the entire physical host in Watts (@code hw.host.energy @endcode + is preferred)

The overall energy usage of a host MUST be reported using the specific @code + hw.host.energy @endcode and @code hw.host.power @endcode metrics only, instead of + the generic @code hw.energy @endcode and @code hw.power @endcode described in the previous + section, to prevent summing up overlapping values.

gauge */ static constexpr const char *kMetricHwHostPower = "hw.host.power"; static constexpr const char *descrMetricHwHostPower = @@ -261,10 +261,10 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Instantaneous power consumed by the component - *

- * It is recommended to report @code hw.energy @endcode instead of @code hw.power @endcode when - * possible.

gauge + Instantaneous power consumed by the component +

+ It is recommended to report @code hw.energy @endcode instead of @code hw.power @endcode when + possible.

gauge */ static constexpr const char *kMetricHwPower = "hw.power"; static constexpr const char *descrMetricHwPower = "Instantaneous power consumed by the component"; @@ -298,15 +298,16 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Operational status: @code 1 @endcode (true) or @code 0 @endcode (false) for each of the possible - * states

- * @code hw.status @endcode is currently specified as an UpDownCounter but would ideally be - * represented using a StateSet - * as defined in OpenMetrics. This semantic convention will be updated once StateSet is - * specified in OpenTelemetry. This planned change is not expected to have any consequence on the - * way users query their timeseries backend to retrieve the values of @code hw.status @endcode over - * time.

updowncounter + Operational status: @code 1 @endcode (true) or @code 0 @endcode (false) for each of the possible + states

+ @code hw.status @endcode is currently specified as an UpDownCounter but would ideally be + represented using a StateSet + as defined in OpenMetrics. This semantic convention will be updated once StateSet is + specified in OpenTelemetry. This planned change is not expected to have any consequence on the way + users query their timeseries backend to retrieve the values of @code hw.status @endcode over time. +

+ updowncounter */ static constexpr const char *kMetricHwStatus = "hw.status"; static constexpr const char *descrMetricHwStatus = diff --git a/api/include/opentelemetry/semconv/incubating/k8s_attributes.h b/api/include/opentelemetry/semconv/incubating/k8s_attributes.h index c1e6799442..05f4064982 100644 --- a/api/include/opentelemetry/semconv/incubating/k8s_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/k8s_attributes.h @@ -20,373 +20,377 @@ namespace k8s { /** - * The name of the cluster. + The name of the cluster. */ static constexpr const char *kK8sClusterName = "k8s.cluster.name"; /** - * A pseudo-ID for the cluster, set to the UID of the @code kube-system @endcode namespace. - *

- * K8s doesn't have support for obtaining a cluster ID. If this is ever - * added, we will recommend collecting the @code k8s.cluster.uid @endcode through the - * official APIs. In the meantime, we are able to use the @code uid @endcode of the - * @code kube-system @endcode namespace as a proxy for cluster ID. Read on for the - * rationale. - *

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

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

Therefore, UIDs between clusters should be extremely unlikely - * to conflict. + A pseudo-ID for the cluster, set to the UID of the @code kube-system @endcode namespace. +

+ K8s doesn't have support for obtaining a cluster ID. If this is ever + added, we will recommend collecting the @code k8s.cluster.uid @endcode through the + official APIs. In the meantime, we are able to use the @code uid @endcode of the + @code kube-system @endcode namespace as a proxy for cluster ID. Read on for the + rationale. +

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

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

+ Therefore, UIDs between clusters should be extremely unlikely to + conflict. */ static constexpr const char *kK8sClusterUid = "k8s.cluster.uid"; /** - * The name of the Container from Pod specification, must be unique within a Pod. Container runtime - * usually uses different globally unique name (@code container.name @endcode). + The name of the Container from Pod specification, must be unique within a Pod. Container runtime + usually uses different globally unique name (@code container.name @endcode). */ static constexpr const char *kK8sContainerName = "k8s.container.name"; /** - * Number of times the container was restarted. This attribute can be used to identify a particular - * container (running or stopped) within a container spec. + Number of times the container was restarted. This attribute can be used to identify a particular + container (running or stopped) within a container spec. */ static constexpr const char *kK8sContainerRestartCount = "k8s.container.restart_count"; /** - * Last terminated reason of the Container. + Last terminated reason of the Container. */ static constexpr const char *kK8sContainerStatusLastTerminatedReason = "k8s.container.status.last_terminated_reason"; /** - * The cronjob annotation placed on the CronJob, the @code @endcode being the annotation name, - * the value being the annotation value.

Examples:

  • An annotation @code retries @endcode - * with value @code 4 @endcode SHOULD be recorded as the - * @code k8s.cronjob.annotation.retries @endcode attribute with value @code "4" @endcode.
  • - *
  • An annotation @code data @endcode with empty string value SHOULD be recorded as - * the @code k8s.cronjob.annotation.data @endcode attribute with value @code "" @endcode.
  • - *
+ The cronjob annotation placed on the CronJob, the @code @endcode being the annotation name, + the value being the annotation value.

Examples:

  • An annotation @code retries @endcode + with value @code 4 @endcode SHOULD be recorded as the + @code k8s.cronjob.annotation.retries @endcode attribute with value @code "4" @endcode.
  • +
  • An annotation @code data @endcode with empty string value SHOULD be recorded as + the @code k8s.cronjob.annotation.data @endcode attribute with value @code "" @endcode.
  • +
*/ static constexpr const char *kK8sCronjobAnnotation = "k8s.cronjob.annotation"; /** - * The label placed on the CronJob, the @code @endcode being the label name, the value being - * the label value.

Examples:

  • A label @code type @endcode with value @code weekly - * @endcode SHOULD be recorded as the - * @code k8s.cronjob.label.type @endcode attribute with value @code "weekly" @endcode.
  • - *
  • A label @code automated @endcode with empty string value SHOULD be recorded as - * the @code k8s.cronjob.label.automated @endcode attribute with value @code "" @endcode.
  • - *
+ The label placed on the CronJob, the @code @endcode being the label name, the value being + the label value.

Examples:

  • A label @code type @endcode with value @code weekly + @endcode SHOULD be recorded as the + @code k8s.cronjob.label.type @endcode attribute with value @code "weekly" @endcode.
  • +
  • A label @code automated @endcode with empty string value SHOULD be recorded as + the @code k8s.cronjob.label.automated @endcode attribute with value @code "" @endcode.
  • +
*/ static constexpr const char *kK8sCronjobLabel = "k8s.cronjob.label"; /** - * The name of the CronJob. + The name of the CronJob. */ static constexpr const char *kK8sCronjobName = "k8s.cronjob.name"; /** - * The UID of the CronJob. + The UID of the CronJob. */ static constexpr const char *kK8sCronjobUid = "k8s.cronjob.uid"; /** - * The annotation key-value pairs placed on the DaemonSet. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the DaemonSet. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sDaemonsetAnnotation = "k8s.daemonset.annotation"; /** - * The label key-value pairs placed on the DaemonSet. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the DaemonSet. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sDaemonsetLabel = "k8s.daemonset.label"; /** - * The name of the DaemonSet. + The name of the DaemonSet. */ static constexpr const char *kK8sDaemonsetName = "k8s.daemonset.name"; /** - * The UID of the DaemonSet. + The UID of the DaemonSet. */ static constexpr const char *kK8sDaemonsetUid = "k8s.daemonset.uid"; /** - * The annotation key-value pairs placed on the Deployment. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the Deployment. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sDeploymentAnnotation = "k8s.deployment.annotation"; /** - * The label key-value pairs placed on the Deployment. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the Deployment. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sDeploymentLabel = "k8s.deployment.label"; /** - * The name of the Deployment. + The name of the Deployment. */ static constexpr const char *kK8sDeploymentName = "k8s.deployment.name"; /** - * The UID of the Deployment. + The UID of the Deployment. */ static constexpr const char *kK8sDeploymentUid = "k8s.deployment.uid"; /** - * The name of the horizontal pod autoscaler. + The name of the horizontal pod autoscaler. */ static constexpr const char *kK8sHpaName = "k8s.hpa.name"; /** - * The UID of the horizontal pod autoscaler. + The UID of the horizontal pod autoscaler. */ static constexpr const char *kK8sHpaUid = "k8s.hpa.uid"; /** - * The annotation key-value pairs placed on the Job. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the Job. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sJobAnnotation = "k8s.job.annotation"; /** - * The label key-value pairs placed on the Job. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the Job. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sJobLabel = "k8s.job.label"; /** - * The name of the Job. + The name of the Job. */ static constexpr const char *kK8sJobName = "k8s.job.name"; /** - * The UID of the Job. + The UID of the Job. */ static constexpr const char *kK8sJobUid = "k8s.job.uid"; /** - * The annotation key-value pairs placed on the Namespace. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the Namespace. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sNamespaceAnnotation = "k8s.namespace.annotation"; /** - * The label key-value pairs placed on the Namespace. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the Namespace. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sNamespaceLabel = "k8s.namespace.label"; /** - * The name of the namespace that the pod is running in. + The name of the namespace that the pod is running in. */ static constexpr const char *kK8sNamespaceName = "k8s.namespace.name"; /** - * The phase of the K8s namespace. - *

- * This attribute aligns with the @code phase @endcode field of the - * K8s - * NamespaceStatus + The phase of the K8s namespace. +

+ This attribute aligns with the @code phase @endcode field of the + K8s + NamespaceStatus */ static constexpr const char *kK8sNamespacePhase = "k8s.namespace.phase"; /** - * The annotation placed on the Node, the @code @endcode being the annotation name, the value - * being the annotation value, even if the value is empty.

Examples:

  • An annotation - * @code node.alpha.kubernetes.io/ttl @endcode with value @code 0 @endcode SHOULD be recorded as the - * @code k8s.node.annotation.node.alpha.kubernetes.io/ttl @endcode attribute with value @code "0" - * @endcode.
  • An annotation @code data @endcode with empty string value SHOULD be recorded - * as the @code k8s.node.annotation.data @endcode attribute with value @code "" @endcode.
  • - *
+ The annotation placed on the Node, the @code @endcode being the annotation name, the value + being the annotation value, even if the value is empty.

Examples:

  • An annotation @code + node.alpha.kubernetes.io/ttl @endcode with value @code 0 @endcode SHOULD be recorded as the @code + k8s.node.annotation.node.alpha.kubernetes.io/ttl @endcode attribute with value @code "0" + @endcode.
  • An annotation @code data @endcode with empty string value SHOULD be recorded as + the @code k8s.node.annotation.data @endcode attribute with value @code "" @endcode.
  • +
*/ static constexpr const char *kK8sNodeAnnotation = "k8s.node.annotation"; /** - * The label placed on the Node, the @code @endcode being the label name, the value being the - * label value, even if the value is empty.

Examples:

  • A label @code kubernetes.io/arch - * @endcode with value @code arm64 @endcode SHOULD be recorded as the @code - * k8s.node.label.kubernetes.io/arch @endcode attribute with value @code "arm64" @endcode.
  • - *
  • A label @code data @endcode with empty string value SHOULD be recorded as - * the @code k8s.node.label.data @endcode attribute with value @code "" @endcode.
  • - *
+ The label placed on the Node, the @code @endcode being the label name, the value being the + label value, even if the value is empty.

Examples:

  • A label @code kubernetes.io/arch + @endcode with value @code arm64 @endcode SHOULD be recorded as the @code + k8s.node.label.kubernetes.io/arch @endcode attribute with value @code "arm64" @endcode.
  • A + label @code data @endcode with empty string value SHOULD be recorded as the @code + k8s.node.label.data @endcode attribute with value @code "" @endcode.
  • +
*/ static constexpr const char *kK8sNodeLabel = "k8s.node.label"; /** - * The name of the Node. + The name of the Node. */ static constexpr const char *kK8sNodeName = "k8s.node.name"; /** - * The UID of the Node. + The UID of the Node. */ static constexpr const char *kK8sNodeUid = "k8s.node.uid"; /** - * The annotation placed on the Pod, the @code @endcode being the annotation name, the value - * being the annotation value.

Examples:

  • An annotation @code - * kubernetes.io/enforce-mountable-secrets @endcode with value @code true @endcode SHOULD be - * recorded as the @code k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets @endcode - * attribute with value @code "true" @endcode.
  • An annotation @code mycompany.io/arch - * @endcode with value @code x64 @endcode SHOULD be recorded as the @code - * k8s.pod.annotation.mycompany.io/arch @endcode attribute with value @code "x64" @endcode.
  • - *
  • An annotation @code data @endcode with empty string value SHOULD be recorded as - * the @code k8s.pod.annotation.data @endcode attribute with value @code "" @endcode.
  • - *
+ The annotation placed on the Pod, the @code @endcode being the annotation name, the value + being the annotation value.

Examples:

  • An annotation @code + kubernetes.io/enforce-mountable-secrets @endcode with value @code true @endcode SHOULD be recorded + as the @code k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets @endcode attribute with + value @code "true" @endcode.
  • An annotation @code mycompany.io/arch @endcode with value + @code x64 @endcode SHOULD be recorded as the @code k8s.pod.annotation.mycompany.io/arch @endcode + attribute with value @code "x64" @endcode.
  • An annotation @code data @endcode with empty + string value SHOULD be recorded as the @code k8s.pod.annotation.data @endcode attribute with value + @code "" @endcode.
  • +
*/ static constexpr const char *kK8sPodAnnotation = "k8s.pod.annotation"; /** - * The label placed on the Pod, the @code @endcode being the label name, the value being the - * label value.

Examples:

  • A label @code app @endcode with value @code my-app @endcode - * SHOULD be recorded as the @code k8s.pod.label.app @endcode attribute with value @code "my-app" - * @endcode.
  • A label @code mycompany.io/arch @endcode with value @code x64 @endcode SHOULD - * be recorded as the @code k8s.pod.label.mycompany.io/arch @endcode attribute with value @code - * "x64" @endcode.
  • A label @code data @endcode with empty string value SHOULD be recorded - * as the @code k8s.pod.label.data @endcode attribute with value @code "" @endcode.
  • - *
+ The label placed on the Pod, the @code @endcode being the label name, the value being the + label value.

Examples:

  • A label @code app @endcode with value @code my-app @endcode + SHOULD be recorded as the @code k8s.pod.label.app @endcode attribute with value @code "my-app" + @endcode.
  • A label @code mycompany.io/arch @endcode with value @code x64 @endcode SHOULD + be recorded as the @code k8s.pod.label.mycompany.io/arch @endcode attribute with value @code "x64" + @endcode.
  • A label @code data @endcode with empty string value SHOULD be recorded as the + @code k8s.pod.label.data @endcode attribute with value @code "" @endcode.
  • +
*/ static constexpr const char *kK8sPodLabel = "k8s.pod.label"; /** - * Deprecated, use @code k8s.pod.label @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code k8s.pod.label @endcode.", "reason": "renamed", "renamed_to": - * "k8s.pod.label"} + Deprecated, use @code k8s.pod.label @endcode instead. + + @deprecated + {"note": "Replaced by @code k8s.pod.label @endcode.", "reason": "renamed", "renamed_to": + "k8s.pod.label"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kK8sPodLabels = "k8s.pod.labels"; /** - * The name of the Pod. + The name of the Pod. */ static constexpr const char *kK8sPodName = "k8s.pod.name"; /** - * The UID of the Pod. + The UID of the Pod. */ static constexpr const char *kK8sPodUid = "k8s.pod.uid"; /** - * The annotation key-value pairs placed on the ReplicaSet. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the ReplicaSet. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sReplicasetAnnotation = "k8s.replicaset.annotation"; /** - * The label key-value pairs placed on the ReplicaSet. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the ReplicaSet. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sReplicasetLabel = "k8s.replicaset.label"; /** - * The name of the ReplicaSet. + The name of the ReplicaSet. */ static constexpr const char *kK8sReplicasetName = "k8s.replicaset.name"; /** - * The UID of the ReplicaSet. + The UID of the ReplicaSet. */ static constexpr const char *kK8sReplicasetUid = "k8s.replicaset.uid"; /** - * The name of the replication controller. + The name of the replication controller. */ static constexpr const char *kK8sReplicationcontrollerName = "k8s.replicationcontroller.name"; /** - * The UID of the replication controller. + The UID of the replication controller. */ static constexpr const char *kK8sReplicationcontrollerUid = "k8s.replicationcontroller.uid"; /** - * The name of the resource quota. + The name of the resource quota. */ static constexpr const char *kK8sResourcequotaName = "k8s.resourcequota.name"; /** - * The UID of the resource quota. + The UID of the resource quota. */ static constexpr const char *kK8sResourcequotaUid = "k8s.resourcequota.uid"; /** - * The annotation key-value pairs placed on the StatefulSet. - *

- * The @code @endcode being the annotation name, the value being the annotation value, even if - * the value is empty. + The annotation key-value pairs placed on the StatefulSet. +

+ The @code @endcode being the annotation name, the value being the annotation value, even if + the value is empty. */ static constexpr const char *kK8sStatefulsetAnnotation = "k8s.statefulset.annotation"; /** - * The label key-value pairs placed on the StatefulSet. - *

- * The @code @endcode being the label name, the value being the label value, even if the value - * is empty. + The label key-value pairs placed on the StatefulSet. +

+ The @code @endcode being the label name, the value being the label value, even if the value + is empty. */ static constexpr const char *kK8sStatefulsetLabel = "k8s.statefulset.label"; /** - * The name of the StatefulSet. + The name of the StatefulSet. */ static constexpr const char *kK8sStatefulsetName = "k8s.statefulset.name"; /** - * The UID of the StatefulSet. + The UID of the StatefulSet. */ static constexpr const char *kK8sStatefulsetUid = "k8s.statefulset.uid"; /** - * The name of the K8s volume. + The name of the K8s volume. */ static constexpr const char *kK8sVolumeName = "k8s.volume.name"; /** - * The type of the K8s volume. + The type of the K8s volume. */ static constexpr const char *kK8sVolumeType = "k8s.volume.type"; namespace K8sNamespacePhaseValues { /** - * Active namespace phase as described by K8s API + Active namespace phase as described by K8s API */ static constexpr const char *kActive = "active"; /** - * Terminating namespace phase as described by K8s API + Terminating namespace phase as described by K8s API */ static constexpr const char *kTerminating = "terminating"; @@ -395,42 +399,40 @@ static constexpr const char *kTerminating = "terminating"; namespace K8sVolumeTypeValues { /** - * A persistentVolumeClaim - * volume + A persistentVolumeClaim + volume */ static constexpr const char *kPersistentVolumeClaim = "persistentVolumeClaim"; /** - * A configMap - * volume + A configMap + volume */ static constexpr const char *kConfigMap = "configMap"; /** - * A downwardAPI - * volume + A downwardAPI + volume */ static constexpr const char *kDownwardApi = "downwardAPI"; /** - * An emptyDir - * volume + An emptyDir + volume */ static constexpr const char *kEmptyDir = "emptyDir"; /** - * A secret - * volume + A secret + volume */ static constexpr const char *kSecret = "secret"; /** - * A local - * volume + A local volume */ static constexpr const char *kLocal = "local"; diff --git a/api/include/opentelemetry/semconv/incubating/k8s_metrics.h b/api/include/opentelemetry/semconv/incubating/k8s_metrics.h index f6cef58cfc..3a5f25b271 100644 --- a/api/include/opentelemetry/semconv/incubating/k8s_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/k8s_metrics.h @@ -21,13 +21,13 @@ namespace k8s { /** - * The number of actively running jobs for a cronjob - *

- * This metric aligns with the @code active @endcode field of the - * K8s - * CronJobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.cronjob @endcode resource.

updowncounter + The number of actively running jobs for a cronjob +

+ This metric aligns with the @code active @endcode field of the + K8s + CronJobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.cronjob @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sCronjobActiveJobs = "k8s.cronjob.active_jobs"; static constexpr const char *descrMetricK8sCronjobActiveJobs = @@ -63,13 +63,13 @@ CreateAsyncDoubleMetricK8sCronjobActiveJobs(metrics::Meter *meter) } /** - * Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod - *

- * This metric aligns with the @code currentNumberScheduled @endcode field of the - * K8s - * DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter + Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod +

+ This metric aligns with the @code currentNumberScheduled @endcode field of the + K8s + DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDaemonsetCurrentScheduledNodes = "k8s.daemonset.current_scheduled_nodes"; @@ -110,11 +110,11 @@ CreateAsyncDoubleMetricK8sDaemonsetCurrentScheduledNodes(metrics::Meter *meter) } /** - * Number of nodes that should be running the daemon pod (including nodes currently running the - * daemon pod)

This metric aligns with the @code desiredNumberScheduled @endcode field of the K8s - * DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter + Number of nodes that should be running the daemon pod (including nodes currently running the + daemon pod)

This metric aligns with the @code desiredNumberScheduled @endcode field of the K8s + DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDaemonsetDesiredScheduledNodes = "k8s.daemonset.desired_scheduled_nodes"; @@ -156,13 +156,13 @@ CreateAsyncDoubleMetricK8sDaemonsetDesiredScheduledNodes(metrics::Meter *meter) } /** - * Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod - *

- * This metric aligns with the @code numberMisscheduled @endcode field of the - * K8s - * DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter + Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod +

+ This metric aligns with the @code numberMisscheduled @endcode field of the + K8s + DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDaemonsetMisscheduledNodes = "k8s.daemonset.misscheduled_nodes"; @@ -203,11 +203,11 @@ CreateAsyncDoubleMetricK8sDaemonsetMisscheduledNodes(metrics::Meter *meter) } /** - * Number of nodes that should be running the daemon pod and have one or more of the daemon pod - * running and ready

This metric aligns with the @code numberReady @endcode field of the K8s - * DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter + Number of nodes that should be running the daemon pod and have one or more of the daemon pod + running and ready

This metric aligns with the @code numberReady @endcode field of the K8s + DaemonSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.daemonset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDaemonsetReadyNodes = "k8s.daemonset.ready_nodes"; static constexpr const char *descrMetricK8sDaemonsetReadyNodes = @@ -248,12 +248,11 @@ CreateAsyncDoubleMetricK8sDaemonsetReadyNodes(metrics::Meter *meter) } /** - * Total number of available replica pods (ready for at least minReadySeconds) targeted by this - * deployment

This metric aligns with the @code availableReplicas @endcode field of the K8s - * DeploymentStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.deployment @endcode resource.

- * updowncounter + Total number of available replica pods (ready for at least minReadySeconds) targeted by this + deployment

This metric aligns with the @code availableReplicas @endcode field of the K8s + DeploymentStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.deployment @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDeploymentAvailablePods = "k8s.deployment.available_pods"; static constexpr const char *descrMetricK8sDeploymentAvailablePods = @@ -294,14 +293,13 @@ CreateAsyncDoubleMetricK8sDeploymentAvailablePods(metrics::Meter *meter) } /** - * Number of desired replica pods in this deployment - *

- * This metric aligns with the @code replicas @endcode field of the - * K8s - * DeploymentSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.deployment @endcode resource.

- * updowncounter + Number of desired replica pods in this deployment +

+ This metric aligns with the @code replicas @endcode field of the + K8s + DeploymentSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.deployment @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sDeploymentDesiredPods = "k8s.deployment.desired_pods"; static constexpr const char *descrMetricK8sDeploymentDesiredPods = @@ -341,12 +339,12 @@ CreateAsyncDoubleMetricK8sDeploymentDesiredPods(metrics::Meter *meter) } /** - * Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the - * autoscaler

This metric aligns with the @code currentReplicas @endcode field of the K8s - * HorizontalPodAutoscalerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

- * updowncounter + Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the + autoscaler

This metric aligns with the @code currentReplicas @endcode field of the K8s + HorizontalPodAutoscalerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sHpaCurrentPods = "k8s.hpa.current_pods"; static constexpr const char *descrMetricK8sHpaCurrentPods = @@ -383,12 +381,12 @@ CreateAsyncDoubleMetricK8sHpaCurrentPods(metrics::Meter *meter) } /** - * Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by - * the autoscaler

This metric aligns with the @code desiredReplicas @endcode field of the K8s - * HorizontalPodAutoscalerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

- * updowncounter + Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by + the autoscaler

This metric aligns with the @code desiredReplicas @endcode field of the K8s + HorizontalPodAutoscalerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sHpaDesiredPods = "k8s.hpa.desired_pods"; static constexpr const char *descrMetricK8sHpaDesiredPods = @@ -425,14 +423,14 @@ CreateAsyncDoubleMetricK8sHpaDesiredPods(metrics::Meter *meter) } /** - * The upper limit for the number of replica pods to which the autoscaler can scale up - *

- * This metric aligns with the @code maxReplicas @endcode field of the - * K8s - * HorizontalPodAutoscalerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

- * updowncounter + The upper limit for the number of replica pods to which the autoscaler can scale up +

+ This metric aligns with the @code maxReplicas @endcode field of the + K8s + HorizontalPodAutoscalerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sHpaMaxPods = "k8s.hpa.max_pods"; static constexpr const char *descrMetricK8sHpaMaxPods = @@ -468,14 +466,14 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * The lower limit for the number of replica pods to which the autoscaler can scale down - *

- * This metric aligns with the @code minReplicas @endcode field of the - * K8s - * HorizontalPodAutoscalerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

- * updowncounter + The lower limit for the number of replica pods to which the autoscaler can scale down +

+ This metric aligns with the @code minReplicas @endcode field of the + K8s + HorizontalPodAutoscalerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.hpa @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sHpaMinPods = "k8s.hpa.min_pods"; static constexpr const char *descrMetricK8sHpaMinPods = @@ -511,13 +509,13 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * The number of pending and actively running pods for a job - *

- * This metric aligns with the @code active @endcode field of the - * K8s - * JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter + The number of pending and actively running pods for a job +

+ This metric aligns with the @code active @endcode field of the + K8s + JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sJobActivePods = "k8s.job.active_pods"; static constexpr const char *descrMetricK8sJobActivePods = @@ -553,13 +551,13 @@ CreateAsyncDoubleMetricK8sJobActivePods(metrics::Meter *meter) } /** - * The desired number of successfully finished pods the job should be run with - *

- * This metric aligns with the @code completions @endcode field of the - * K8s - * JobSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter + The desired number of successfully finished pods the job should be run with +

+ This metric aligns with the @code completions @endcode field of the + K8s + JobSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sJobDesiredSuccessfulPods = "k8s.job.desired_successful_pods"; static constexpr const char *descrMetricK8sJobDesiredSuccessfulPods = @@ -599,13 +597,13 @@ CreateAsyncDoubleMetricK8sJobDesiredSuccessfulPods(metrics::Meter *meter) } /** - * The number of pods which reached phase Failed for a job - *

- * This metric aligns with the @code failed @endcode field of the - * K8s - * JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter + The number of pods which reached phase Failed for a job +

+ This metric aligns with the @code failed @endcode field of the + K8s + JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sJobFailedPods = "k8s.job.failed_pods"; static constexpr const char *descrMetricK8sJobFailedPods = @@ -641,13 +639,13 @@ CreateAsyncDoubleMetricK8sJobFailedPods(metrics::Meter *meter) } /** - * The max desired number of pods the job should run at any given time - *

- * This metric aligns with the @code parallelism @endcode field of the - * K8s - * JobSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter + The max desired number of pods the job should run at any given time +

+ This metric aligns with the @code parallelism @endcode field of the + K8s + JobSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sJobMaxParallelPods = "k8s.job.max_parallel_pods"; static constexpr const char *descrMetricK8sJobMaxParallelPods = @@ -687,13 +685,13 @@ CreateAsyncDoubleMetricK8sJobMaxParallelPods(metrics::Meter *meter) } /** - * The number of pods which reached phase Succeeded for a job - *

- * This metric aligns with the @code succeeded @endcode field of the - * K8s - * JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter + The number of pods which reached phase Succeeded for a job +

+ This metric aligns with the @code succeeded @endcode field of the + K8s + JobStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.job @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sJobSuccessfulPods = "k8s.job.successful_pods"; static constexpr const char *descrMetricK8sJobSuccessfulPods = @@ -729,12 +727,12 @@ CreateAsyncDoubleMetricK8sJobSuccessfulPods(metrics::Meter *meter) } /** - * Describes number of K8s namespaces that are currently in a given phase. - *

- * This metric SHOULD, at a minimum, be reported against a - * @code k8s.namespace @endcode resource. - *

- * updowncounter + Describes number of K8s namespaces that are currently in a given phase. +

+ This metric SHOULD, at a minimum, be reported against a + @code k8s.namespace @endcode resource. +

+ updowncounter */ static constexpr const char *kMetricK8sNamespacePhase = "k8s.namespace.phase"; static constexpr const char *descrMetricK8sNamespacePhase = @@ -770,11 +768,11 @@ CreateAsyncDoubleMetricK8sNamespacePhase(metrics::Meter *meter) } /** - * Total CPU time consumed - *

- * Total CPU time consumed by the specific Node on all available CPU cores - *

- * counter + Total CPU time consumed +

+ Total CPU time consumed by the specific Node on all available CPU cores +

+ counter */ static constexpr const char *kMetricK8sNodeCpuTime = "k8s.node.cpu.time"; static constexpr const char *descrMetricK8sNodeCpuTime = "Total CPU time consumed"; @@ -809,11 +807,11 @@ CreateAsyncDoubleMetricK8sNodeCpuTime(metrics::Meter *meter) } /** - * Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs - *

- * CPU usage of the specific Node on all available CPU cores, averaged over the sample window - *

- * gauge + Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs +

+ CPU usage of the specific Node on all available CPU cores, averaged over the sample window +

+ gauge */ static constexpr const char *kMetricK8sNodeCpuUsage = "k8s.node.cpu.usage"; static constexpr const char *descrMetricK8sNodeCpuUsage = @@ -852,11 +850,11 @@ CreateAsyncDoubleMetricK8sNodeCpuUsage(metrics::Meter *meter) } /** - * Memory usage of the Node - *

- * Total memory usage of the Node - *

- * gauge + Memory usage of the Node +

+ Total memory usage of the Node +

+ gauge */ static constexpr const char *kMetricK8sNodeMemoryUsage = "k8s.node.memory.usage"; static constexpr const char *descrMetricK8sNodeMemoryUsage = "Memory usage of the Node"; @@ -894,9 +892,9 @@ CreateAsyncDoubleMetricK8sNodeMemoryUsage(metrics::Meter *meter) } /** - * Node network errors - *

- * counter + Node network errors +

+ counter */ static constexpr const char *kMetricK8sNodeNetworkErrors = "k8s.node.network.errors"; static constexpr const char *descrMetricK8sNodeNetworkErrors = "Node network errors"; @@ -931,9 +929,9 @@ CreateAsyncDoubleMetricK8sNodeNetworkErrors(metrics::Meter *meter) } /** - * Network bytes for the Node - *

- * counter + Network bytes for the Node +

+ counter */ static constexpr const char *kMetricK8sNodeNetworkIo = "k8s.node.network.io"; static constexpr const char *descrMetricK8sNodeNetworkIo = "Network bytes for the Node"; @@ -968,11 +966,11 @@ CreateAsyncDoubleMetricK8sNodeNetworkIo(metrics::Meter *meter) } /** - * The time the Node has been running - *

- * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds - * as a floating point number with the highest precision available. The actual accuracy would depend - * on the instrumentation and operating system.

gauge + The time the Node has been running +

+ Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + as a floating point number with the highest precision available. The actual accuracy would depend + on the instrumentation and operating system.

gauge */ static constexpr const char *kMetricK8sNodeUptime = "k8s.node.uptime"; static constexpr const char *descrMetricK8sNodeUptime = "The time the Node has been running"; @@ -1010,11 +1008,11 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Total CPU time consumed - *

- * Total CPU time consumed by the specific Pod on all available CPU cores - *

- * counter + Total CPU time consumed +

+ Total CPU time consumed by the specific Pod on all available CPU cores +

+ counter */ static constexpr const char *kMetricK8sPodCpuTime = "k8s.pod.cpu.time"; static constexpr const char *descrMetricK8sPodCpuTime = "Total CPU time consumed"; @@ -1049,11 +1047,11 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs - *

- * CPU usage of the specific Pod on all available CPU cores, averaged over the sample window - *

- * gauge + Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs +

+ CPU usage of the specific Pod on all available CPU cores, averaged over the sample window +

+ gauge */ static constexpr const char *kMetricK8sPodCpuUsage = "k8s.pod.cpu.usage"; static constexpr const char *descrMetricK8sPodCpuUsage = @@ -1092,11 +1090,11 @@ CreateAsyncDoubleMetricK8sPodCpuUsage(metrics::Meter *meter) } /** - * Memory usage of the Pod - *

- * Total memory usage of the Pod - *

- * gauge + Memory usage of the Pod +

+ Total memory usage of the Pod +

+ gauge */ static constexpr const char *kMetricK8sPodMemoryUsage = "k8s.pod.memory.usage"; static constexpr const char *descrMetricK8sPodMemoryUsage = "Memory usage of the Pod"; @@ -1134,9 +1132,9 @@ CreateAsyncDoubleMetricK8sPodMemoryUsage(metrics::Meter *meter) } /** - * Pod network errors - *

- * counter + Pod network errors +

+ counter */ static constexpr const char *kMetricK8sPodNetworkErrors = "k8s.pod.network.errors"; static constexpr const char *descrMetricK8sPodNetworkErrors = "Pod network errors"; @@ -1171,9 +1169,9 @@ CreateAsyncDoubleMetricK8sPodNetworkErrors(metrics::Meter *meter) } /** - * Network bytes for the Pod - *

- * counter + Network bytes for the Pod +

+ counter */ static constexpr const char *kMetricK8sPodNetworkIo = "k8s.pod.network.io"; static constexpr const char *descrMetricK8sPodNetworkIo = "Network bytes for the Pod"; @@ -1208,11 +1206,11 @@ CreateAsyncDoubleMetricK8sPodNetworkIo(metrics::Meter *meter) } /** - * The time the Pod has been running - *

- * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds - * as a floating point number with the highest precision available. The actual accuracy would depend - * on the instrumentation and operating system.

gauge + The time the Pod has been running +

+ Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + as a floating point number with the highest precision available. The actual accuracy would depend + on the instrumentation and operating system.

gauge */ static constexpr const char *kMetricK8sPodUptime = "k8s.pod.uptime"; static constexpr const char *descrMetricK8sPodUptime = "The time the Pod has been running"; @@ -1250,12 +1248,11 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Total number of available replica pods (ready for at least minReadySeconds) targeted by this - * replicaset

This metric aligns with the @code availableReplicas @endcode field of the K8s - * ReplicaSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.replicaset @endcode resource.

- * updowncounter + Total number of available replica pods (ready for at least minReadySeconds) targeted by this + replicaset

This metric aligns with the @code availableReplicas @endcode field of the K8s + ReplicaSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.replicaset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sReplicasetAvailablePods = "k8s.replicaset.available_pods"; static constexpr const char *descrMetricK8sReplicasetAvailablePods = @@ -1296,14 +1293,13 @@ CreateAsyncDoubleMetricK8sReplicasetAvailablePods(metrics::Meter *meter) } /** - * Number of desired replica pods in this replicaset - *

- * This metric aligns with the @code replicas @endcode field of the - * K8s - * ReplicaSetSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.replicaset @endcode resource.

- * updowncounter + Number of desired replica pods in this replicaset +

+ This metric aligns with the @code replicas @endcode field of the + K8s + ReplicaSetSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.replicaset @endcode resource.

updowncounter */ static constexpr const char *kMetricK8sReplicasetDesiredPods = "k8s.replicaset.desired_pods"; static constexpr const char *descrMetricK8sReplicasetDesiredPods = @@ -1343,11 +1339,11 @@ CreateAsyncDoubleMetricK8sReplicasetDesiredPods(metrics::Meter *meter) } /** - * Deprecated, use @code k8s.replicationcontroller.available_pods @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code k8s.replicationcontroller.available_pods @endcode.", "reason": - * "renamed", "renamed_to": "k8s.replicationcontroller.available_pods"}

updowncounter + Deprecated, use @code k8s.replicationcontroller.available_pods @endcode instead. + + @deprecated + {"note": "Replaced by @code k8s.replicationcontroller.available_pods @endcode.", "reason": + "renamed", "renamed_to": "k8s.replicationcontroller.available_pods"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricK8sReplicationControllerAvailablePods = "k8s.replication_controller.available_pods"; @@ -1391,11 +1387,11 @@ CreateAsyncDoubleMetricK8sReplicationControllerAvailablePods(metrics::Meter *met } /** - * Deprecated, use @code k8s.replicationcontroller.desired_pods @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code k8s.replicationcontroller.desired_pods @endcode.", "reason": - * "renamed", "renamed_to": "k8s.replicationcontroller.desired_pods"}

updowncounter + Deprecated, use @code k8s.replicationcontroller.desired_pods @endcode instead. + + @deprecated + {"note": "Replaced by @code k8s.replicationcontroller.desired_pods @endcode.", "reason": + "renamed", "renamed_to": "k8s.replicationcontroller.desired_pods"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricK8sReplicationControllerDesiredPods = "k8s.replication_controller.desired_pods"; @@ -1438,13 +1434,13 @@ CreateAsyncDoubleMetricK8sReplicationControllerDesiredPods(metrics::Meter *meter } /** - * Total number of available replica pods (ready for at least minReadySeconds) targeted by this - * replication controller

This metric aligns with the @code availableReplicas @endcode field of - * the K8s - * ReplicationControllerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.replicationcontroller @endcode - * resource.

updowncounter + Total number of available replica pods (ready for at least minReadySeconds) targeted by this + replication controller

This metric aligns with the @code availableReplicas @endcode field of + the K8s + ReplicationControllerStatus

This metric SHOULD, at a minimum, be reported against a @code k8s.replicationcontroller @endcode + resource.

updowncounter */ static constexpr const char *kMetricK8sReplicationcontrollerAvailablePods = "k8s.replicationcontroller.available_pods"; @@ -1487,14 +1483,14 @@ CreateAsyncDoubleMetricK8sReplicationcontrollerAvailablePods(metrics::Meter *met } /** - * Number of desired replica pods in this replication controller - *

- * This metric aligns with the @code replicas @endcode field of the - * K8s - * ReplicationControllerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.replicationcontroller @endcode - * resource.

updowncounter + Number of desired replica pods in this replication controller +

+ This metric aligns with the @code replicas @endcode field of the + K8s + ReplicationControllerSpec

This metric SHOULD, at a minimum, be reported against a @code k8s.replicationcontroller @endcode + resource.

updowncounter */ static constexpr const char *kMetricK8sReplicationcontrollerDesiredPods = "k8s.replicationcontroller.desired_pods"; @@ -1535,13 +1531,13 @@ CreateAsyncDoubleMetricK8sReplicationcontrollerDesiredPods(metrics::Meter *meter } /** - * The number of replica pods created by the statefulset controller from the statefulset version - * indicated by currentRevision

This metric aligns with the @code currentReplicas @endcode field - * of the K8s - * StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

- * updowncounter + The number of replica pods created by the statefulset controller from the statefulset version + indicated by currentRevision

This metric aligns with the @code currentReplicas @endcode field + of the K8s + StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sStatefulsetCurrentPods = "k8s.statefulset.current_pods"; static constexpr const char *descrMetricK8sStatefulsetCurrentPods = @@ -1582,14 +1578,14 @@ CreateAsyncDoubleMetricK8sStatefulsetCurrentPods(metrics::Meter *meter) } /** - * Number of desired replica pods in this statefulset - *

- * This metric aligns with the @code replicas @endcode field of the - * K8s - * StatefulSetSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

- * updowncounter + Number of desired replica pods in this statefulset +

+ This metric aligns with the @code replicas @endcode field of the + K8s + StatefulSetSpec.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sStatefulsetDesiredPods = "k8s.statefulset.desired_pods"; static constexpr const char *descrMetricK8sStatefulsetDesiredPods = @@ -1629,14 +1625,14 @@ CreateAsyncDoubleMetricK8sStatefulsetDesiredPods(metrics::Meter *meter) } /** - * The number of replica pods created for this statefulset with a Ready Condition - *

- * This metric aligns with the @code readyReplicas @endcode field of the - * K8s - * StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

- * updowncounter + The number of replica pods created for this statefulset with a Ready Condition +

+ This metric aligns with the @code readyReplicas @endcode field of the + K8s + StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sStatefulsetReadyPods = "k8s.statefulset.ready_pods"; static constexpr const char *descrMetricK8sStatefulsetReadyPods = @@ -1676,13 +1672,13 @@ CreateAsyncDoubleMetricK8sStatefulsetReadyPods(metrics::Meter *meter) } /** - * Number of replica pods created by the statefulset controller from the statefulset version - * indicated by updateRevision

This metric aligns with the @code updatedReplicas @endcode field - * of the K8s - * StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

- * updowncounter + Number of replica pods created by the statefulset controller from the statefulset version + indicated by updateRevision

This metric aligns with the @code updatedReplicas @endcode field + of the K8s + StatefulSetStatus.

This metric SHOULD, at a minimum, be reported against a @code k8s.statefulset @endcode resource.

+ updowncounter */ static constexpr const char *kMetricK8sStatefulsetUpdatedPods = "k8s.statefulset.updated_pods"; static constexpr const char *descrMetricK8sStatefulsetUpdatedPods = diff --git a/api/include/opentelemetry/semconv/incubating/linux_attributes.h b/api/include/opentelemetry/semconv/incubating/linux_attributes.h index 024e2b60e6..c3f90337a4 100644 --- a/api/include/opentelemetry/semconv/incubating/linux_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/linux_attributes.h @@ -20,19 +20,19 @@ namespace linux { /** - * The Linux Slab memory state + The Linux Slab memory state */ static constexpr const char *kLinuxMemorySlabState = "linux.memory.slab.state"; namespace LinuxMemorySlabStateValues { /** - * none + none */ static constexpr const char *kReclaimable = "reclaimable"; /** - * none + none */ static constexpr const char *kUnreclaimable = "unreclaimable"; diff --git a/api/include/opentelemetry/semconv/incubating/log_attributes.h b/api/include/opentelemetry/semconv/incubating/log_attributes.h index f9224f1bba..7655a40084 100644 --- a/api/include/opentelemetry/semconv/incubating/log_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/log_attributes.h @@ -20,58 +20,58 @@ namespace log { /** - * The basename of the file. + The basename of the file. */ static constexpr const char *kLogFileName = "log.file.name"; /** - * The basename of the file, with symlinks resolved. + The basename of the file, with symlinks resolved. */ static constexpr const char *kLogFileNameResolved = "log.file.name_resolved"; /** - * The full path to the file. + The full path to the file. */ static constexpr const char *kLogFilePath = "log.file.path"; /** - * The full path to the file, with symlinks resolved. + The full path to the file, with symlinks resolved. */ static constexpr const char *kLogFilePathResolved = "log.file.path_resolved"; /** - * The stream associated with the log. See below for a list of well-known values. + The stream associated with the log. See below for a list of well-known values. */ static constexpr const char *kLogIostream = "log.iostream"; /** - * The complete original Log Record. - *

- * This value MAY be added when processing a Log Record which was originally transmitted as a string - * or equivalent data type AND the Body field of the Log Record does not contain the same value. - * (e.g. a syslog or a log record read from a file.) + The complete original Log Record. +

+ This value MAY be added when processing a Log Record which was originally transmitted as a string + or equivalent data type AND the Body field of the Log Record does not contain the same value. + (e.g. a syslog or a log record read from a file.) */ static constexpr const char *kLogRecordOriginal = "log.record.original"; /** - * A unique identifier for the Log Record. - *

- * If an id is provided, other log records with the same id will be considered duplicates and can be - * removed safely. This means, that two distinguishable log records MUST have different values. The - * id MAY be an Universally Unique Lexicographically Sortable - * Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed. + A unique identifier for the Log Record. +

+ If an id is provided, other log records with the same id will be considered duplicates and can be + removed safely. This means, that two distinguishable log records MUST have different values. The + id MAY be an Universally Unique Lexicographically Sortable + Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed. */ static constexpr const char *kLogRecordUid = "log.record.uid"; namespace LogIostreamValues { /** - * Logs from stdout stream + Logs from stdout stream */ static constexpr const char *kStdout = "stdout"; /** - * Events from stderr stream + Events from stderr stream */ static constexpr const char *kStderr = "stderr"; diff --git a/api/include/opentelemetry/semconv/incubating/message_attributes.h b/api/include/opentelemetry/semconv/incubating/message_attributes.h index 6b60107b7f..05941248c9 100644 --- a/api/include/opentelemetry/semconv/incubating/message_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/message_attributes.h @@ -20,39 +20,39 @@ namespace message { /** - * Deprecated, use @code rpc.message.compressed_size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code rpc.message.compressed_size @endcode.", "reason": "renamed", - * "renamed_to": "rpc.message.compressed_size"} + Deprecated, use @code rpc.message.compressed_size @endcode instead. + + @deprecated + {"note": "Replaced by @code rpc.message.compressed_size @endcode.", "reason": "renamed", + "renamed_to": "rpc.message.compressed_size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageCompressedSize = "message.compressed_size"; /** - * Deprecated, use @code rpc.message.id @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code rpc.message.id @endcode.", "reason": "renamed", "renamed_to": - * "rpc.message.id"} + Deprecated, use @code rpc.message.id @endcode instead. + + @deprecated + {"note": "Replaced by @code rpc.message.id @endcode.", "reason": "renamed", "renamed_to": + "rpc.message.id"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageId = "message.id"; /** - * Deprecated, use @code rpc.message.type @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code rpc.message.type @endcode.", "reason": "renamed", "renamed_to": - * "rpc.message.type"} + Deprecated, use @code rpc.message.type @endcode instead. + + @deprecated + {"note": "Replaced by @code rpc.message.type @endcode.", "reason": "renamed", "renamed_to": + "rpc.message.type"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageType = "message.type"; /** - * Deprecated, use @code rpc.message.uncompressed_size @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code rpc.message.uncompressed_size @endcode.", "reason": "renamed", - * "renamed_to": "rpc.message.uncompressed_size"} + Deprecated, use @code rpc.message.uncompressed_size @endcode instead. + + @deprecated + {"note": "Replaced by @code rpc.message.uncompressed_size @endcode.", "reason": "renamed", + "renamed_to": "rpc.message.uncompressed_size"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageUncompressedSize = "message.uncompressed_size"; @@ -60,12 +60,12 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageUncompressedSize = namespace MessageTypeValues { /** - * none + none */ static constexpr const char *kSent = "SENT"; /** - * none + none */ static constexpr const char *kReceived = "RECEIVED"; diff --git a/api/include/opentelemetry/semconv/incubating/messaging_attributes.h b/api/include/opentelemetry/semconv/incubating/messaging_attributes.h index 5c4f9392c5..f036c3654a 100644 --- a/api/include/opentelemetry/semconv/incubating/messaging_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/messaging_attributes.h @@ -20,378 +20,377 @@ namespace messaging { /** - * The number of messages sent, received, or processed in the scope of the batching operation. - *

- * Instrumentations SHOULD NOT set @code messaging.batch.message_count @endcode on spans that - * operate with a single message. When a messaging client library supports both batch and - * single-message API for the same operation, instrumentations SHOULD use @code - * messaging.batch.message_count @endcode for batching APIs and SHOULD NOT use it for single-message - * APIs. + The number of messages sent, received, or processed in the scope of the batching operation. +

+ Instrumentations SHOULD NOT set @code messaging.batch.message_count @endcode on spans that operate + with a single message. When a messaging client library supports both batch and single-message API + for the same operation, instrumentations SHOULD use @code messaging.batch.message_count @endcode + for batching APIs and SHOULD NOT use it for single-message APIs. */ static constexpr const char *kMessagingBatchMessageCount = "messaging.batch.message_count"; /** - * A unique identifier for the client that consumes or produces a message. + A unique identifier for the client that consumes or produces a message. */ static constexpr const char *kMessagingClientId = "messaging.client.id"; /** - * The name of the consumer group with which a consumer is associated. - *

- * Semantic conventions for individual messaging systems SHOULD document whether @code - * messaging.consumer.group.name @endcode is applicable and what it means in the context of that - * system. + The name of the consumer group with which a consumer is associated. +

+ Semantic conventions for individual messaging systems SHOULD document whether @code + messaging.consumer.group.name @endcode is applicable and what it means in the context of that + system. */ static constexpr const char *kMessagingConsumerGroupName = "messaging.consumer.group.name"; /** - * A boolean that is true if the message destination is anonymous (could be unnamed or have - * auto-generated name). + A boolean that is true if the message destination is anonymous (could be unnamed or have + auto-generated name). */ static constexpr const char *kMessagingDestinationAnonymous = "messaging.destination.anonymous"; /** - * The message destination name - *

- * Destination name SHOULD uniquely identify a specific queue, topic or other entity within the - * broker. If the broker doesn't have such notion, the destination name SHOULD uniquely identify the - * broker. + The message destination name +

+ Destination name SHOULD uniquely identify a specific queue, topic or other entity within the + broker. If the broker doesn't have such notion, the destination name SHOULD uniquely identify the + broker. */ static constexpr const char *kMessagingDestinationName = "messaging.destination.name"; /** - * The identifier of the partition messages are sent to or received from, unique within the @code - * messaging.destination.name @endcode. + The identifier of the partition messages are sent to or received from, unique within the @code + messaging.destination.name @endcode. */ static constexpr const char *kMessagingDestinationPartitionId = "messaging.destination.partition.id"; /** - * The name of the destination subscription from which a message is consumed. - *

- * Semantic conventions for individual messaging systems SHOULD document whether @code - * messaging.destination.subscription.name @endcode is applicable and what it means in the context - * of that system. + The name of the destination subscription from which a message is consumed. +

+ Semantic conventions for individual messaging systems SHOULD document whether @code + messaging.destination.subscription.name @endcode is applicable and what it means in the context of + that system. */ static constexpr const char *kMessagingDestinationSubscriptionName = "messaging.destination.subscription.name"; /** - * Low cardinality representation of the messaging destination name - *

- * Destination names could be constructed from templates. An example would be a destination name - * involving a user name or product id. Although the destination name in this case is of high - * cardinality, the underlying template is of low cardinality and can be effectively used for - * grouping and aggregation. + Low cardinality representation of the messaging destination name +

+ Destination names could be constructed from templates. An example would be a destination name + involving a user name or product id. Although the destination name in this case is of high + cardinality, the underlying template is of low cardinality and can be effectively used for + grouping and aggregation. */ 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. + 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"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingDestinationPublishAnonymous = "messaging.destination_publish.anonymous"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingDestinationPublishName = "messaging.destination_publish.name"; /** - * Deprecated, use @code messaging.consumer.group.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.consumer.group.name @endcode.", "reason": "renamed", - * "renamed_to": "messaging.consumer.group.name"} + Deprecated, use @code messaging.consumer.group.name @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.consumer.group.name @endcode.", "reason": "renamed", + "renamed_to": "messaging.consumer.group.name"} */ OPENTELEMETRY_DEPRECATED 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. + 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 ack deadline in seconds set for the modify ack deadline request. + 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. + 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. + 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. + 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"; /** - * Deprecated, use @code messaging.consumer.group.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.consumer.group.name @endcode.", "reason": "renamed", - * "renamed_to": "messaging.consumer.group.name"} + Deprecated, use @code messaging.consumer.group.name @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.consumer.group.name @endcode.", "reason": "renamed", + "renamed_to": "messaging.consumer.group.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaConsumerGroup = "messaging.kafka.consumer.group"; /** - * Deprecated, use @code messaging.destination.partition.id @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.destination.partition.id @endcode.", "reason": "renamed", - * "renamed_to": "messaging.destination.partition.id"} + Deprecated, use @code messaging.destination.partition.id @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.destination.partition.id @endcode.", "reason": "renamed", + "renamed_to": "messaging.destination.partition.id"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaDestinationPartition = "messaging.kafka.destination.partition"; /** - * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the - * same partition. They differ from @code messaging.message.id @endcode in that they're not unique. - * If the key is @code null @endcode, the attribute MUST NOT be set.

If the key type is not - * string, it's string representation has to be supplied for the attribute. If the key has no - * unambiguous, canonical string form, don't include its value. + 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 @endcode in that they're not unique. If the + key is @code null @endcode, the attribute MUST NOT be set.

If the key type is not string, it's + string representation has to be supplied for the attribute. If the key has no unambiguous, + canonical string form, don't include its value. */ static constexpr const char *kMessagingKafkaMessageKey = "messaging.kafka.message.key"; /** - * Deprecated, use @code messaging.kafka.offset @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.kafka.offset @endcode.", "reason": "renamed", "renamed_to": - * "messaging.kafka.offset"} + Deprecated, use @code messaging.kafka.offset @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.kafka.offset @endcode.", "reason": "renamed", "renamed_to": + "messaging.kafka.offset"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaMessageOffset = "messaging.kafka.message.offset"; /** - * A boolean that is true if the message is a tombstone. + A boolean that is true if the message is a tombstone. */ static constexpr const char *kMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone"; /** - * The offset of a record in the corresponding Kafka partition. + The offset of a record in the corresponding Kafka partition. */ static constexpr const char *kMessagingKafkaOffset = "messaging.kafka.offset"; /** - * The size of the message body in bytes. - *

- * This can refer to both the compressed or uncompressed body size. If both sizes are known, the - * uncompressed body size should be used. + The size of the message body in bytes. +

+ This can refer to both the compressed or uncompressed body size. If both sizes are known, the + uncompressed body size should be used. */ static constexpr const char *kMessagingMessageBodySize = "messaging.message.body.size"; /** - * The conversation ID identifying the conversation to which the message belongs, represented as a - * string. Sometimes called "Correlation ID". + The conversation ID identifying the conversation to which the message belongs, represented as a + string. Sometimes called "Correlation ID". */ static constexpr const char *kMessagingMessageConversationId = "messaging.message.conversation_id"; /** - * The size of the message body and metadata in bytes. - *

- * This can refer to both the compressed or uncompressed size. If both sizes are known, the - * uncompressed size should be used. + The size of the message body and metadata in bytes. +

+ This can refer to both the compressed or uncompressed size. If both sizes are known, the + uncompressed size should be used. */ 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. + 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"; /** - * Deprecated, use @code messaging.operation.type @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.operation.type @endcode.", "reason": "renamed", - * "renamed_to": "messaging.operation.type"} + Deprecated, use @code messaging.operation.type @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.operation.type @endcode.", "reason": "renamed", + "renamed_to": "messaging.operation.type"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingOperation = "messaging.operation"; /** - * The system-specific name of the 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. - *

- * If a custom value is used, it MUST be of low cardinality. + A string identifying the type of the messaging operation. +

+ If a custom value is used, it MUST be of low cardinality. */ static constexpr const char *kMessagingOperationType = "messaging.operation.type"; /** - * RabbitMQ message routing key. + RabbitMQ message routing key. */ static constexpr const char *kMessagingRabbitmqDestinationRoutingKey = "messaging.rabbitmq.destination.routing_key"; /** - * RabbitMQ message delivery tag + RabbitMQ message delivery tag */ static constexpr const char *kMessagingRabbitmqMessageDeliveryTag = "messaging.rabbitmq.message.delivery_tag"; /** - * Deprecated, use @code messaging.consumer.group.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.consumer.group.name @endcode on the consumer spans. No - * replacement for producer spans.\n", "reason": "uncategorized"} + Deprecated, use @code messaging.consumer.group.name @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.consumer.group.name @endcode on the consumer spans. No + replacement for producer spans.\n", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED 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"; /** - * The delay time level for delay message, which determines the message delay time. + The delay time level for delay message, which determines the message delay time. */ static constexpr const char *kMessagingRocketmqMessageDelayTimeLevel = "messaging.rocketmq.message.delay_time_level"; /** - * The timestamp in milliseconds that the delay message is expected to be delivered to consumer. + The timestamp in milliseconds that the delay message is expected to be delivered to consumer. */ static constexpr const char *kMessagingRocketmqMessageDeliveryTimestamp = "messaging.rocketmq.message.delivery_timestamp"; /** - * It is essential for FIFO message. Messages that belong to the same message group are always - * processed one by one within the same consumer group. + It is essential for FIFO message. Messages that belong to the same message group are always + processed one by one within the same consumer group. */ static constexpr const char *kMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group"; /** - * Key(s) of message, another way to mark message besides message id. + Key(s) of message, another way to mark message besides message id. */ static constexpr const char *kMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys"; /** - * The secondary classifier of message besides topic. + The secondary classifier of message besides topic. */ static constexpr const char *kMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag"; /** - * Type of message. + Type of message. */ static constexpr const char *kMessagingRocketmqMessageType = "messaging.rocketmq.message.type"; /** - * Namespace of RocketMQ resources, resources in different namespaces are individual. + Namespace of RocketMQ resources, resources in different namespaces are individual. */ static constexpr const char *kMessagingRocketmqNamespace = "messaging.rocketmq.namespace"; /** - * Deprecated, use @code messaging.destination.subscription.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.destination.subscription.name @endcode.", "reason": - * "renamed", "renamed_to": "messaging.destination.subscription.name"} + Deprecated, use @code messaging.destination.subscription.name @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.destination.subscription.name @endcode.", "reason": + "renamed", "renamed_to": "messaging.destination.subscription.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingServicebusDestinationSubscriptionName = "messaging.servicebus.destination.subscription_name"; /** - * Describes the settlement - * type. + Describes the settlement + type. */ static constexpr const char *kMessagingServicebusDispositionStatus = "messaging.servicebus.disposition_status"; /** - * Number of deliveries that have been attempted for this message. + Number of deliveries that have been attempted for this message. */ static constexpr const char *kMessagingServicebusMessageDeliveryCount = "messaging.servicebus.message.delivery_count"; /** - * The UTC epoch seconds at which the message has been accepted and stored in the entity. + The UTC epoch seconds at which the message has been accepted and stored in the entity. */ static constexpr const char *kMessagingServicebusMessageEnqueuedTime = "messaging.servicebus.message.enqueued_time"; /** - * The messaging system as identified by the client instrumentation. - *

- * The actual messaging system may differ from the one known by the client. For example, when using - * Kafka client libraries to communicate with Azure Event Hubs, the @code messaging.system @endcode - * is set to @code kafka @endcode based on the instrumentation's best knowledge. + The messaging system as identified by the client instrumentation. +

+ The actual messaging system may differ from the one known by the client. For example, when using + Kafka client libraries to communicate with Azure Event Hubs, the @code messaging.system @endcode + is set to @code kafka @endcode based on the instrumentation's best knowledge. */ static constexpr const char *kMessagingSystem = "messaging.system"; namespace MessagingOperationTypeValues { /** - * A message is created. "Create" spans always refer to a single message and are used to provide a - * unique creation context for messages in batch sending scenarios. + A message is created. "Create" spans always refer to a single message and are used to provide a + unique creation context for messages in batch sending scenarios. */ static constexpr const char *kCreate = "create"; /** - * One or more messages are provided for sending to an intermediary. If a single message is sent, - * the context of the "Send" span can be used as the creation context and no "Create" span needs to - * be created. + One or more messages are provided for sending to an intermediary. If a single message is sent, the + context of the "Send" span can be used as the creation context and no "Create" span needs to be + created. */ static constexpr const char *kSend = "send"; /** - * One or more messages are requested by a consumer. This operation refers to pull-based scenarios, - * where consumers explicitly call methods of messaging SDKs to receive messages. + One or more messages are requested by a consumer. This operation refers to pull-based scenarios, + where consumers explicitly call methods of messaging SDKs to receive messages. */ static constexpr const char *kReceive = "receive"; /** - * One or more messages are processed by a consumer. + One or more messages are processed by a consumer. */ static constexpr const char *kProcess = "process"; /** - * One or more messages are settled. + One or more messages are settled. */ static constexpr const char *kSettle = "settle"; /** - * Deprecated. Use @code process @endcode instead. + Deprecated. Use @code process @endcode instead. */ static constexpr const char *kDeliver = "deliver"; /** - * Deprecated. Use @code send @endcode instead. + Deprecated. Use @code send @endcode instead. */ static constexpr const char *kPublish = "publish"; @@ -400,12 +399,12 @@ static constexpr const char *kPublish = "publish"; namespace MessagingRocketmqConsumptionModelValues { /** - * Clustering consumption model + Clustering consumption model */ static constexpr const char *kClustering = "clustering"; /** - * Broadcasting consumption model + Broadcasting consumption model */ static constexpr const char *kBroadcasting = "broadcasting"; @@ -414,22 +413,22 @@ static constexpr const char *kBroadcasting = "broadcasting"; namespace MessagingRocketmqMessageTypeValues { /** - * Normal message + Normal message */ static constexpr const char *kNormal = "normal"; /** - * FIFO message + FIFO message */ static constexpr const char *kFifo = "fifo"; /** - * Delay message + Delay message */ static constexpr const char *kDelay = "delay"; /** - * Transaction message + Transaction message */ static constexpr const char *kTransaction = "transaction"; @@ -438,22 +437,22 @@ static constexpr const char *kTransaction = "transaction"; namespace MessagingServicebusDispositionStatusValues { /** - * Message is completed + Message is completed */ static constexpr const char *kComplete = "complete"; /** - * Message is abandoned + Message is abandoned */ static constexpr const char *kAbandon = "abandon"; /** - * Message is sent to dead letter queue + Message is sent to dead letter queue */ static constexpr const char *kDeadLetter = "dead_letter"; /** - * Message is deferred + Message is deferred */ static constexpr const char *kDefer = "defer"; @@ -462,57 +461,57 @@ static constexpr const char *kDefer = "defer"; namespace MessagingSystemValues { /** - * Apache ActiveMQ + Apache ActiveMQ */ static constexpr const char *kActivemq = "activemq"; /** - * Amazon Simple Queue Service (SQS) + Amazon Simple Queue Service (SQS) */ static constexpr const char *kAwsSqs = "aws_sqs"; /** - * Azure Event Grid + Azure Event Grid */ static constexpr const char *kEventgrid = "eventgrid"; /** - * Azure Event Hubs + Azure Event Hubs */ static constexpr const char *kEventhubs = "eventhubs"; /** - * Azure Service Bus + Azure Service Bus */ static constexpr const char *kServicebus = "servicebus"; /** - * Google Cloud Pub/Sub + Google Cloud Pub/Sub */ static constexpr const char *kGcpPubsub = "gcp_pubsub"; /** - * Java Message Service + Java Message Service */ static constexpr const char *kJms = "jms"; /** - * Apache Kafka + Apache Kafka */ static constexpr const char *kKafka = "kafka"; /** - * RabbitMQ + RabbitMQ */ static constexpr const char *kRabbitmq = "rabbitmq"; /** - * Apache RocketMQ + Apache RocketMQ */ static constexpr const char *kRocketmq = "rocketmq"; /** - * Apache Pulsar + Apache Pulsar */ static constexpr const char *kPulsar = "pulsar"; diff --git a/api/include/opentelemetry/semconv/incubating/messaging_metrics.h b/api/include/opentelemetry/semconv/incubating/messaging_metrics.h index 7c97388413..e9bdcf32ed 100644 --- a/api/include/opentelemetry/semconv/incubating/messaging_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/messaging_metrics.h @@ -21,13 +21,13 @@ namespace messaging { /** - * Number of messages that were delivered to the application. - *

- * Records the number of messages pulled from the broker or number of messages dispatched to the - * application in push-based scenarios. The metric SHOULD be reported once per message delivery. For - * example, if receiving and processing operations are both instrumented for a single message - * delivery, this counter is incremented when the message is received and not reported when it is - * processed.

counter + Number of messages that were delivered to the application. +

+ Records the number of messages pulled from the broker or number of messages dispatched to the + application in push-based scenarios. The metric SHOULD be reported once per message delivery. For + example, if receiving and processing operations are both instrumented for a single message + delivery, this counter is incremented when the message is received and not reported when it is + processed.

counter */ static constexpr const char *kMetricMessagingClientConsumedMessages = "messaging.client.consumed.messages"; @@ -68,10 +68,10 @@ CreateAsyncDoubleMetricMessagingClientConsumedMessages(metrics::Meter *meter) } /** - * Duration of messaging operation initiated by a producer or consumer client. - *

- * This metric SHOULD NOT be used to report processing duration - processing duration is reported in - * @code messaging.process.duration @endcode metric.

histogram + Duration of messaging operation initiated by a producer or consumer client. +

+ This metric SHOULD NOT be used to report processing duration - processing duration is reported in + @code messaging.process.duration @endcode metric.

histogram */ static constexpr const char *kMetricMessagingClientOperationDuration = "messaging.client.operation.duration"; @@ -96,11 +96,11 @@ CreateSyncDoubleMetricMessagingClientOperationDuration(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.sent.messages @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.sent.messages"}

counter + Deprecated. Use @code messaging.client.sent.messages @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.sent.messages"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingClientPublishedMessages = "messaging.client.published.messages"; @@ -142,11 +142,11 @@ CreateAsyncDoubleMetricMessagingClientPublishedMessages(metrics::Meter *meter) } /** - * Number of messages producer attempted to send to the broker. - *

- * This metric MUST NOT count messages that were created but haven't yet been sent. - *

- * counter + Number of messages producer attempted to send to the broker. +

+ This metric MUST NOT count messages that were created but haven't yet been sent. +

+ counter */ static constexpr const char *kMetricMessagingClientSentMessages = "messaging.client.sent.messages"; static constexpr const char *descrMetricMessagingClientSentMessages = @@ -186,10 +186,10 @@ CreateAsyncDoubleMetricMessagingClientSentMessages(metrics::Meter *meter) } /** - * Duration of processing operation. - *

- * This metric MUST be reported for operations with @code messaging.operation.type @endcode that - * matches @code process @endcode.

histogram + Duration of processing operation. +

+ This metric MUST be reported for operations with @code messaging.operation.type @endcode that + matches @code process @endcode.

histogram */ static constexpr const char *kMetricMessagingProcessDuration = "messaging.process.duration"; static constexpr const char *descrMetricMessagingProcessDuration = @@ -213,11 +213,11 @@ CreateSyncDoubleMetricMessagingProcessDuration(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.consumed.messages @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.consumed.messages"}

counter + Deprecated. Use @code messaging.client.consumed.messages @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.consumed.messages"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingProcessMessages = "messaging.process.messages"; @@ -259,11 +259,11 @@ CreateAsyncDoubleMetricMessagingProcessMessages(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.operation.duration @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.operation.duration"}

histogram + Deprecated. Use @code messaging.client.operation.duration @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.operation.duration"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishDuration = "messaging.publish.duration"; @@ -288,11 +288,11 @@ CreateSyncDoubleMetricMessagingPublishDuration(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.sent.messages @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.sent.messages"}

counter + Deprecated. Use @code messaging.client.sent.messages @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.sent.messages @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.sent.messages"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingPublishMessages = "messaging.publish.messages"; @@ -334,11 +334,11 @@ CreateAsyncDoubleMetricMessagingPublishMessages(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.operation.duration @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.operation.duration"}

histogram + Deprecated. Use @code messaging.client.operation.duration @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.operation.duration @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.operation.duration"}

histogram */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveDuration = "messaging.receive.duration"; @@ -363,11 +363,11 @@ CreateSyncDoubleMetricMessagingReceiveDuration(metrics::Meter *meter) } /** - * Deprecated. Use @code messaging.client.consumed.messages @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed", - * "renamed_to": "messaging.client.consumed.messages"}

counter + Deprecated. Use @code messaging.client.consumed.messages @endcode instead. + + @deprecated + {"note": "Replaced by @code messaging.client.consumed.messages @endcode.", "reason": "renamed", + "renamed_to": "messaging.client.consumed.messages"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricMessagingReceiveMessages = "messaging.receive.messages"; diff --git a/api/include/opentelemetry/semconv/incubating/net_attributes.h b/api/include/opentelemetry/semconv/incubating/net_attributes.h index aa7d935cdc..951217616a 100644 --- a/api/include/opentelemetry/semconv/incubating/net_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/net_attributes.h @@ -20,155 +20,155 @@ namespace net { /** - * Deprecated, use @code network.local.address @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.local.address @endcode.", "reason": "renamed", "renamed_to": - * "network.local.address"} + Deprecated, use @code network.local.address @endcode. + + @deprecated + {"note": "Replaced by @code network.local.address @endcode.", "reason": "renamed", "renamed_to": + "network.local.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostIp = "net.host.ip"; /** - * Deprecated, use @code server.address @endcode. - * - * @deprecated - * {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": - * "server.address"} + Deprecated, use @code server.address @endcode. + + @deprecated + {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": + "server.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostName = "net.host.name"; /** - * Deprecated, use @code server.port @endcode. - * - * @deprecated - * {"note": "Replaced by @code server.port @endcode.", "reason": "renamed", "renamed_to": - * "server.port"} + Deprecated, use @code server.port @endcode. + + @deprecated + {"note": "Replaced by @code server.port @endcode.", "reason": "renamed", "renamed_to": + "server.port"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostPort = "net.host.port"; /** - * Deprecated, use @code network.peer.address @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.peer.address @endcode.", "reason": "renamed", "renamed_to": - * "network.peer.address"} + Deprecated, use @code network.peer.address @endcode. + + @deprecated + {"note": "Replaced by @code network.peer.address @endcode.", "reason": "renamed", "renamed_to": + "network.peer.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerIp = "net.peer.ip"; /** - * Deprecated, use @code server.address @endcode on client spans and @code client.address @endcode - * on server spans. - * - * @deprecated - * {"note": "Replaced by @code server.address @endcode on client spans and @code client.address - * @endcode on server spans.", "reason": "uncategorized"} + Deprecated, use @code server.address @endcode on client spans and @code client.address @endcode on + server spans. + + @deprecated + {"note": "Replaced by @code server.address @endcode on client spans and @code client.address + @endcode on server spans.", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerName = "net.peer.name"; /** - * Deprecated, use @code server.port @endcode on client spans and @code client.port @endcode on - * server spans. - * - * @deprecated - * {"note": "Replaced by @code server.port @endcode on client spans and @code client.port @endcode - * on server spans.", "reason": "uncategorized"} + Deprecated, use @code server.port @endcode on client spans and @code client.port @endcode on + server spans. + + @deprecated + {"note": "Replaced by @code server.port @endcode on client spans and @code client.port @endcode on + server spans.", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerPort = "net.peer.port"; /** - * Deprecated, use @code network.protocol.name @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.protocol.name @endcode.", "reason": "renamed", "renamed_to": - * "network.protocol.name"} + Deprecated, use @code network.protocol.name @endcode. + + @deprecated + {"note": "Replaced by @code network.protocol.name @endcode.", "reason": "renamed", "renamed_to": + "network.protocol.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetProtocolName = "net.protocol.name"; /** - * Deprecated, use @code network.protocol.version @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.protocol.version @endcode.", "reason": "renamed", - * "renamed_to": "network.protocol.version"} + Deprecated, use @code network.protocol.version @endcode. + + @deprecated + {"note": "Replaced by @code network.protocol.version @endcode.", "reason": "renamed", + "renamed_to": "network.protocol.version"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetProtocolVersion = "net.protocol.version"; /** - * Deprecated, use @code network.transport @endcode and @code network.type @endcode. - * - * @deprecated - * {"note": "Split to @code network.transport @endcode and @code network.type @endcode.", "reason": - * "uncategorized"} + Deprecated, use @code network.transport @endcode and @code network.type @endcode. + + @deprecated + {"note": "Split to @code network.transport @endcode and @code network.type @endcode.", "reason": + "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockFamily = "net.sock.family"; /** - * Deprecated, use @code network.local.address @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.local.address @endcode.", "reason": "renamed", "renamed_to": - * "network.local.address"} + Deprecated, use @code network.local.address @endcode. + + @deprecated + {"note": "Replaced by @code network.local.address @endcode.", "reason": "renamed", "renamed_to": + "network.local.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockHostAddr = "net.sock.host.addr"; /** - * Deprecated, use @code network.local.port @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.local.port @endcode.", "reason": "renamed", "renamed_to": - * "network.local.port"} + Deprecated, use @code network.local.port @endcode. + + @deprecated + {"note": "Replaced by @code network.local.port @endcode.", "reason": "renamed", "renamed_to": + "network.local.port"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockHostPort = "net.sock.host.port"; /** - * Deprecated, use @code network.peer.address @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.peer.address @endcode.", "reason": "renamed", "renamed_to": - * "network.peer.address"} + Deprecated, use @code network.peer.address @endcode. + + @deprecated + {"note": "Replaced by @code network.peer.address @endcode.", "reason": "renamed", "renamed_to": + "network.peer.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerAddr = "net.sock.peer.addr"; /** - * Deprecated, no replacement at this time. - * - * @deprecated - * {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} + Deprecated, no replacement at this time. + + @deprecated + {"note": "Removed. No replacement at this time.", "reason": "obsoleted"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerName = "net.sock.peer.name"; /** - * Deprecated, use @code network.peer.port @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.peer.port @endcode.", "reason": "renamed", "renamed_to": - * "network.peer.port"} + Deprecated, use @code network.peer.port @endcode. + + @deprecated + {"note": "Replaced by @code network.peer.port @endcode.", "reason": "renamed", "renamed_to": + "network.peer.port"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerPort = "net.sock.peer.port"; /** - * Deprecated, use @code network.transport @endcode. - * - * @deprecated - * {"note": "Replaced by @code network.transport @endcode.", "reason": "renamed", "renamed_to": - * "network.transport"} + Deprecated, use @code network.transport @endcode. + + @deprecated + {"note": "Replaced by @code network.transport @endcode.", "reason": "renamed", "renamed_to": + "network.transport"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kNetTransport = "net.transport"; namespace NetSockFamilyValues { /** - * IPv4 address + IPv4 address */ static constexpr const char *kInet = "inet"; /** - * IPv6 address + IPv6 address */ static constexpr const char *kInet6 = "inet6"; /** - * Unix domain socket path + Unix domain socket path */ static constexpr const char *kUnix = "unix"; @@ -177,27 +177,27 @@ static constexpr const char *kUnix = "unix"; namespace NetTransportValues { /** - * none + none */ static constexpr const char *kIpTcp = "ip_tcp"; /** - * none + none */ static constexpr const char *kIpUdp = "ip_udp"; /** - * Named or anonymous pipe. + Named or anonymous pipe. */ static constexpr const char *kPipe = "pipe"; /** - * In-process communication. + In-process communication. */ static constexpr const char *kInproc = "inproc"; /** - * Something else (non IP-based). + Something else (non IP-based). */ static constexpr const char *kOther = "other"; diff --git a/api/include/opentelemetry/semconv/incubating/network_attributes.h b/api/include/opentelemetry/semconv/incubating/network_attributes.h index 962e60ee48..7b8404b2c9 100644 --- a/api/include/opentelemetry/semconv/incubating/network_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/network_attributes.h @@ -20,161 +20,160 @@ namespace network { /** - * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. + The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. */ static constexpr const char *kNetworkCarrierIcc = "network.carrier.icc"; /** - * The mobile carrier country code. + The mobile carrier country code. */ static constexpr const char *kNetworkCarrierMcc = "network.carrier.mcc"; /** - * The mobile carrier network code. + The mobile carrier network code. */ static constexpr const char *kNetworkCarrierMnc = "network.carrier.mnc"; /** - * The name of the mobile carrier. + The name of the mobile carrier. */ static constexpr const char *kNetworkCarrierName = "network.carrier.name"; /** - * The state of network connection - *

- * Connection states are defined as part of the rfc9293 + The state of network connection +

+ Connection states are defined as part of the rfc9293 */ static constexpr const char *kNetworkConnectionState = "network.connection.state"; /** - * This describes more details regarding the connection.type. It may be the type of cell technology - * connection, but it could be used for describing details about a wifi connection. + This describes more details regarding the connection.type. It may be the type of cell technology + connection, but it could be used for describing details about a wifi connection. */ static constexpr const char *kNetworkConnectionSubtype = "network.connection.subtype"; /** - * The internet connection type. + The internet connection type. */ static constexpr const char *kNetworkConnectionType = "network.connection.type"; /** - * The network interface name. + The network interface name. */ static constexpr const char *kNetworkInterfaceName = "network.interface.name"; /** - * The network IO operation direction. + The network IO operation direction. */ static constexpr const char *kNetworkIoDirection = "network.io.direction"; /** - * Local address of the network connection - IP address or Unix domain socket name. + Local address of the network connection - IP address or Unix domain socket name. */ static constexpr const char *kNetworkLocalAddress = "network.local.address"; /** - * Local port number of the network connection. + Local port number of the network connection. */ static constexpr const char *kNetworkLocalPort = "network.local.port"; /** - * Peer address of the network connection - IP address or Unix domain socket name. + Peer address of the network connection - IP address or Unix domain socket name. */ static constexpr const char *kNetworkPeerAddress = "network.peer.address"; /** - * Peer port number of the network connection. + Peer port number of the network connection. */ static constexpr const char *kNetworkPeerPort = "network.peer.port"; /** - * OSI application layer or non-OSI - * equivalent.

The value SHOULD be normalized to lowercase. + OSI application layer or non-OSI + equivalent.

The value SHOULD be normalized to lowercase. */ static constexpr const char *kNetworkProtocolName = "network.protocol.name"; /** - * The actual version of the protocol used for network communication. - *

- * If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the - * negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be - * set. + The actual version of the protocol used for network communication. +

+ If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the + negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. */ static constexpr const char *kNetworkProtocolVersion = "network.protocol.version"; /** - * OSI transport layer or inter-process communication - * method.

The value SHOULD be normalized to lowercase.

Consider always setting the - * transport when setting a port number, since a port number is ambiguous without knowing the - * transport. For example different processes could be listening on TCP port 12345 and UDP port - * 12345. + OSI transport layer or inter-process communication + method.

The value SHOULD be normalized to lowercase.

Consider always setting the + transport when setting a port number, since a port number is ambiguous without knowing the + transport. For example different processes could be listening on TCP port 12345 and UDP port + 12345. */ static constexpr const char *kNetworkTransport = "network.transport"; /** - * OSI network layer or non-OSI equivalent. - *

- * The value SHOULD be normalized to lowercase. + OSI network layer or non-OSI equivalent. +

+ The value SHOULD be normalized to lowercase. */ static constexpr const char *kNetworkType = "network.type"; namespace NetworkConnectionStateValues { /** - * none + none */ static constexpr const char *kClosed = "closed"; /** - * none + none */ static constexpr const char *kCloseWait = "close_wait"; /** - * none + none */ static constexpr const char *kClosing = "closing"; /** - * none + none */ static constexpr const char *kEstablished = "established"; /** - * none + none */ static constexpr const char *kFinWait1 = "fin_wait_1"; /** - * none + none */ static constexpr const char *kFinWait2 = "fin_wait_2"; /** - * none + none */ static constexpr const char *kLastAck = "last_ack"; /** - * none + none */ static constexpr const char *kListen = "listen"; /** - * none + none */ static constexpr const char *kSynReceived = "syn_received"; /** - * none + none */ static constexpr const char *kSynSent = "syn_sent"; /** - * none + none */ static constexpr const char *kTimeWait = "time_wait"; @@ -183,107 +182,107 @@ static constexpr const char *kTimeWait = "time_wait"; namespace NetworkConnectionSubtypeValues { /** - * GPRS + GPRS */ static constexpr const char *kGprs = "gprs"; /** - * EDGE + EDGE */ static constexpr const char *kEdge = "edge"; /** - * UMTS + UMTS */ static constexpr const char *kUmts = "umts"; /** - * CDMA + CDMA */ static constexpr const char *kCdma = "cdma"; /** - * EVDO Rel. 0 + EVDO Rel. 0 */ static constexpr const char *kEvdo0 = "evdo_0"; /** - * EVDO Rev. A + EVDO Rev. A */ static constexpr const char *kEvdoA = "evdo_a"; /** - * CDMA2000 1XRTT + CDMA2000 1XRTT */ static constexpr const char *kCdma20001xrtt = "cdma2000_1xrtt"; /** - * HSDPA + HSDPA */ static constexpr const char *kHsdpa = "hsdpa"; /** - * HSUPA + HSUPA */ static constexpr const char *kHsupa = "hsupa"; /** - * HSPA + HSPA */ static constexpr const char *kHspa = "hspa"; /** - * IDEN + IDEN */ static constexpr const char *kIden = "iden"; /** - * EVDO Rev. B + EVDO Rev. B */ static constexpr const char *kEvdoB = "evdo_b"; /** - * LTE + LTE */ static constexpr const char *kLte = "lte"; /** - * EHRPD + EHRPD */ static constexpr const char *kEhrpd = "ehrpd"; /** - * HSPAP + HSPAP */ static constexpr const char *kHspap = "hspap"; /** - * GSM + GSM */ static constexpr const char *kGsm = "gsm"; /** - * TD-SCDMA + TD-SCDMA */ static constexpr const char *kTdScdma = "td_scdma"; /** - * IWLAN + IWLAN */ static constexpr const char *kIwlan = "iwlan"; /** - * 5G NR (New Radio) + 5G NR (New Radio) */ static constexpr const char *kNr = "nr"; /** - * 5G NRNSA (New Radio Non-Standalone) + 5G NRNSA (New Radio Non-Standalone) */ static constexpr const char *kNrnsa = "nrnsa"; /** - * LTE CA + LTE CA */ static constexpr const char *kLteCa = "lte_ca"; @@ -292,27 +291,27 @@ static constexpr const char *kLteCa = "lte_ca"; namespace NetworkConnectionTypeValues { /** - * none + none */ static constexpr const char *kWifi = "wifi"; /** - * none + none */ static constexpr const char *kWired = "wired"; /** - * none + none */ static constexpr const char *kCell = "cell"; /** - * none + none */ static constexpr const char *kUnavailable = "unavailable"; /** - * none + none */ static constexpr const char *kUnknown = "unknown"; @@ -321,12 +320,12 @@ static constexpr const char *kUnknown = "unknown"; namespace NetworkIoDirectionValues { /** - * none + none */ static constexpr const char *kTransmit = "transmit"; /** - * none + none */ static constexpr const char *kReceive = "receive"; @@ -335,27 +334,27 @@ static constexpr const char *kReceive = "receive"; namespace NetworkTransportValues { /** - * TCP + TCP */ static constexpr const char *kTcp = "tcp"; /** - * UDP + UDP */ static constexpr const char *kUdp = "udp"; /** - * Named or anonymous pipe. + Named or anonymous pipe. */ static constexpr const char *kPipe = "pipe"; /** - * Unix domain socket + Unix domain socket */ static constexpr const char *kUnix = "unix"; /** - * QUIC + QUIC */ static constexpr const char *kQuic = "quic"; @@ -364,12 +363,12 @@ static constexpr const char *kQuic = "quic"; namespace NetworkTypeValues { /** - * IPv4 + IPv4 */ static constexpr const char *kIpv4 = "ipv4"; /** - * IPv6 + IPv6 */ static constexpr const char *kIpv6 = "ipv6"; diff --git a/api/include/opentelemetry/semconv/incubating/oci_attributes.h b/api/include/opentelemetry/semconv/incubating/oci_attributes.h index 96c87d9dd1..431b84607d 100644 --- a/api/include/opentelemetry/semconv/incubating/oci_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/oci_attributes.h @@ -20,14 +20,14 @@ namespace oci { /** - * The digest of the OCI image manifest. For container images specifically is the digest by which - * the container image is known.

Follows OCI Image Manifest - * Specification, and specifically the Digest - * property. An example can be found in Example - * Image Manifest. + The digest of the OCI image manifest. For container images specifically is the digest by which the + container image is known.

Follows OCI Image Manifest + Specification, and specifically the Digest + property. An example can be found in Example + Image Manifest. */ static constexpr const char *kOciManifestDigest = "oci.manifest.digest"; diff --git a/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h b/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h index 159645e76b..fba932be4a 100644 --- a/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h @@ -20,21 +20,21 @@ namespace opentracing { /** - * Parent-child Reference type - *

- * The causal relationship between a child Span and a parent Span. + Parent-child Reference type +

+ The causal relationship between a child Span and a parent Span. */ static constexpr const char *kOpentracingRefType = "opentracing.ref_type"; namespace OpentracingRefTypeValues { /** - * The parent Span depends on the child Span in some capacity + 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 + The parent Span doesn't depend in any way on the result of the child Span */ static constexpr const char *kFollowsFrom = "follows_from"; diff --git a/api/include/opentelemetry/semconv/incubating/os_attributes.h b/api/include/opentelemetry/semconv/incubating/os_attributes.h index 807deaaf92..69dded814f 100644 --- a/api/include/opentelemetry/semconv/incubating/os_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/os_attributes.h @@ -20,86 +20,86 @@ namespace os { /** - * Unique identifier for a particular build or compilation of the operating system. + Unique identifier for a particular build or compilation of the operating system. */ static constexpr const char *kOsBuildId = "os.build_id"; /** - * Human readable (not intended to be parsed) OS version information, like e.g. reported by @code - * ver @endcode or @code lsb_release -a @endcode commands. + Human readable (not intended to be parsed) OS version information, like e.g. reported by @code ver + @endcode or @code lsb_release -a @endcode commands. */ static constexpr const char *kOsDescription = "os.description"; /** - * Human readable operating system name. + Human readable operating system name. */ static constexpr const char *kOsName = "os.name"; /** - * The operating system type. + The operating system type. */ static constexpr const char *kOsType = "os.type"; /** - * The version string of the operating system as defined in Version Attributes. + The version string of the operating system as defined in Version Attributes. */ static constexpr const char *kOsVersion = "os.version"; namespace OsTypeValues { /** - * Microsoft Windows + Microsoft Windows */ static constexpr const char *kWindows = "windows"; /** - * Linux + Linux */ static constexpr const char *kLinux = "linux"; /** - * Apple Darwin + Apple Darwin */ static constexpr const char *kDarwin = "darwin"; /** - * FreeBSD + FreeBSD */ static constexpr const char *kFreebsd = "freebsd"; /** - * NetBSD + NetBSD */ static constexpr const char *kNetbsd = "netbsd"; /** - * OpenBSD + OpenBSD */ static constexpr const char *kOpenbsd = "openbsd"; /** - * DragonFly BSD + DragonFly BSD */ static constexpr const char *kDragonflybsd = "dragonflybsd"; /** - * HP-UX (Hewlett Packard Unix) + HP-UX (Hewlett Packard Unix) */ static constexpr const char *kHpux = "hpux"; /** - * AIX (Advanced Interactive eXecutive) + AIX (Advanced Interactive eXecutive) */ static constexpr const char *kAix = "aix"; /** - * SunOS, Oracle Solaris + SunOS, Oracle Solaris */ static constexpr const char *kSolaris = "solaris"; /** - * IBM z/OS + IBM z/OS */ static constexpr const char *kZOs = "z_os"; diff --git a/api/include/opentelemetry/semconv/incubating/otel_attributes.h b/api/include/opentelemetry/semconv/incubating/otel_attributes.h index cd2eb6b8f7..df1f165b80 100644 --- a/api/include/opentelemetry/semconv/incubating/otel_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/otel_attributes.h @@ -20,143 +20,144 @@ namespace otel { /** - * A name uniquely identifying the instance of the OpenTelemetry component within its containing SDK - * instance.

Implementations SHOULD ensure a low cardinality for this attribute, even across - * application or SDK restarts. E.g. implementations MUST NOT use UUIDs as values for this - * attribute.

Implementations MAY achieve these goals by following a @code - * / @endcode pattern, e.g. @code batching_span_processor/0 - * @endcode. Hereby @code otel.component.type @endcode refers to the corresponding attribute value - * of the component.

The value of @code instance-counter @endcode MAY be automatically assigned - * by the component and uniqueness within the enclosing SDK instance MUST be guaranteed. For - * example, @code @endcode MAY be implemented by using a monotonically increasing - * counter (starting with @code 0 @endcode), which is incremented every time an instance of the - * given component type is started.

With this implementation, for example the first Batching - * Span Processor would have @code batching_span_processor/0 @endcode as @code otel.component.name - * @endcode, the second one @code batching_span_processor/1 @endcode and so on. These values will - * therefore be reused in the case of an application restart. + A name uniquely identifying the instance of the OpenTelemetry component within its containing SDK + instance.

Implementations SHOULD ensure a low cardinality for this attribute, even across + application or SDK restarts. E.g. implementations MUST NOT use UUIDs as values for this attribute. +

+ Implementations MAY achieve these goals by following a @code + / @endcode pattern, e.g. @code batching_span_processor/0 + @endcode. Hereby @code otel.component.type @endcode refers to the corresponding attribute value of + the component.

The value of @code instance-counter @endcode MAY be automatically assigned by + the component and uniqueness within the enclosing SDK instance MUST be guaranteed. For example, + @code @endcode MAY be implemented by using a monotonically increasing counter + (starting with @code 0 @endcode), which is incremented every time an instance of the given + component type is started.

With this implementation, for example the first Batching Span + Processor would have @code batching_span_processor/0 @endcode as @code otel.component.name + @endcode, the second one @code batching_span_processor/1 @endcode and so on. These values will + therefore be reused in the case of an application restart. */ static constexpr const char *kOtelComponentName = "otel.component.name"; /** - * A name identifying the type of the OpenTelemetry component. - *

- * If none of the standardized values apply, implementations SHOULD use the language-defined name of - * the type. E.g. for Java the fully qualified classname SHOULD be used in this case. + A name identifying the type of the OpenTelemetry component. +

+ If none of the standardized values apply, implementations SHOULD use the language-defined name of + the type. E.g. for Java the fully qualified classname SHOULD be used in this case. */ static constexpr const char *kOtelComponentType = "otel.component.type"; /** - * Deprecated. Use the @code otel.scope.name @endcode attribute - * - * @deprecated - * {"note": "Replaced by @code otel.scope.name @endcode.", "reason": "renamed", "renamed_to": - * "otel.scope.name"} + Deprecated. Use the @code otel.scope.name @endcode attribute + + @deprecated + {"note": "Replaced by @code otel.scope.name @endcode.", "reason": "renamed", "renamed_to": + "otel.scope.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kOtelLibraryName = "otel.library.name"; /** - * Deprecated. Use the @code otel.scope.version @endcode attribute. - * - * @deprecated - * {"note": "Replaced by @code otel.scope.version @endcode.", "reason": "renamed", "renamed_to": - * "otel.scope.version"} + Deprecated. Use the @code otel.scope.version @endcode attribute. + + @deprecated + {"note": "Replaced by @code otel.scope.version @endcode.", "reason": "renamed", "renamed_to": + "otel.scope.version"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kOtelLibraryVersion = "otel.library.version"; /** - * The name of the instrumentation scope - (@code InstrumentationScope.Name @endcode in OTLP). + The name of the instrumentation scope - (@code InstrumentationScope.Name @endcode in OTLP). */ static constexpr const char *kOtelScopeName = "otel.scope.name"; /** - * The version of the instrumentation scope - (@code InstrumentationScope.Version @endcode in OTLP). + The version of the instrumentation scope - (@code InstrumentationScope.Version @endcode in OTLP). */ static constexpr const char *kOtelScopeVersion = "otel.scope.version"; /** - * The result value of the sampler for this span + The result value of the sampler for this span */ static constexpr const char *kOtelSpanSamplingResult = "otel.span.sampling_result"; /** - * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. */ static constexpr const char *kOtelStatusCode = "otel.status_code"; /** - * Description of the Status if it has a value, otherwise not set. + Description of the Status if it has a value, otherwise not set. */ static constexpr const char *kOtelStatusDescription = "otel.status_description"; namespace OtelComponentTypeValues { /** - * The builtin SDK batching span processor + The builtin SDK batching span processor */ static constexpr const char *kBatchingSpanProcessor = "batching_span_processor"; /** - * The builtin SDK simple span processor + The builtin SDK simple span processor */ static constexpr const char *kSimpleSpanProcessor = "simple_span_processor"; /** - * The builtin SDK batching log record processor + The builtin SDK batching log record processor */ static constexpr const char *kBatchingLogProcessor = "batching_log_processor"; /** - * The builtin SDK simple log record processor + The builtin SDK simple log record processor */ static constexpr const char *kSimpleLogProcessor = "simple_log_processor"; /** - * OTLP span exporter over gRPC with protobuf serialization + OTLP span exporter over gRPC with protobuf serialization */ static constexpr const char *kOtlpGrpcSpanExporter = "otlp_grpc_span_exporter"; /** - * OTLP span exporter over HTTP with protobuf serialization + OTLP span exporter over HTTP with protobuf serialization */ static constexpr const char *kOtlpHttpSpanExporter = "otlp_http_span_exporter"; /** - * OTLP span exporter over HTTP with JSON serialization + OTLP span exporter over HTTP with JSON serialization */ static constexpr const char *kOtlpHttpJsonSpanExporter = "otlp_http_json_span_exporter"; /** - * OTLP log record exporter over gRPC with protobuf serialization + OTLP log record exporter over gRPC with protobuf serialization */ static constexpr const char *kOtlpGrpcLogExporter = "otlp_grpc_log_exporter"; /** - * OTLP log record exporter over HTTP with protobuf serialization + OTLP log record exporter over HTTP with protobuf serialization */ static constexpr const char *kOtlpHttpLogExporter = "otlp_http_log_exporter"; /** - * OTLP log record exporter over HTTP with JSON serialization + OTLP log record exporter over HTTP with JSON serialization */ static constexpr const char *kOtlpHttpJsonLogExporter = "otlp_http_json_log_exporter"; /** - * The builtin SDK periodically exporting metric reader + The builtin SDK periodically exporting metric reader */ static constexpr const char *kPeriodicMetricReader = "periodic_metric_reader"; /** - * OTLP metric exporter over gRPC with protobuf serialization + OTLP metric exporter over gRPC with protobuf serialization */ static constexpr const char *kOtlpGrpcMetricExporter = "otlp_grpc_metric_exporter"; /** - * OTLP metric exporter over HTTP with protobuf serialization + OTLP metric exporter over HTTP with protobuf serialization */ static constexpr const char *kOtlpHttpMetricExporter = "otlp_http_metric_exporter"; /** - * OTLP metric exporter over HTTP with JSON serialization + OTLP metric exporter over HTTP with JSON serialization */ static constexpr const char *kOtlpHttpJsonMetricExporter = "otlp_http_json_metric_exporter"; @@ -165,17 +166,17 @@ static constexpr const char *kOtlpHttpJsonMetricExporter = "otlp_http_json_metri namespace OtelSpanSamplingResultValues { /** - * The span is not sampled and not recording + The span is not sampled and not recording */ static constexpr const char *kDrop = "DROP"; /** - * The span is not sampled, but recording + The span is not sampled, but recording */ static constexpr const char *kRecordOnly = "RECORD_ONLY"; /** - * The span is sampled and recording + The span is sampled and recording */ static constexpr const char *kRecordAndSample = "RECORD_AND_SAMPLE"; @@ -184,13 +185,13 @@ static constexpr const char *kRecordAndSample = "RECORD_AND_SAMPLE"; namespace OtelStatusCodeValues { /** - * The operation has been validated by an Application developer or Operator to have completed - * successfully. + The operation has been validated by an Application developer or Operator to have completed + successfully. */ static constexpr const char *kOk = "OK"; /** - * The operation contains an error. + The operation contains an error. */ static constexpr const char *kError = "ERROR"; diff --git a/api/include/opentelemetry/semconv/incubating/otel_metrics.h b/api/include/opentelemetry/semconv/incubating/otel_metrics.h index 791f7b15e1..a02b814c0e 100644 --- a/api/include/opentelemetry/semconv/incubating/otel_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/otel_metrics.h @@ -21,13 +21,13 @@ namespace otel { /** - * The number of log records for which the export has finished, either successful or failed - *

- * For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code - * error.type @endcode MUST contain the failure cause. For exporters with partial success semantics - * (e.g. OTLP with @code rejected_log_records @endcode), rejected log records MUST count as failed - * and only non-rejected log records count as success. If no rejection reason is available, @code - * rejected @endcode SHOULD be used as value for @code error.type @endcode.

counter + The number of log records for which the export has finished, either successful or failed +

+ For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code + error.type @endcode MUST contain the failure cause. For exporters with partial success semantics + (e.g. OTLP with @code rejected_log_records @endcode), rejected log records MUST count as failed + and only non-rejected log records count as success. If no rejection reason is available, @code + rejected @endcode SHOULD be used as value for @code error.type @endcode.

counter */ static constexpr const char *kMetricOtelSdkExporterLogExported = "otel.sdk.exporter.log.exported"; static constexpr const char *descrMetricOtelSdkExporterLogExported = @@ -67,10 +67,10 @@ CreateAsyncDoubleMetricOtelSdkExporterLogExported(metrics::Meter *meter) } /** - * The number of log records which were passed to the exporter, but that have not been exported yet - * (neither successful, nor failed)

For successful exports, @code error.type @endcode MUST NOT - * be set. For failed exports, @code error.type @endcode MUST contain the failure cause.

- * updowncounter + The number of log records which were passed to the exporter, but that have not been exported yet + (neither successful, nor failed)

For successful exports, @code error.type @endcode MUST NOT be + set. For failed exports, @code error.type @endcode MUST contain the failure cause.

+ updowncounter */ static constexpr const char *kMetricOtelSdkExporterLogInflight = "otel.sdk.exporter.log.inflight"; static constexpr const char *descrMetricOtelSdkExporterLogInflight = @@ -111,13 +111,13 @@ CreateAsyncDoubleMetricOtelSdkExporterLogInflight(metrics::Meter *meter) } /** - * The number of metric data points for which the export has finished, either successful or failed - *

- * For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code - * error.type @endcode MUST contain the failure cause. For exporters with partial success semantics - * (e.g. OTLP with @code rejected_data_points @endcode), rejected data points MUST count as failed - * and only non-rejected data points count as success. If no rejection reason is available, @code - * rejected @endcode SHOULD be used as value for @code error.type @endcode.

counter + The number of metric data points for which the export has finished, either successful or failed +

+ For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code + error.type @endcode MUST contain the failure cause. For exporters with partial success semantics + (e.g. OTLP with @code rejected_data_points @endcode), rejected data points MUST count as failed + and only non-rejected data points count as success. If no rejection reason is available, @code + rejected @endcode SHOULD be used as value for @code error.type @endcode.

counter */ static constexpr const char *kMetricOtelSdkExporterMetricDataPointExported = "otel.sdk.exporter.metric_data_point.exported"; @@ -159,10 +159,10 @@ CreateAsyncDoubleMetricOtelSdkExporterMetricDataPointExported(metrics::Meter *me } /** - * The number of metric data points which were passed to the exporter, but that have not been - * exported yet (neither successful, nor failed)

For successful exports, @code error.type - * @endcode MUST NOT be set. For failed exports, @code error.type @endcode MUST contain the failure - * cause.

updowncounter + The number of metric data points which were passed to the exporter, but that have not been + exported yet (neither successful, nor failed)

For successful exports, @code error.type + @endcode MUST NOT be set. For failed exports, @code error.type @endcode MUST contain the failure + cause.

updowncounter */ static constexpr const char *kMetricOtelSdkExporterMetricDataPointInflight = "otel.sdk.exporter.metric_data_point.inflight"; @@ -206,15 +206,15 @@ CreateAsyncDoubleMetricOtelSdkExporterMetricDataPointInflight(metrics::Meter *me } /** - * The duration of exporting a batch of telemetry records. - *

- * This metric defines successful operations using the full success definitions for http - * and grpc. - * Anything else is defined as an unsuccessful operation. For successful operations, @code - * error.type @endcode MUST NOT be set. For unsuccessful export operations, @code error.type - * @endcode MUST contain a relevant failure cause.

histogram + The duration of exporting a batch of telemetry records. +

+ This metric defines successful operations using the full success definitions for http + and grpc. + Anything else is defined as an unsuccessful operation. For successful operations, @code error.type + @endcode MUST NOT be set. For unsuccessful export operations, @code error.type @endcode MUST + contain a relevant failure cause.

histogram */ static constexpr const char *kMetricOtelSdkExporterOperationDuration = "otel.sdk.exporter.operation.duration"; @@ -239,13 +239,13 @@ CreateSyncDoubleMetricOtelSdkExporterOperationDuration(metrics::Meter *meter) } /** - * The number of spans for which the export has finished, either successful or failed - *

- * For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code - * error.type @endcode MUST contain the failure cause. For exporters with partial success semantics - * (e.g. OTLP with @code rejected_spans @endcode), rejected spans MUST count as failed and only - * non-rejected spans count as success. If no rejection reason is available, @code rejected @endcode - * SHOULD be used as value for @code error.type @endcode.

counter + The number of spans for which the export has finished, either successful or failed +

+ For successful exports, @code error.type @endcode MUST NOT be set. For failed exports, @code + error.type @endcode MUST contain the failure cause. For exporters with partial success semantics + (e.g. OTLP with @code rejected_spans @endcode), rejected spans MUST count as failed and only + non-rejected spans count as success. If no rejection reason is available, @code rejected @endcode + SHOULD be used as value for @code error.type @endcode.

counter */ static constexpr const char *kMetricOtelSdkExporterSpanExported = "otel.sdk.exporter.span.exported"; static constexpr const char *descrMetricOtelSdkExporterSpanExported = @@ -285,11 +285,11 @@ CreateAsyncDoubleMetricOtelSdkExporterSpanExported(metrics::Meter *meter) } /** - * Deprecated, use @code otel.sdk.exporter.span.exported @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code otel.sdk.exporter.span.exported @endcode.", "reason": "renamed", - * "renamed_to": "otel.sdk.exporter.span.exported"}

updowncounter + Deprecated, use @code otel.sdk.exporter.span.exported @endcode instead. + + @deprecated + {"note": "Replaced by @code otel.sdk.exporter.span.exported @endcode.", "reason": "renamed", + "renamed_to": "otel.sdk.exporter.span.exported"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricOtelSdkExporterSpanExportedCount = "otel.sdk.exporter.span.exported.count"; @@ -331,10 +331,10 @@ CreateAsyncDoubleMetricOtelSdkExporterSpanExportedCount(metrics::Meter *meter) } /** - * The number of spans which were passed to the exporter, but that have not been exported yet - * (neither successful, nor failed)

For successful exports, @code error.type @endcode MUST NOT - * be set. For failed exports, @code error.type @endcode MUST contain the failure cause.

- * updowncounter + The number of spans which were passed to the exporter, but that have not been exported yet + (neither successful, nor failed)

For successful exports, @code error.type @endcode MUST NOT be + set. For failed exports, @code error.type @endcode MUST contain the failure cause.

+ updowncounter */ static constexpr const char *kMetricOtelSdkExporterSpanInflight = "otel.sdk.exporter.span.inflight"; static constexpr const char *descrMetricOtelSdkExporterSpanInflight = @@ -375,11 +375,11 @@ CreateAsyncDoubleMetricOtelSdkExporterSpanInflight(metrics::Meter *meter) } /** - * Deprecated, use @code otel.sdk.exporter.span.inflight @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code otel.sdk.exporter.span.inflight @endcode.", "reason": "renamed", - * "renamed_to": "otel.sdk.exporter.span.inflight"}

updowncounter + Deprecated, use @code otel.sdk.exporter.span.inflight @endcode instead. + + @deprecated + {"note": "Replaced by @code otel.sdk.exporter.span.inflight @endcode.", "reason": "renamed", + "renamed_to": "otel.sdk.exporter.span.inflight"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricOtelSdkExporterSpanInflightCount = "otel.sdk.exporter.span.inflight.count"; @@ -421,9 +421,9 @@ CreateAsyncDoubleMetricOtelSdkExporterSpanInflightCount(metrics::Meter *meter) } /** - * The number of logs submitted to enabled SDK Loggers - *

- * counter + The number of logs submitted to enabled SDK Loggers +

+ counter */ static constexpr const char *kMetricOtelSdkLogCreated = "otel.sdk.log.created"; static constexpr const char *descrMetricOtelSdkLogCreated = @@ -459,12 +459,12 @@ CreateAsyncDoubleMetricOtelSdkLogCreated(metrics::Meter *meter) } /** - * The duration of the collect operation of the metric reader. - *

- * For successful collections, @code error.type @endcode MUST NOT be set. For failed collections, - * @code error.type @endcode SHOULD contain the failure cause. It can happen that metrics collection - * is successful for some MetricProducers, while others fail. In that case @code error.type @endcode - * SHOULD be set to any of the failure causes.

histogram + The duration of the collect operation of the metric reader. +

+ For successful collections, @code error.type @endcode MUST NOT be set. For failed collections, + @code error.type @endcode SHOULD contain the failure cause. It can happen that metrics collection + is successful for some MetricProducers, while others fail. In that case @code error.type @endcode + SHOULD be set to any of the failure causes.

histogram */ static constexpr const char *kMetricOtelSdkMetricReaderCollectionDuration = "otel.sdk.metric_reader.collection.duration"; @@ -489,12 +489,12 @@ CreateSyncDoubleMetricOtelSdkMetricReaderCollectionDuration(metrics::Meter *mete } /** - * The number of log records for which the processing has finished, either successful or failed - *

- * For successful processing, @code error.type @endcode MUST NOT be set. For failed processing, - * @code error.type @endcode MUST contain the failure cause. For the SDK Simple and Batching Log - * Record Processor a log record is considered to be processed already when it has been submitted to - * the exporter, not when the corresponding export call has finished.

counter + The number of log records for which the processing has finished, either successful or failed +

+ For successful processing, @code error.type @endcode MUST NOT be set. For failed processing, @code + error.type @endcode MUST contain the failure cause. For the SDK Simple and Batching Log Record + Processor a log record is considered to be processed already when it has been submitted to the + exporter, not when the corresponding export call has finished.

counter */ static constexpr const char *kMetricOtelSdkProcessorLogProcessed = "otel.sdk.processor.log.processed"; @@ -535,9 +535,9 @@ CreateAsyncDoubleMetricOtelSdkProcessorLogProcessed(metrics::Meter *meter) } /** - * The maximum number of log records the queue of a given instance of an SDK Log Record processor - * can hold

Only applies to Log Record processors which use a queue, e.g. the SDK Batching Log - * Record Processor.

updowncounter + The maximum number of log records the queue of a given instance of an SDK Log Record processor can + hold

Only applies to Log Record processors which use a queue, e.g. the SDK Batching Log Record + Processor.

updowncounter */ static constexpr const char *kMetricOtelSdkProcessorLogQueueCapacity = "otel.sdk.processor.log.queue.capacity"; @@ -579,10 +579,10 @@ CreateAsyncDoubleMetricOtelSdkProcessorLogQueueCapacity(metrics::Meter *meter) } /** - * The number of log records in the queue of a given instance of an SDK log processor - *

- * Only applies to log record processors which use a queue, e.g. the SDK Batching Log Record - * Processor.

updowncounter + The number of log records in the queue of a given instance of an SDK log processor +

+ Only applies to log record processors which use a queue, e.g. the SDK Batching Log Record + Processor.

updowncounter */ static constexpr const char *kMetricOtelSdkProcessorLogQueueSize = "otel.sdk.processor.log.queue.size"; @@ -623,12 +623,12 @@ CreateAsyncDoubleMetricOtelSdkProcessorLogQueueSize(metrics::Meter *meter) } /** - * The number of spans for which the processing has finished, either successful or failed - *

- * For successful processing, @code error.type @endcode MUST NOT be set. For failed processing, - * @code error.type @endcode MUST contain the failure cause. For the SDK Simple and Batching Span - * Processor a span is considered to be processed already when it has been submitted to the - * exporter, not when the corresponding export call has finished.

counter + The number of spans for which the processing has finished, either successful or failed +

+ For successful processing, @code error.type @endcode MUST NOT be set. For failed processing, @code + error.type @endcode MUST contain the failure cause. For the SDK Simple and Batching Span Processor + a span is considered to be processed already when it has been submitted to the exporter, not when + the corresponding export call has finished.

counter */ static constexpr const char *kMetricOtelSdkProcessorSpanProcessed = "otel.sdk.processor.span.processed"; @@ -669,11 +669,11 @@ CreateAsyncDoubleMetricOtelSdkProcessorSpanProcessed(metrics::Meter *meter) } /** - * Deprecated, use @code otel.sdk.processor.span.processed @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code otel.sdk.processor.span.processed @endcode.", "reason": "renamed", - * "renamed_to": "otel.sdk.processor.span.processed"}

updowncounter + Deprecated, use @code otel.sdk.processor.span.processed @endcode instead. + + @deprecated + {"note": "Replaced by @code otel.sdk.processor.span.processed @endcode.", "reason": "renamed", + "renamed_to": "otel.sdk.processor.span.processed"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricOtelSdkProcessorSpanProcessedCount = "otel.sdk.processor.span.processed.count"; @@ -716,11 +716,11 @@ CreateAsyncDoubleMetricOtelSdkProcessorSpanProcessedCount(metrics::Meter *meter) } /** - * The maximum number of spans the queue of a given instance of an SDK span processor can hold - *

- * Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor. - *

- * updowncounter + The maximum number of spans the queue of a given instance of an SDK span processor can hold +

+ Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor. +

+ updowncounter */ static constexpr const char *kMetricOtelSdkProcessorSpanQueueCapacity = "otel.sdk.processor.span.queue.capacity"; @@ -761,11 +761,11 @@ CreateAsyncDoubleMetricOtelSdkProcessorSpanQueueCapacity(metrics::Meter *meter) } /** - * The number of spans in the queue of a given instance of an SDK span processor - *

- * Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor. - *

- * updowncounter + The number of spans in the queue of a given instance of an SDK span processor +

+ Only applies to span processors which use a queue, e.g. the SDK Batching Span Processor. +

+ updowncounter */ static constexpr const char *kMetricOtelSdkProcessorSpanQueueSize = "otel.sdk.processor.span.queue.size"; @@ -806,12 +806,12 @@ CreateAsyncDoubleMetricOtelSdkProcessorSpanQueueSize(metrics::Meter *meter) } /** - * The number of created spans for which the end operation was called - *

- * For spans with @code recording=true @endcode: Implementations MUST record both @code - * otel.sdk.span.live @endcode and @code otel.sdk.span.ended @endcode. For spans with @code - * recording=false @endcode: If implementations decide to record this metric, they MUST also record - * @code otel.sdk.span.live @endcode.

counter + The number of created spans for which the end operation was called +

+ For spans with @code recording=true @endcode: Implementations MUST record both @code + otel.sdk.span.live @endcode and @code otel.sdk.span.ended @endcode. For spans with @code + recording=false @endcode: If implementations decide to record this metric, they MUST also record + @code otel.sdk.span.live @endcode.

counter */ static constexpr const char *kMetricOtelSdkSpanEnded = "otel.sdk.span.ended"; static constexpr const char *descrMetricOtelSdkSpanEnded = @@ -847,11 +847,11 @@ CreateAsyncDoubleMetricOtelSdkSpanEnded(metrics::Meter *meter) } /** - * Deprecated, use @code otel.sdk.span.ended @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code otel.sdk.span.ended @endcode.", "reason": "renamed", "renamed_to": - * "otel.sdk.span.ended"}

counter + Deprecated, use @code otel.sdk.span.ended @endcode instead. + + @deprecated + {"note": "Replaced by @code otel.sdk.span.ended @endcode.", "reason": "renamed", "renamed_to": + "otel.sdk.span.ended"}

counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricOtelSdkSpanEndedCount = "otel.sdk.span.ended.count"; @@ -890,12 +890,12 @@ CreateAsyncDoubleMetricOtelSdkSpanEndedCount(metrics::Meter *meter) } /** - * The number of created spans for which the end operation has not been called yet - *

- * For spans with @code recording=true @endcode: Implementations MUST record both @code - * otel.sdk.span.live @endcode and @code otel.sdk.span.ended @endcode. For spans with @code - * recording=false @endcode: If implementations decide to record this metric, they MUST also record - * @code otel.sdk.span.ended @endcode.

updowncounter + The number of created spans for which the end operation has not been called yet +

+ For spans with @code recording=true @endcode: Implementations MUST record both @code + otel.sdk.span.live @endcode and @code otel.sdk.span.ended @endcode. For spans with @code + recording=false @endcode: If implementations decide to record this metric, they MUST also record + @code otel.sdk.span.ended @endcode.

updowncounter */ static constexpr const char *kMetricOtelSdkSpanLive = "otel.sdk.span.live"; static constexpr const char *descrMetricOtelSdkSpanLive = @@ -931,11 +931,11 @@ CreateAsyncDoubleMetricOtelSdkSpanLive(metrics::Meter *meter) } /** - * Deprecated, use @code otel.sdk.span.live @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code otel.sdk.span.live @endcode.", "reason": "renamed", "renamed_to": - * "otel.sdk.span.live"}

updowncounter + Deprecated, use @code otel.sdk.span.live @endcode instead. + + @deprecated + {"note": "Replaced by @code otel.sdk.span.live @endcode.", "reason": "renamed", "renamed_to": + "otel.sdk.span.live"}

updowncounter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricOtelSdkSpanLiveCount = "otel.sdk.span.live.count"; diff --git a/api/include/opentelemetry/semconv/incubating/other_attributes.h b/api/include/opentelemetry/semconv/incubating/other_attributes.h index c8b1b72f3c..ab0939606f 100644 --- a/api/include/opentelemetry/semconv/incubating/other_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/other_attributes.h @@ -20,23 +20,23 @@ namespace other { /** - * Deprecated, use @code db.client.connection.state @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.state @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.state"} + Deprecated, use @code db.client.connection.state @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.state @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.state"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kState = "state"; namespace StateValues { /** - * none + none */ static constexpr const char *kIdle = "idle"; /** - * none + none */ static constexpr const char *kUsed = "used"; diff --git a/api/include/opentelemetry/semconv/incubating/peer_attributes.h b/api/include/opentelemetry/semconv/incubating/peer_attributes.h index 6215d913f5..acc6621d24 100644 --- a/api/include/opentelemetry/semconv/incubating/peer_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/peer_attributes.h @@ -20,9 +20,9 @@ namespace peer { /** - * The @code service.name @endcode of the remote - * service. SHOULD be equal to the actual @code service.name @endcode resource attribute of the - * remote service if any. + The @code service.name @endcode of the remote + service. SHOULD be equal to the actual @code service.name @endcode resource attribute of the + remote service if any. */ static constexpr const char *kPeerService = "peer.service"; diff --git a/api/include/opentelemetry/semconv/incubating/pool_attributes.h b/api/include/opentelemetry/semconv/incubating/pool_attributes.h index e273ee2e89..f2ecb12466 100644 --- a/api/include/opentelemetry/semconv/incubating/pool_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/pool_attributes.h @@ -20,11 +20,11 @@ namespace pool { /** - * Deprecated, use @code db.client.connection.pool.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code db.client.connection.pool.name @endcode.", "reason": "renamed", - * "renamed_to": "db.client.connection.pool.name"} + Deprecated, use @code db.client.connection.pool.name @endcode instead. + + @deprecated + {"note": "Replaced by @code db.client.connection.pool.name @endcode.", "reason": "renamed", + "renamed_to": "db.client.connection.pool.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kPoolName = "pool.name"; diff --git a/api/include/opentelemetry/semconv/incubating/process_attributes.h b/api/include/opentelemetry/semconv/incubating/process_attributes.h index 754eaf2ee9..7cee8fc70f 100644 --- a/api/include/opentelemetry/semconv/incubating/process_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/process_attributes.h @@ -20,240 +20,240 @@ namespace process { /** - * Length of the process.command_args array - *

- * This field can be useful for querying or performing bucket analysis on how many arguments were - * provided to start a process. More arguments may be an indication of suspicious activity. + Length of the process.command_args array +

+ This field can be useful for querying or performing bucket analysis on how many arguments were + provided to start a process. More arguments may be an indication of suspicious activity. */ static constexpr const char *kProcessArgsCount = "process.args_count"; /** - * 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 @endcode. On Windows, can be set to the - * first parameter extracted from @code GetCommandLineW @endcode. + 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 @endcode. On Windows, can be set to the first + parameter extracted from @code GetCommandLineW @endcode. */ static constexpr const char *kProcessCommand = "process.command"; /** - * All the command arguments (including the command/executable itself) as received by the process. - * On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according - * to the list of null-delimited strings extracted from @code proc/[pid]/cmdline @endcode. For - * libc-based executables, this would be the full argv vector passed to @code main @endcode. SHOULD - * NOT be collected by default unless there is sanitization that excludes sensitive data. + All the command arguments (including the command/executable itself) as received by the process. On + Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to + the list of null-delimited strings extracted from @code proc/[pid]/cmdline @endcode. For + libc-based executables, this would be the full argv vector passed to @code main @endcode. SHOULD + NOT be collected by default unless there is sanitization that excludes sensitive data. */ static constexpr const char *kProcessCommandArgs = "process.command_args"; /** - * The full command used to launch the process as a single string representing the full command. On - * Windows, can be set to the result of @code GetCommandLineW @endcode. Do not set this if you have - * to assemble it just for monitoring; use @code process.command_args @endcode instead. SHOULD NOT - * be collected by default unless there is sanitization that excludes sensitive data. + The full command used to launch the process as a single string representing the full command. On + Windows, can be set to the result of @code GetCommandLineW @endcode. Do not set this if you have + to assemble it just for monitoring; use @code process.command_args @endcode instead. SHOULD NOT be + collected by default unless there is sanitization that excludes sensitive data. */ static constexpr const char *kProcessCommandLine = "process.command_line"; /** - * Specifies whether the context switches for this data point were voluntary or involuntary. + Specifies whether the context switches for this data point were voluntary or involuntary. */ static constexpr const char *kProcessContextSwitchType = "process.context_switch_type"; /** - * Deprecated, use @code cpu.mode @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} + Deprecated, use @code cpu.mode @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kProcessCpuState = "process.cpu.state"; /** - * The date and time the process was created, in ISO 8601 format. + The date and time the process was created, in ISO 8601 format. */ static constexpr const char *kProcessCreationTime = "process.creation.time"; /** - * Process environment variables, being the environment variable name, the value being the - * environment variable value.

Examples:

  • an environment variable @code USER @endcode - * with value @code "ubuntu" @endcode SHOULD be recorded as the @code - * process.environment_variable.USER @endcode attribute with value @code "ubuntu" @endcode.
  • - *
  • an environment variable @code PATH @endcode with value @code "/usr/local/bin:/usr/bin" - * @endcode SHOULD be recorded as the @code process.environment_variable.PATH @endcode attribute - * with value @code "/usr/local/bin:/usr/bin" @endcode.
  • - *
+ Process environment variables, being the environment variable name, the value being the + environment variable value.

Examples:

  • an environment variable @code USER @endcode + with value @code "ubuntu" @endcode SHOULD be recorded as the @code + process.environment_variable.USER @endcode attribute with value @code "ubuntu" @endcode.
  • +
  • an environment variable @code PATH @endcode with value @code "/usr/local/bin:/usr/bin" + @endcode SHOULD be recorded as the @code process.environment_variable.PATH @endcode attribute with + value @code "/usr/local/bin:/usr/bin" @endcode.
  • +
*/ static constexpr const char *kProcessEnvironmentVariable = "process.environment_variable"; /** - * The GNU build ID as found in the @code .note.gnu.build-id @endcode ELF section (hex string). + The GNU build ID as found in the @code .note.gnu.build-id @endcode ELF section (hex string). */ static constexpr const char *kProcessExecutableBuildIdGnu = "process.executable.build_id.gnu"; /** - * The Go build ID as retrieved by @code go tool buildid @endcode. + The Go build ID as retrieved by @code go tool buildid @endcode. */ static constexpr const char *kProcessExecutableBuildIdGo = "process.executable.build_id.go"; /** - * Profiling specific build ID for executables. See the OTel specification for Profiles for more - * information. + Profiling specific build ID for executables. See the OTel specification for Profiles for more + information. */ static constexpr const char *kProcessExecutableBuildIdHtlhash = "process.executable.build_id.htlhash"; /** - * "Deprecated, use @code process.executable.build_id.htlhash @endcode instead." - * - * @deprecated - * {"note": "Replaced by @code process.executable.build_id.htlhash @endcode.", "reason": "renamed", - * "renamed_to": "process.executable.build_id.htlhash"} + "Deprecated, use @code process.executable.build_id.htlhash @endcode instead." + + @deprecated + {"note": "Replaced by @code process.executable.build_id.htlhash @endcode.", "reason": "renamed", + "renamed_to": "process.executable.build_id.htlhash"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kProcessExecutableBuildIdProfiling = "process.executable.build_id.profiling"; /** - * The name of the process executable. On Linux based systems, this SHOULD be set to the base name - * of the target of @code /proc/[pid]/exe @endcode. On Windows, this SHOULD be set to the base name - * of @code GetProcessImageFileNameW @endcode. + The name of the process executable. On Linux based systems, this SHOULD be set to the base name of + the target of @code /proc/[pid]/exe @endcode. On Windows, this SHOULD be set to the base name of + @code GetProcessImageFileNameW @endcode. */ static constexpr const char *kProcessExecutableName = "process.executable.name"; /** - * The full path to the process executable. On Linux based systems, can be set to the target of - * @code proc/[pid]/exe @endcode. On Windows, can be set to the result of @code - * GetProcessImageFileNameW @endcode. + The full path to the process executable. On Linux based systems, can be set to the target of @code + proc/[pid]/exe @endcode. On Windows, can be set to the result of @code GetProcessImageFileNameW + @endcode. */ static constexpr const char *kProcessExecutablePath = "process.executable.path"; /** - * The exit code of the process. + 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. + 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. + 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. + Whether the process is connected to an interactive shell. */ static constexpr const char *kProcessInteractive = "process.interactive"; /** - * The control group associated with the process. - *

- * Control groups (cgroups) are a kernel feature used to organize and manage process resources. This - * attribute provides the path(s) to the cgroup(s) associated with the process, which should match - * the contents of the /proc/[PID]/cgroup file. + The control group associated with the process. +

+ Control groups (cgroups) are a kernel feature used to organize and manage process resources. This + attribute provides the path(s) to the cgroup(s) associated with the process, which should match + the contents of the /proc/[PID]/cgroup file. */ static constexpr const char *kProcessLinuxCgroup = "process.linux.cgroup"; /** - * The username of the user that owns the process. + 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 @endcode is for major/hard page - * faults, and @code minor @endcode is for minor/soft page faults. + The type of page fault for this data point. Type @code major @endcode is for major/hard page + faults, and @code minor @endcode is for minor/soft page faults. */ static constexpr const char *kProcessPagingFaultType = "process.paging.fault_type"; /** - * Parent Process identifier (PPID). + Parent Process identifier (PPID). */ static constexpr const char *kProcessParentPid = "process.parent_pid"; /** - * Process identifier (PID). + Process identifier (PID). */ static constexpr const char *kProcessPid = "process.pid"; /** - * The real user ID (RUID) of the process. + 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. + 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. + An additional description about the runtime of the process, for example a specific vendor + customization of the runtime environment. */ static constexpr const char *kProcessRuntimeDescription = "process.runtime.description"; /** - * The name of the runtime of this process. + The name of the runtime of this process. */ static constexpr const char *kProcessRuntimeName = "process.runtime.name"; /** - * The version of the runtime of this process, as returned by the runtime without modification. + The version of the runtime of this process, as returned by the runtime without modification. */ static constexpr const char *kProcessRuntimeVersion = "process.runtime.version"; /** - * The saved user ID (SUID) of the process. + The saved user ID (SUID) of the process. */ static constexpr const char *kProcessSavedUserId = "process.saved_user.id"; /** - * The username of the saved user. + 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. + 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"; /** - * Process title (proctitle) - *

- * In many Unix-like systems, process title (proctitle), is the string that represents the name or - * command line of a running process, displayed by system monitoring tools like ps, top, and htop. + Process title (proctitle) +

+ In many Unix-like systems, process title (proctitle), is the string that represents the name or + command line of a running process, displayed by system monitoring tools like ps, top, and htop. */ static constexpr const char *kProcessTitle = "process.title"; /** - * The effective user ID (EUID) of the process. + 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. + The username of the effective user of the process. */ static constexpr const char *kProcessUserName = "process.user.name"; /** - * Virtual process identifier. - *

- * The process ID within a PID namespace. This is not necessarily unique across all processes on the - * host but it is unique within the process namespace that the process exists within. + Virtual process identifier. +

+ The process ID within a PID namespace. This is not necessarily unique across all processes on the + host but it is unique within the process namespace that the process exists within. */ static constexpr const char *kProcessVpid = "process.vpid"; /** - * The working directory of the process. + The working directory of the process. */ static constexpr const char *kProcessWorkingDirectory = "process.working_directory"; namespace ProcessContextSwitchTypeValues { /** - * none + none */ static constexpr const char *kVoluntary = "voluntary"; /** - * none + none */ static constexpr const char *kInvoluntary = "involuntary"; @@ -262,17 +262,17 @@ static constexpr const char *kInvoluntary = "involuntary"; namespace ProcessCpuStateValues { /** - * none + none */ static constexpr const char *kSystem = "system"; /** - * none + none */ static constexpr const char *kUser = "user"; /** - * none + none */ static constexpr const char *kWait = "wait"; @@ -281,12 +281,12 @@ static constexpr const char *kWait = "wait"; namespace ProcessPagingFaultTypeValues { /** - * none + none */ static constexpr const char *kMajor = "major"; /** - * none + none */ static constexpr const char *kMinor = "minor"; diff --git a/api/include/opentelemetry/semconv/incubating/process_metrics.h b/api/include/opentelemetry/semconv/incubating/process_metrics.h index d76db55c9e..0f1a783f76 100644 --- a/api/include/opentelemetry/semconv/incubating/process_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/process_metrics.h @@ -21,9 +21,9 @@ namespace process { /** - * Number of times the process has been context switched. - *

- * counter + Number of times the process has been context switched. +

+ counter */ static constexpr const char *kMetricProcessContextSwitches = "process.context_switches"; static constexpr const char *descrMetricProcessContextSwitches = @@ -63,9 +63,9 @@ CreateAsyncDoubleMetricProcessContextSwitches(metrics::Meter *meter) } /** - * Total CPU seconds broken down by different states. - *

- * counter + Total CPU seconds broken down by different states. +

+ counter */ static constexpr const char *kMetricProcessCpuTime = "process.cpu.time"; static constexpr const char *descrMetricProcessCpuTime = @@ -101,8 +101,8 @@ CreateAsyncDoubleMetricProcessCpuTime(metrics::Meter *meter) } /** - * Difference in process.cpu.time since the last measurement, divided by the elapsed time and number - * of CPUs available to the process.

gauge + Difference in process.cpu.time since the last measurement, divided by the elapsed time and number + of CPUs available to the process.

gauge */ static constexpr const char *kMetricProcessCpuUtilization = "process.cpu.utilization"; static constexpr const char *descrMetricProcessCpuUtilization = @@ -144,9 +144,9 @@ CreateAsyncDoubleMetricProcessCpuUtilization(metrics::Meter *meter) } /** - * Disk bytes transferred. - *

- * counter + Disk bytes transferred. +

+ counter */ static constexpr const char *kMetricProcessDiskIo = "process.disk.io"; static constexpr const char *descrMetricProcessDiskIo = "Disk bytes transferred."; @@ -181,9 +181,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * The amount of physical memory in use. - *

- * updowncounter + The amount of physical memory in use. +

+ updowncounter */ static constexpr const char *kMetricProcessMemoryUsage = "process.memory.usage"; static constexpr const char *descrMetricProcessMemoryUsage = @@ -219,9 +219,9 @@ CreateAsyncDoubleMetricProcessMemoryUsage(metrics::Meter *meter) } /** - * The amount of committed virtual memory. - *

- * updowncounter + The amount of committed virtual memory. +

+ updowncounter */ static constexpr const char *kMetricProcessMemoryVirtual = "process.memory.virtual"; static constexpr const char *descrMetricProcessMemoryVirtual = @@ -257,9 +257,9 @@ CreateAsyncDoubleMetricProcessMemoryVirtual(metrics::Meter *meter) } /** - * Network bytes transferred. - *

- * counter + Network bytes transferred. +

+ counter */ static constexpr const char *kMetricProcessNetworkIo = "process.network.io"; static constexpr const char *descrMetricProcessNetworkIo = "Network bytes transferred."; @@ -294,9 +294,9 @@ CreateAsyncDoubleMetricProcessNetworkIo(metrics::Meter *meter) } /** - * Number of file descriptors in use by the process. - *

- * updowncounter + Number of file descriptors in use by the process. +

+ updowncounter */ static constexpr const char *kMetricProcessOpenFileDescriptorCount = "process.open_file_descriptor.count"; @@ -337,9 +337,9 @@ CreateAsyncDoubleMetricProcessOpenFileDescriptorCount(metrics::Meter *meter) } /** - * Number of page faults the process has made. - *

- * counter + Number of page faults the process has made. +

+ counter */ static constexpr const char *kMetricProcessPagingFaults = "process.paging.faults"; static constexpr const char *descrMetricProcessPagingFaults = @@ -375,9 +375,9 @@ CreateAsyncDoubleMetricProcessPagingFaults(metrics::Meter *meter) } /** - * Process threads count. - *

- * updowncounter + Process threads count. +

+ updowncounter */ static constexpr const char *kMetricProcessThreadCount = "process.thread.count"; static constexpr const char *descrMetricProcessThreadCount = "Process threads count."; @@ -412,11 +412,11 @@ CreateAsyncDoubleMetricProcessThreadCount(metrics::Meter *meter) } /** - * The time the process has been running. - *

- * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds - * as a floating point number with the highest precision available. The actual accuracy would depend - * on the instrumentation and operating system.

gauge + The time the process has been running. +

+ Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + as a floating point number with the highest precision available. The actual accuracy would depend + on the instrumentation and operating system.

gauge */ static constexpr const char *kMetricProcessUptime = "process.uptime"; static constexpr const char *descrMetricProcessUptime = "The time the process has been running."; diff --git a/api/include/opentelemetry/semconv/incubating/profile_attributes.h b/api/include/opentelemetry/semconv/incubating/profile_attributes.h index 86e8e744e1..0e022c4331 100644 --- a/api/include/opentelemetry/semconv/incubating/profile_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/profile_attributes.h @@ -20,74 +20,74 @@ namespace profile { /** - * Describes the interpreter or compiler of a single frame. + Describes the interpreter or compiler of a single frame. */ static constexpr const char *kProfileFrameType = "profile.frame.type"; namespace ProfileFrameTypeValues { /** - * .NET + .NET */ static constexpr const char *kDotnet = "dotnet"; /** - * JVM + JVM */ static constexpr const char *kJvm = "jvm"; /** - * Kernel + Kernel */ static constexpr const char *kKernel = "kernel"; /** - * Can be one of but not limited to C, C++, Go or Rust. If possible, a more - * precise value MUST be used. + Can be one of but not limited to C, C++, Go or Rust. If possible, a more + precise value MUST be used. */ static constexpr const char *kNative = "native"; /** - * Perl + Perl */ static constexpr const char *kPerl = "perl"; /** - * PHP + PHP */ static constexpr const char *kPhp = "php"; /** - * Python + Python */ static constexpr const char *kCpython = "cpython"; /** - * Ruby + Ruby */ static constexpr const char *kRuby = "ruby"; /** - * V8JS + V8JS */ static constexpr const char *kV8js = "v8js"; /** - * Erlang + Erlang */ static constexpr const char *kBeam = "beam"; /** - * Go, + Go, */ static constexpr const char *kGo = "go"; /** - * Rust + Rust */ static constexpr const char *kRust = "rust"; diff --git a/api/include/opentelemetry/semconv/incubating/rpc_attributes.h b/api/include/opentelemetry/semconv/incubating/rpc_attributes.h index d9cd2ec8aa..daf36ce67b 100644 --- a/api/include/opentelemetry/semconv/incubating/rpc_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/rpc_attributes.h @@ -20,212 +20,212 @@ namespace rpc { /** - * The error codes of the Connect - * request. Error codes are always string values. + The error codes of the Connect + request. Error codes are always string values. */ static constexpr const char *kRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code"; /** - * Connect request metadata, @code @endcode being the normalized Connect Metadata key - * (lowercase), the value being the metadata values.

Instrumentations SHOULD require an explicit - * configuration of which metadata values are to be captured. Including all request metadata values - * can be a security risk - explicit configuration helps avoid leaking sensitive information.

- * For example, a property @code my-custom-key @endcode with value @code ["1.2.3.4", "1.2.3.5"] - * @endcode SHOULD be recorded as the @code rpc.connect_rpc.request.metadata.my-custom-key @endcode - * attribute with value @code ["1.2.3.4", "1.2.3.5"] @endcode + Connect request metadata, @code @endcode being the normalized Connect Metadata key + (lowercase), the value being the metadata values.

Instrumentations SHOULD require an explicit + configuration of which metadata values are to be captured. Including all request metadata values + can be a security risk - explicit configuration helps avoid leaking sensitive information.

For + example, a property @code my-custom-key @endcode with value @code ["1.2.3.4", "1.2.3.5"] @endcode + SHOULD be recorded as the @code rpc.connect_rpc.request.metadata.my-custom-key @endcode attribute + with value @code ["1.2.3.4", "1.2.3.5"] @endcode */ static constexpr const char *kRpcConnectRpcRequestMetadata = "rpc.connect_rpc.request.metadata"; /** - * Connect response metadata, @code @endcode being the normalized Connect Metadata key - * (lowercase), the value being the metadata values.

Instrumentations SHOULD require an explicit - * configuration of which metadata values are to be captured. Including all response metadata values - * can be a security risk - explicit configuration helps avoid leaking sensitive information.

- * For example, a property @code my-custom-key @endcode with value @code "attribute_value" @endcode - * SHOULD be recorded as the @code rpc.connect_rpc.response.metadata.my-custom-key @endcode - * attribute with value @code ["attribute_value"] @endcode + Connect response metadata, @code @endcode being the normalized Connect Metadata key + (lowercase), the value being the metadata values.

Instrumentations SHOULD require an explicit + configuration of which metadata values are to be captured. Including all response metadata values + can be a security risk - explicit configuration helps avoid leaking sensitive information.

For + example, a property @code my-custom-key @endcode with value @code "attribute_value" @endcode + SHOULD be recorded as the @code rpc.connect_rpc.response.metadata.my-custom-key @endcode attribute + with value @code ["attribute_value"] @endcode */ static constexpr const char *kRpcConnectRpcResponseMetadata = "rpc.connect_rpc.response.metadata"; /** - * gRPC request metadata, @code @endcode being the normalized gRPC Metadata key (lowercase), - * the value being the metadata values.

Instrumentations SHOULD require an explicit - * configuration of which metadata values are to be captured. Including all request metadata values - * can be a security risk - explicit configuration helps avoid leaking sensitive information.

- * For example, a property @code my-custom-key @endcode with value @code ["1.2.3.4", "1.2.3.5"] - * @endcode SHOULD be recorded as - * @code rpc.grpc.request.metadata.my-custom-key @endcode attribute with value @code ["1.2.3.4", - * "1.2.3.5"] @endcode + gRPC request metadata, @code @endcode being the normalized gRPC Metadata key (lowercase), + the value being the metadata values.

Instrumentations SHOULD require an explicit configuration + of which metadata values are to be captured. Including all request metadata values can be a + security risk - explicit configuration helps avoid leaking sensitive information.

For example, + a property @code my-custom-key @endcode with value @code ["1.2.3.4", "1.2.3.5"] @endcode SHOULD be + recorded as + @code rpc.grpc.request.metadata.my-custom-key @endcode attribute with value @code ["1.2.3.4", + "1.2.3.5"] @endcode */ static constexpr const char *kRpcGrpcRequestMetadata = "rpc.grpc.request.metadata"; /** - * gRPC response metadata, @code @endcode being the normalized gRPC Metadata key (lowercase), - * the value being the metadata values.

Instrumentations SHOULD require an explicit - * configuration of which metadata values are to be captured. Including all response metadata values - * can be a security risk - explicit configuration helps avoid leaking sensitive information.

- * For example, a property @code my-custom-key @endcode with value @code ["attribute_value"] - * @endcode SHOULD be recorded as the @code rpc.grpc.response.metadata.my-custom-key @endcode - * attribute with value @code ["attribute_value"] @endcode + gRPC response metadata, @code @endcode being the normalized gRPC Metadata key (lowercase), + the value being the metadata values.

Instrumentations SHOULD require an explicit configuration + of which metadata values are to be captured. Including all response metadata values can be a + security risk - explicit configuration helps avoid leaking sensitive information.

For example, + a property @code my-custom-key @endcode with value @code ["attribute_value"] @endcode SHOULD be + recorded as the @code rpc.grpc.response.metadata.my-custom-key @endcode attribute with value @code + ["attribute_value"] @endcode */ static constexpr const char *kRpcGrpcResponseMetadata = "rpc.grpc.response.metadata"; /** - * The numeric status - * code of the gRPC request. + The numeric status code + of the gRPC request. */ static constexpr const char *kRpcGrpcStatusCode = "rpc.grpc.status_code"; /** - * @code error.code @endcode property of response if it is an error response. + @code error.code @endcode property of response if it is an error response. */ static constexpr const char *kRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code"; /** - * @code error.message @endcode property of response if it is an error response. + @code error.message @endcode property of response if it is an error response. */ static constexpr const char *kRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message"; /** - * @code id @endcode property of request or response. Since protocol allows id to be int, string, - * @code null @endcode or missing (for notifications), value is expected to be cast to string for - * simplicity. Use empty string in case of @code null @endcode value. Omit entirely if this is a - * notification. + @code id @endcode property of request or response. Since protocol allows id to be int, string, + @code null @endcode or missing (for notifications), value is expected to be cast to string for + simplicity. Use empty string in case of @code null @endcode value. Omit entirely if this is a + notification. */ static constexpr const char *kRpcJsonrpcRequestId = "rpc.jsonrpc.request_id"; /** - * Protocol version as in @code jsonrpc @endcode property of request/response. Since JSON-RPC 1.0 - * doesn't specify this, the value can be omitted. + Protocol version as in @code jsonrpc @endcode property of request/response. Since JSON-RPC 1.0 + doesn't specify this, the value can be omitted. */ static constexpr const char *kRpcJsonrpcVersion = "rpc.jsonrpc.version"; /** - * Compressed size of the message in bytes. + 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 @endcode one for sent messages - * and one for received message.

This way we guarantee that the values will be consistent - * between different implementations. + MUST be calculated as two different counters starting from @code 1 @endcode one for sent messages + and one for received message.

This way we guarantee that the values will be consistent between + different implementations. */ static constexpr const char *kRpcMessageId = "rpc.message.id"; /** - * Whether this is a received or sent message. + Whether this is a received or sent message. */ static constexpr const char *kRpcMessageType = "rpc.message.type"; /** - * Uncompressed size of the message in bytes. + 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.

This is the logical name of the method from the RPC interface perspective, which can be - * different from the name of any implementing method/function. The @code code.function.name - * @endcode attribute may be used to store the latter (e.g., method actually executing the call on - * the server side, RPC client stub method on the client side). + The name of the (logical) method being called, must be equal to the $method part in the span name. +

+ This is the logical name of the method from the RPC interface perspective, which can be different + from the name of any implementing method/function. The @code code.function.name @endcode attribute + may be used to store the latter (e.g., method actually executing the call on the server side, RPC + client stub method on the client side). */ static constexpr const char *kRpcMethod = "rpc.method"; /** - * The full (logical) name of the service being called, including its package name, if applicable. - *

- * This is the logical name of the service from the RPC interface perspective, which can be - * different from the name of any implementing class. The @code code.namespace @endcode attribute - * may be used to store the latter (despite the attribute name, it may include a class name; e.g., - * class with method actually executing the call on the server side, RPC client stub class on the - * client side). + The full (logical) name of the service being called, including its package name, if applicable. +

+ This is the logical name of the service from the RPC interface perspective, which can be different + from the name of any implementing class. The @code code.namespace @endcode attribute may be used + to store the latter (despite the attribute name, it may include a class name; e.g., class with + method actually executing the call on the server side, RPC client stub class on the client side). */ static constexpr const char *kRpcService = "rpc.service"; /** - * A string identifying the remoting system. See below for a list of well-known identifiers. + A string identifying the remoting system. See below for a list of well-known identifiers. */ static constexpr const char *kRpcSystem = "rpc.system"; namespace RpcConnectRpcErrorCodeValues { /** - * none + none */ static constexpr const char *kCancelled = "cancelled"; /** - * none + none */ static constexpr const char *kUnknown = "unknown"; /** - * none + none */ static constexpr const char *kInvalidArgument = "invalid_argument"; /** - * none + none */ static constexpr const char *kDeadlineExceeded = "deadline_exceeded"; /** - * none + none */ static constexpr const char *kNotFound = "not_found"; /** - * none + none */ static constexpr const char *kAlreadyExists = "already_exists"; /** - * none + none */ static constexpr const char *kPermissionDenied = "permission_denied"; /** - * none + none */ static constexpr const char *kResourceExhausted = "resource_exhausted"; /** - * none + none */ static constexpr const char *kFailedPrecondition = "failed_precondition"; /** - * none + none */ static constexpr const char *kAborted = "aborted"; /** - * none + none */ static constexpr const char *kOutOfRange = "out_of_range"; /** - * none + none */ static constexpr const char *kUnimplemented = "unimplemented"; /** - * none + none */ static constexpr const char *kInternal = "internal"; /** - * none + none */ static constexpr const char *kUnavailable = "unavailable"; /** - * none + none */ static constexpr const char *kDataLoss = "data_loss"; /** - * none + none */ static constexpr const char *kUnauthenticated = "unauthenticated"; @@ -234,87 +234,87 @@ static constexpr const char *kUnauthenticated = "unauthenticated"; namespace RpcGrpcStatusCodeValues { /** - * OK + OK */ static constexpr int kOk = 0; /** - * CANCELLED + CANCELLED */ static constexpr int kCancelled = 1; /** - * UNKNOWN + UNKNOWN */ static constexpr int kUnknown = 2; /** - * INVALID_ARGUMENT + INVALID_ARGUMENT */ static constexpr int kInvalidArgument = 3; /** - * DEADLINE_EXCEEDED + DEADLINE_EXCEEDED */ static constexpr int kDeadlineExceeded = 4; /** - * NOT_FOUND + NOT_FOUND */ static constexpr int kNotFound = 5; /** - * ALREADY_EXISTS + ALREADY_EXISTS */ static constexpr int kAlreadyExists = 6; /** - * PERMISSION_DENIED + PERMISSION_DENIED */ static constexpr int kPermissionDenied = 7; /** - * RESOURCE_EXHAUSTED + RESOURCE_EXHAUSTED */ static constexpr int kResourceExhausted = 8; /** - * FAILED_PRECONDITION + FAILED_PRECONDITION */ static constexpr int kFailedPrecondition = 9; /** - * ABORTED + ABORTED */ static constexpr int kAborted = 10; /** - * OUT_OF_RANGE + OUT_OF_RANGE */ static constexpr int kOutOfRange = 11; /** - * UNIMPLEMENTED + UNIMPLEMENTED */ static constexpr int kUnimplemented = 12; /** - * INTERNAL + INTERNAL */ static constexpr int kInternal = 13; /** - * UNAVAILABLE + UNAVAILABLE */ static constexpr int kUnavailable = 14; /** - * DATA_LOSS + DATA_LOSS */ static constexpr int kDataLoss = 15; /** - * UNAUTHENTICATED + UNAUTHENTICATED */ static constexpr int kUnauthenticated = 16; @@ -323,12 +323,12 @@ static constexpr int kUnauthenticated = 16; namespace RpcMessageTypeValues { /** - * none + none */ static constexpr const char *kSent = "SENT"; /** - * none + none */ static constexpr const char *kReceived = "RECEIVED"; @@ -337,27 +337,27 @@ static constexpr const char *kReceived = "RECEIVED"; namespace RpcSystemValues { /** - * gRPC + gRPC */ static constexpr const char *kGrpc = "grpc"; /** - * Java RMI + Java RMI */ static constexpr const char *kJavaRmi = "java_rmi"; /** - * .NET WCF + .NET WCF */ static constexpr const char *kDotnetWcf = "dotnet_wcf"; /** - * Apache Dubbo + Apache Dubbo */ static constexpr const char *kApacheDubbo = "apache_dubbo"; /** - * Connect RPC + Connect RPC */ static constexpr const char *kConnectRpc = "connect_rpc"; diff --git a/api/include/opentelemetry/semconv/incubating/rpc_metrics.h b/api/include/opentelemetry/semconv/incubating/rpc_metrics.h index 4996ebf859..a337142ef3 100644 --- a/api/include/opentelemetry/semconv/incubating/rpc_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/rpc_metrics.h @@ -21,14 +21,14 @@ namespace rpc { /** - * Measures the duration of outbound RPC. - *

- * While streaming RPCs may record this metric as start-of-batch - * to end-of-batch, it's hard to interpret in practice. - *

- * Streaming: N/A. - *

- * histogram + Measures the duration of outbound RPC. +

+ While streaming RPCs may record this metric as start-of-batch + to end-of-batch, it's hard to interpret in practice. +

+ Streaming: N/A. +

+ histogram */ static constexpr const char *kMetricRpcClientDuration = "rpc.client.duration"; static constexpr const char *descrMetricRpcClientDuration = @@ -50,11 +50,11 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Measures the size of RPC request messages (uncompressed). - *

- * Streaming: Recorded per message in a streaming batch - *

- * histogram + Measures the size of RPC request messages (uncompressed). +

+ Streaming: Recorded per message in a streaming batch +

+ histogram */ static constexpr const char *kMetricRpcClientRequestSize = "rpc.client.request.size"; static constexpr const char *descrMetricRpcClientRequestSize = @@ -76,13 +76,13 @@ CreateSyncDoubleMetricRpcClientRequestSize(metrics::Meter *meter) } /** - * Measures the number of messages received per RPC. - *

- * Should be 1 for all non-streaming RPCs. - *

- * Streaming: This metric is required for server and client streaming RPCs - *

- * histogram + Measures the number of messages received per RPC. +

+ Should be 1 for all non-streaming RPCs. +

+ Streaming: This metric is required for server and client streaming RPCs +

+ histogram */ static constexpr const char *kMetricRpcClientRequestsPerRpc = "rpc.client.requests_per_rpc"; static constexpr const char *descrMetricRpcClientRequestsPerRpc = @@ -106,11 +106,11 @@ CreateSyncDoubleMetricRpcClientRequestsPerRpc(metrics::Meter *meter) } /** - * Measures the size of RPC response messages (uncompressed). - *

- * Streaming: Recorded per response in a streaming batch - *

- * histogram + Measures the size of RPC response messages (uncompressed). +

+ Streaming: Recorded per response in a streaming batch +

+ histogram */ static constexpr const char *kMetricRpcClientResponseSize = "rpc.client.response.size"; static constexpr const char *descrMetricRpcClientResponseSize = @@ -134,13 +134,13 @@ CreateSyncDoubleMetricRpcClientResponseSize(metrics::Meter *meter) } /** - * Measures the number of messages sent per RPC. - *

- * Should be 1 for all non-streaming RPCs. - *

- * Streaming: This metric is required for server and client streaming RPCs - *

- * histogram + Measures the number of messages sent per RPC. +

+ Should be 1 for all non-streaming RPCs. +

+ Streaming: This metric is required for server and client streaming RPCs +

+ histogram */ static constexpr const char *kMetricRpcClientResponsesPerRpc = "rpc.client.responses_per_rpc"; static constexpr const char *descrMetricRpcClientResponsesPerRpc = @@ -164,14 +164,14 @@ CreateSyncDoubleMetricRpcClientResponsesPerRpc(metrics::Meter *meter) } /** - * Measures the duration of inbound RPC. - *

- * While streaming RPCs may record this metric as start-of-batch - * to end-of-batch, it's hard to interpret in practice. - *

- * Streaming: N/A. - *

- * histogram + Measures the duration of inbound RPC. +

+ While streaming RPCs may record this metric as start-of-batch + to end-of-batch, it's hard to interpret in practice. +

+ Streaming: N/A. +

+ histogram */ static constexpr const char *kMetricRpcServerDuration = "rpc.server.duration"; static constexpr const char *descrMetricRpcServerDuration = "Measures the duration of inbound RPC."; @@ -192,11 +192,11 @@ static inline nostd::unique_ptr> CreateSyncDoubleMetr } /** - * Measures the size of RPC request messages (uncompressed). - *

- * Streaming: Recorded per message in a streaming batch - *

- * histogram + Measures the size of RPC request messages (uncompressed). +

+ Streaming: Recorded per message in a streaming batch +

+ histogram */ static constexpr const char *kMetricRpcServerRequestSize = "rpc.server.request.size"; static constexpr const char *descrMetricRpcServerRequestSize = @@ -218,13 +218,13 @@ CreateSyncDoubleMetricRpcServerRequestSize(metrics::Meter *meter) } /** - * Measures the number of messages received per RPC. - *

- * Should be 1 for all non-streaming RPCs. - *

- * Streaming : This metric is required for server and client streaming RPCs - *

- * histogram + Measures the number of messages received per RPC. +

+ Should be 1 for all non-streaming RPCs. +

+ Streaming : This metric is required for server and client streaming RPCs +

+ histogram */ static constexpr const char *kMetricRpcServerRequestsPerRpc = "rpc.server.requests_per_rpc"; static constexpr const char *descrMetricRpcServerRequestsPerRpc = @@ -248,11 +248,11 @@ CreateSyncDoubleMetricRpcServerRequestsPerRpc(metrics::Meter *meter) } /** - * Measures the size of RPC response messages (uncompressed). - *

- * Streaming: Recorded per response in a streaming batch - *

- * histogram + Measures the size of RPC response messages (uncompressed). +

+ Streaming: Recorded per response in a streaming batch +

+ histogram */ static constexpr const char *kMetricRpcServerResponseSize = "rpc.server.response.size"; static constexpr const char *descrMetricRpcServerResponseSize = @@ -276,13 +276,13 @@ CreateSyncDoubleMetricRpcServerResponseSize(metrics::Meter *meter) } /** - * Measures the number of messages sent per RPC. - *

- * Should be 1 for all non-streaming RPCs. - *

- * Streaming: This metric is required for server and client streaming RPCs - *

- * histogram + Measures the number of messages sent per RPC. +

+ Should be 1 for all non-streaming RPCs. +

+ Streaming: This metric is required for server and client streaming RPCs +

+ histogram */ static constexpr const char *kMetricRpcServerResponsesPerRpc = "rpc.server.responses_per_rpc"; static constexpr const char *descrMetricRpcServerResponsesPerRpc = diff --git a/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h b/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h index 036cea7bf1..c010ebc0b2 100644 --- a/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h @@ -20,47 +20,47 @@ namespace security_rule { /** - * A categorization value keyword used by the entity using the rule for detection of this event + A categorization value keyword used by the entity using the rule for detection of this event */ static constexpr const char *kSecurityRuleCategory = "security_rule.category"; /** - * The description of the rule generating the event. + The description of the rule generating the event. */ static constexpr const char *kSecurityRuleDescription = "security_rule.description"; /** - * Name of the license under which the rule used to generate this event is made available. + Name of the license under which the rule used to generate this event is made available. */ static constexpr const char *kSecurityRuleLicense = "security_rule.license"; /** - * The name of the rule or signature generating the event. + The name of the rule or signature generating the event. */ static constexpr const char *kSecurityRuleName = "security_rule.name"; /** - * Reference URL to additional information about the rule used to generate this event. - *

- * The URL can point to the vendor’s documentation about the rule. If that’s not available, it can - * also be a link to a more general page describing this type of alert. + Reference URL to additional information about the rule used to generate this event. +

+ The URL can point to the vendor’s documentation about the rule. If that’s not available, it can + also be a link to a more general page describing this type of alert. */ static constexpr const char *kSecurityRuleReference = "security_rule.reference"; /** - * Name of the ruleset, policy, group, or parent category in which the rule used to generate this - * event is a member. + Name of the ruleset, policy, group, or parent category in which the rule used to generate this + event is a member. */ static constexpr const char *kSecurityRuleRulesetName = "security_rule.ruleset.name"; /** - * A rule ID that is unique within the scope of a set or group of agents, observers, or other - * entities using the rule for detection of this event. + A rule ID that is unique within the scope of a set or group of agents, observers, or other + entities using the rule for detection of this event. */ static constexpr const char *kSecurityRuleUuid = "security_rule.uuid"; /** - * The version / revision of the rule being used for analysis. + The version / revision of the rule being used for analysis. */ static constexpr const char *kSecurityRuleVersion = "security_rule.version"; diff --git a/api/include/opentelemetry/semconv/incubating/server_attributes.h b/api/include/opentelemetry/semconv/incubating/server_attributes.h index 21cb75d729..2d307614b6 100644 --- a/api/include/opentelemetry/semconv/incubating/server_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/server_attributes.h @@ -20,19 +20,19 @@ namespace server { /** - * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain - * socket name.

When observed from the client side, and when communicating through an - * intermediary, @code server.address @endcode SHOULD represent the server address behind any - * intermediaries, for example proxies, if it's available. + Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain + socket name.

When observed from the client side, and when communicating through an + intermediary, @code server.address @endcode SHOULD represent the server address behind any + intermediaries, for example proxies, if it's available. */ static constexpr const char *kServerAddress = "server.address"; /** - * Server port number. - *

- * When observed from the client side, and when communicating through an intermediary, @code - * server.port @endcode SHOULD represent the server port behind any intermediaries, for example - * proxies, if it's available. + Server port number. +

+ When observed from the client side, and when communicating through an intermediary, @code + server.port @endcode SHOULD represent the server port behind any intermediaries, for example + proxies, if it's available. */ static constexpr const char *kServerPort = "server.port"; diff --git a/api/include/opentelemetry/semconv/incubating/service_attributes.h b/api/include/opentelemetry/semconv/incubating/service_attributes.h index 4ff3f1ab97..3cc3f89401 100644 --- a/api/include/opentelemetry/semconv/incubating/service_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/service_attributes.h @@ -20,62 +20,62 @@ namespace service { /** - * The string ID of the service instance. - *

- * MUST be unique for each instance of the same @code service.namespace,service.name @endcode pair - * (in other words - * @code service.namespace,service.name,service.instance.id @endcode triplet MUST be globally - * unique). The ID helps to distinguish instances of the same service that exist at the same time - * (e.g. instances of a horizontally scaled service).

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

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

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

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

+ MUST be unique for each instance of the same @code service.namespace,service.name @endcode pair + (in other words + @code service.namespace,service.name,service.instance.id @endcode triplet MUST be globally + unique). The ID helps to distinguish instances of the same service that exist at the same time + (e.g. instances of a horizontally scaled service).

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

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

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

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

- * MUST be the same for all instances of horizontally scaled services. If the value was not - * specified, SDKs MUST fallback to @code unknown_service: @endcode concatenated with @code process.executable.name @endcode, e.g. @code unknown_service:bash - * @endcode. If @code process.executable.name @endcode is not available, the value MUST be set to - * @code unknown_service @endcode. + Logical name of the service. +

+ MUST be the same for all instances of horizontally scaled services. If the value was not + specified, SDKs MUST fallback to @code unknown_service: @endcode concatenated with @code process.executable.name @endcode, e.g. @code unknown_service:bash + @endcode. If @code process.executable.name @endcode is not available, the value MUST be set to + @code unknown_service @endcode. */ static constexpr const char *kServiceName = "service.name"; /** - * A namespace for @code service.name @endcode. - *

- * A string value having a meaning that helps to distinguish a group of services, for example the - * team name that owns a group of services. @code service.name @endcode is expected to be unique - * within the same namespace. If @code service.namespace @endcode is not specified in the Resource - * then @code service.name @endcode is expected to be unique for all services that have no explicit - * namespace defined (so the empty/unspecified namespace is simply one more valid namespace). - * Zero-length namespace string is assumed equal to unspecified namespace. + A namespace for @code service.name @endcode. +

+ A string value having a meaning that helps to distinguish a group of services, for example the + team name that owns a group of services. @code service.name @endcode is expected to be unique + within the same namespace. If @code service.namespace @endcode is not specified in the Resource + then @code service.name @endcode is expected to be unique for all services that have no explicit + namespace defined (so the empty/unspecified namespace is simply one more valid namespace). + Zero-length namespace string is assumed equal to unspecified namespace. */ static constexpr const char *kServiceNamespace = "service.namespace"; /** - * The version string of the service API or implementation. The format is not defined by these - * conventions. + The version string of the service API or implementation. The format is not defined by these + conventions. */ static constexpr const char *kServiceVersion = "service.version"; diff --git a/api/include/opentelemetry/semconv/incubating/session_attributes.h b/api/include/opentelemetry/semconv/incubating/session_attributes.h index abbe9446d6..06c23d8ce1 100644 --- a/api/include/opentelemetry/semconv/incubating/session_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/session_attributes.h @@ -20,12 +20,12 @@ namespace session { /** - * A unique id to identify a session. + A unique id to identify a session. */ static constexpr const char *kSessionId = "session.id"; /** - * The previous @code session.id @endcode for this user, when known. + The previous @code session.id @endcode for this user, when known. */ static constexpr const char *kSessionPreviousId = "session.previous_id"; diff --git a/api/include/opentelemetry/semconv/incubating/source_attributes.h b/api/include/opentelemetry/semconv/incubating/source_attributes.h index 06a6ddc2f6..ae52b27bcf 100644 --- a/api/include/opentelemetry/semconv/incubating/source_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/source_attributes.h @@ -20,15 +20,15 @@ namespace source { /** - * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or - * Unix domain socket name.

When observed from the destination side, and when communicating - * through an intermediary, @code source.address @endcode SHOULD represent the source address behind - * any intermediaries, for example proxies, if it's available. + Source address - domain name if available without reverse DNS lookup; otherwise, IP address or + Unix domain socket name.

When observed from the destination side, and when communicating + through an intermediary, @code source.address @endcode SHOULD represent the source address behind + any intermediaries, for example proxies, if it's available. */ static constexpr const char *kSourceAddress = "source.address"; /** - * Source port number + Source port number */ static constexpr const char *kSourcePort = "source.port"; diff --git a/api/include/opentelemetry/semconv/incubating/system_attributes.h b/api/include/opentelemetry/semconv/incubating/system_attributes.h index d2410baf5a..917d507b36 100644 --- a/api/include/opentelemetry/semconv/incubating/system_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/system_attributes.h @@ -20,85 +20,85 @@ namespace system { /** - * Deprecated, use @code cpu.logical_number @endcode instead. + Deprecated, use @code cpu.logical_number @endcode instead. */ static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number"; /** - * Deprecated, use @code cpu.mode @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} + Deprecated, use @code cpu.mode @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemCpuState = "system.cpu.state"; /** - * The device identifier + The device identifier */ static constexpr const char *kSystemDevice = "system.device"; /** - * The filesystem mode + The filesystem mode */ static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode"; /** - * The filesystem mount path + The filesystem mount path */ static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint"; /** - * The filesystem state + The filesystem state */ static constexpr const char *kSystemFilesystemState = "system.filesystem.state"; /** - * The filesystem type + The filesystem type */ static constexpr const char *kSystemFilesystemType = "system.filesystem.type"; /** - * The memory state + The memory state */ static constexpr const char *kSystemMemoryState = "system.memory.state"; /** - * Deprecated, use @code network.connection.state @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code network.connection.state @endcode.", "reason": "renamed", - * "renamed_to": "network.connection.state"} + Deprecated, use @code network.connection.state @endcode instead. + + @deprecated + {"note": "Replaced by @code network.connection.state @endcode.", "reason": "renamed", + "renamed_to": "network.connection.state"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemNetworkState = "system.network.state"; /** - * The paging access direction + The paging access direction */ static constexpr const char *kSystemPagingDirection = "system.paging.direction"; /** - * The memory paging state + The memory paging state */ static constexpr const char *kSystemPagingState = "system.paging.state"; /** - * The memory paging type + The memory paging type */ static constexpr const char *kSystemPagingType = "system.paging.type"; /** - * The process state, e.g., Linux Process State - * Codes + The process state, e.g., Linux Process State + Codes */ static constexpr const char *kSystemProcessStatus = "system.process.status"; /** - * Deprecated, use @code system.process.status @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code system.process.status @endcode.", "reason": "renamed", "renamed_to": - * "system.process.status"} + Deprecated, use @code system.process.status @endcode instead. + + @deprecated + {"note": "Replaced by @code system.process.status @endcode.", "reason": "renamed", "renamed_to": + "system.process.status"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemProcessesStatus = "system.processes.status"; @@ -106,37 +106,37 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemProcessesStatus = namespace SystemCpuStateValues { /** - * none + none */ static constexpr const char *kUser = "user"; /** - * none + none */ static constexpr const char *kSystem = "system"; /** - * none + none */ static constexpr const char *kNice = "nice"; /** - * none + none */ static constexpr const char *kIdle = "idle"; /** - * none + none */ static constexpr const char *kIowait = "iowait"; /** - * none + none */ static constexpr const char *kInterrupt = "interrupt"; /** - * none + none */ static constexpr const char *kSteal = "steal"; @@ -145,17 +145,17 @@ static constexpr const char *kSteal = "steal"; namespace SystemFilesystemStateValues { /** - * none + none */ static constexpr const char *kUsed = "used"; /** - * none + none */ static constexpr const char *kFree = "free"; /** - * none + none */ static constexpr const char *kReserved = "reserved"; @@ -164,32 +164,32 @@ static constexpr const char *kReserved = "reserved"; namespace SystemFilesystemTypeValues { /** - * none + none */ static constexpr const char *kFat32 = "fat32"; /** - * none + none */ static constexpr const char *kExfat = "exfat"; /** - * none + none */ static constexpr const char *kNtfs = "ntfs"; /** - * none + none */ static constexpr const char *kRefs = "refs"; /** - * none + none */ static constexpr const char *kHfsplus = "hfsplus"; /** - * none + none */ static constexpr const char *kExt4 = "ext4"; @@ -198,27 +198,27 @@ static constexpr const char *kExt4 = "ext4"; namespace SystemMemoryStateValues { /** - * none + none */ static constexpr const char *kUsed = "used"; /** - * none + none */ static constexpr const char *kFree = "free"; /** - * none + none */ static constexpr const char *kShared = "shared"; /** - * none + none */ static constexpr const char *kBuffers = "buffers"; /** - * none + none */ static constexpr const char *kCached = "cached"; @@ -227,62 +227,62 @@ static constexpr const char *kCached = "cached"; namespace SystemNetworkStateValues { /** - * none + none */ static constexpr const char *kClose = "close"; /** - * none + none */ static constexpr const char *kCloseWait = "close_wait"; /** - * none + none */ static constexpr const char *kClosing = "closing"; /** - * none + none */ static constexpr const char *kDelete = "delete"; /** - * none + none */ static constexpr const char *kEstablished = "established"; /** - * none + none */ static constexpr const char *kFinWait1 = "fin_wait_1"; /** - * none + none */ static constexpr const char *kFinWait2 = "fin_wait_2"; /** - * none + none */ static constexpr const char *kLastAck = "last_ack"; /** - * none + none */ static constexpr const char *kListen = "listen"; /** - * none + none */ static constexpr const char *kSynRecv = "syn_recv"; /** - * none + none */ static constexpr const char *kSynSent = "syn_sent"; /** - * none + none */ static constexpr const char *kTimeWait = "time_wait"; @@ -291,12 +291,12 @@ static constexpr const char *kTimeWait = "time_wait"; namespace SystemPagingDirectionValues { /** - * none + none */ static constexpr const char *kIn = "in"; /** - * none + none */ static constexpr const char *kOut = "out"; @@ -305,12 +305,12 @@ static constexpr const char *kOut = "out"; namespace SystemPagingStateValues { /** - * none + none */ static constexpr const char *kUsed = "used"; /** - * none + none */ static constexpr const char *kFree = "free"; @@ -319,12 +319,12 @@ static constexpr const char *kFree = "free"; namespace SystemPagingTypeValues { /** - * none + none */ static constexpr const char *kMajor = "major"; /** - * none + none */ static constexpr const char *kMinor = "minor"; @@ -333,22 +333,22 @@ static constexpr const char *kMinor = "minor"; namespace SystemProcessStatusValues { /** - * none + none */ static constexpr const char *kRunning = "running"; /** - * none + none */ static constexpr const char *kSleeping = "sleeping"; /** - * none + none */ static constexpr const char *kStopped = "stopped"; /** - * none + none */ static constexpr const char *kDefunct = "defunct"; @@ -357,22 +357,22 @@ static constexpr const char *kDefunct = "defunct"; namespace SystemProcessesStatusValues { /** - * none + none */ static constexpr const char *kRunning = "running"; /** - * none + none */ static constexpr const char *kSleeping = "sleeping"; /** - * none + none */ static constexpr const char *kStopped = "stopped"; /** - * none + none */ static constexpr const char *kDefunct = "defunct"; diff --git a/api/include/opentelemetry/semconv/incubating/system_metrics.h b/api/include/opentelemetry/semconv/incubating/system_metrics.h index a72e7a7803..a6e01ea75b 100644 --- a/api/include/opentelemetry/semconv/incubating/system_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/system_metrics.h @@ -21,11 +21,11 @@ namespace system { /** - * Deprecated. Use @code cpu.frequency @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.frequency @endcode.", "reason": "renamed", "renamed_to": - * "cpu.frequency"}

gauge + Deprecated. Use @code cpu.frequency @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.frequency @endcode.", "reason": "renamed", "renamed_to": + "cpu.frequency"}

gauge */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricSystemCpuFrequency = "system.cpu.frequency"; @@ -65,9 +65,9 @@ CreateAsyncDoubleMetricSystemCpuFrequency(metrics::Meter *meter) } /** - * Reports the number of logical (virtual) processor cores created by the operating system to manage - * multitasking

Calculated by multiplying the number of sockets by the number of cores per - * socket, and then by the number of threads per core

updowncounter + Reports the number of logical (virtual) processor cores created by the operating system to manage + multitasking

Calculated by multiplying the number of sockets by the number of cores per + socket, and then by the number of threads per core

updowncounter */ static constexpr const char *kMetricSystemCpuLogicalCount = "system.cpu.logical.count"; static constexpr const char *descrMetricSystemCpuLogicalCount = @@ -108,11 +108,11 @@ CreateAsyncDoubleMetricSystemCpuLogicalCount(metrics::Meter *meter) } /** - * Reports the number of actual physical processor cores on the hardware - *

- * Calculated by multiplying the number of sockets by the number of cores per socket - *

- * updowncounter + Reports the number of actual physical processor cores on the hardware +

+ Calculated by multiplying the number of sockets by the number of cores per socket +

+ updowncounter */ static constexpr const char *kMetricSystemCpuPhysicalCount = "system.cpu.physical.count"; static constexpr const char *descrMetricSystemCpuPhysicalCount = @@ -152,12 +152,12 @@ CreateAsyncDoubleMetricSystemCpuPhysicalCount(metrics::Meter *meter) } /** - * Deprecated. Use @code cpu.time @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.time @endcode.", "reason": "renamed", "renamed_to": "cpu.time"} - *

- * counter + Deprecated. Use @code cpu.time @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.time @endcode.", "reason": "renamed", "renamed_to": "cpu.time"} +

+ counter */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricSystemCpuTime = "system.cpu.time"; OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricSystemCpuTime = @@ -193,11 +193,11 @@ CreateAsyncDoubleMetricSystemCpuTime(metrics::Meter *meter) } /** - * Deprecated. Use @code cpu.utilization @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code cpu.utilization @endcode.", "reason": "renamed", "renamed_to": - * "cpu.utilization"}

gauge + Deprecated. Use @code cpu.utilization @endcode instead. + + @deprecated + {"note": "Replaced by @code cpu.utilization @endcode.", "reason": "renamed", "renamed_to": + "cpu.utilization"}

gauge */ OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricSystemCpuUtilization = "system.cpu.utilization"; @@ -237,7 +237,7 @@ CreateAsyncDoubleMetricSystemCpuUtilization(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemDiskIo = "system.disk.io"; static constexpr const char *descrMetricSystemDiskIo = ""; @@ -272,18 +272,18 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * Time disk spent activated - *

- * The real elapsed time ("wall clock") used in the I/O path (time from operations running in - * parallel are not counted). Measured as:

- *

- * counter + Time disk spent activated +

+ The real elapsed time ("wall clock") used in the I/O path (time from operations running in + parallel are not counted). Measured as:

+

+ counter */ static constexpr const char *kMetricSystemDiskIoTime = "system.disk.io_time"; static constexpr const char *descrMetricSystemDiskIoTime = "Time disk spent activated"; @@ -318,9 +318,9 @@ CreateAsyncDoubleMetricSystemDiskIoTime(metrics::Meter *meter) } /** - * The total storage capacity of the disk - *

- * updowncounter + The total storage capacity of the disk +

+ updowncounter */ static constexpr const char *kMetricSystemDiskLimit = "system.disk.limit"; static constexpr const char *descrMetricSystemDiskLimit = "The total storage capacity of the disk"; @@ -355,7 +355,7 @@ CreateAsyncDoubleMetricSystemDiskLimit(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemDiskMerged = "system.disk.merged"; static constexpr const char *descrMetricSystemDiskMerged = ""; @@ -390,16 +390,16 @@ CreateAsyncDoubleMetricSystemDiskMerged(metrics::Meter *meter) } /** - * Sum of the time each operation took to complete - *

- * Because it is the sum of time each request took, parallel-issued requests each contribute to make - * the count grow. Measured as:

  • Linux: Fields 7 & 11 from procfs-diskstats
  • - *
  • Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter - * (similar for Writes)
  • - *
- *

- * counter + Sum of the time each operation took to complete +

+ Because it is the sum of time each request took, parallel-issued requests each contribute to make + the count grow. Measured as:

  • Linux: Fields 7 & 11 from procfs-diskstats
  • +
  • Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter + (similar for Writes)
  • +
+

+ counter */ static constexpr const char *kMetricSystemDiskOperationTime = "system.disk.operation_time"; static constexpr const char *descrMetricSystemDiskOperationTime = @@ -439,7 +439,7 @@ CreateAsyncDoubleMetricSystemDiskOperationTime(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemDiskOperations = "system.disk.operations"; static constexpr const char *descrMetricSystemDiskOperations = ""; @@ -474,9 +474,9 @@ CreateAsyncDoubleMetricSystemDiskOperations(metrics::Meter *meter) } /** - * The total storage capacity of the filesystem - *

- * updowncounter + The total storage capacity of the filesystem +

+ updowncounter */ static constexpr const char *kMetricSystemFilesystemLimit = "system.filesystem.limit"; static constexpr const char *descrMetricSystemFilesystemLimit = @@ -516,11 +516,11 @@ CreateAsyncDoubleMetricSystemFilesystemLimit(metrics::Meter *meter) } /** - * Reports a filesystem's space usage across different states. - *

- * The sum of all @code system.filesystem.usage @endcode values over the different @code - * system.filesystem.state @endcode attributes SHOULD equal the total storage capacity of the - * filesystem, that is @code system.filesystem.limit @endcode.

updowncounter + Reports a filesystem's space usage across different states. +

+ The sum of all @code system.filesystem.usage @endcode values over the different @code + system.filesystem.state @endcode attributes SHOULD equal the total storage capacity of the + filesystem, that is @code system.filesystem.limit @endcode.

updowncounter */ static constexpr const char *kMetricSystemFilesystemUsage = "system.filesystem.usage"; static constexpr const char *descrMetricSystemFilesystemUsage = @@ -560,7 +560,7 @@ CreateAsyncDoubleMetricSystemFilesystemUsage(metrics::Meter *meter) } /** - * gauge + gauge */ static constexpr const char *kMetricSystemFilesystemUtilization = "system.filesystem.utilization"; static constexpr const char *descrMetricSystemFilesystemUtilization = ""; @@ -602,13 +602,13 @@ CreateAsyncDoubleMetricSystemFilesystemUtilization(metrics::Meter *meter) } /** - * An estimate of how much memory is available for starting new applications, without causing - * swapping

This is an alternative to @code system.memory.usage @endcode metric with @code - * state=free @endcode. Linux starting from 3.14 exports "available" memory. It takes "free" memory - * as a baseline, and then factors in kernel-specific values. This is supposed to be more accurate - * than just "free" memory. For reference, see the calculations here. See also @code MemAvailable @endcode in /proc/meminfo.

updowncounter + An estimate of how much memory is available for starting new applications, without causing + swapping

This is an alternative to @code system.memory.usage @endcode metric with @code + state=free @endcode. Linux starting from 3.14 exports "available" memory. It takes "free" memory + as a baseline, and then factors in kernel-specific values. This is supposed to be more accurate + than just "free" memory. For reference, see the calculations here. See also @code MemAvailable @endcode in /proc/meminfo.

updowncounter */ static constexpr const char *kMetricSystemLinuxMemoryAvailable = "system.linux.memory.available"; static constexpr const char *descrMetricSystemLinuxMemoryAvailable = @@ -649,14 +649,15 @@ CreateAsyncDoubleMetricSystemLinuxMemoryAvailable(metrics::Meter *meter) } /** - * Reports the memory used by the Linux kernel for managing caches of frequently used objects. - *

- * The sum over the @code reclaimable @endcode and @code unreclaimable @endcode state values in - * @code linux.memory.slab.usage @endcode SHOULD be equal to the total slab memory available on the - * system. Note that the total slab memory is not constant and may vary over time. See also the Slab - * allocator and @code Slab @endcode in /proc/meminfo.

updowncounter + Reports the memory used by the Linux kernel for managing caches of frequently used objects. +

+ The sum over the @code reclaimable @endcode and @code unreclaimable @endcode state values in @code + linux.memory.slab.usage @endcode SHOULD be equal to the total slab memory available on the system. + Note that the total slab memory is not constant and may vary over time. + See also the Slab + allocator and @code Slab @endcode in /proc/meminfo.

updowncounter */ static constexpr const char *kMetricSystemLinuxMemorySlabUsage = "system.linux.memory.slab.usage"; static constexpr const char *descrMetricSystemLinuxMemorySlabUsage = @@ -696,11 +697,11 @@ CreateAsyncDoubleMetricSystemLinuxMemorySlabUsage(metrics::Meter *meter) } /** - * Total memory available in the system. - *

- * Its value SHOULD equal the sum of @code system.memory.state @endcode over all states. - *

- * updowncounter + Total memory available in the system. +

+ Its value SHOULD equal the sum of @code system.memory.state @endcode over all states. +

+ updowncounter */ static constexpr const char *kMetricSystemMemoryLimit = "system.memory.limit"; static constexpr const char *descrMetricSystemMemoryLimit = "Total memory available in the system."; @@ -735,12 +736,12 @@ CreateAsyncDoubleMetricSystemMemoryLimit(metrics::Meter *meter) } /** - * Shared memory used (mostly by tmpfs). - *

- * Equivalent of @code shared @endcode from @code free @endcode command or - * @code Shmem @endcode from @code - * /proc/meminfo @endcode"

updowncounter + Shared memory used (mostly by tmpfs). +

+ Equivalent of @code shared @endcode from @code free @endcode command or + @code Shmem @endcode from @code + /proc/meminfo @endcode"

updowncounter */ static constexpr const char *kMetricSystemMemoryShared = "system.memory.shared"; static constexpr const char *descrMetricSystemMemoryShared = @@ -776,12 +777,12 @@ CreateAsyncDoubleMetricSystemMemoryShared(metrics::Meter *meter) } /** - * Reports memory in use by state. - *

- * The sum over all @code system.memory.state @endcode values SHOULD equal the total memory - * available on the system, that is @code system.memory.limit @endcode. - *

- * updowncounter + Reports memory in use by state. +

+ The sum over all @code system.memory.state @endcode values SHOULD equal the total memory + available on the system, that is @code system.memory.limit @endcode. +

+ updowncounter */ static constexpr const char *kMetricSystemMemoryUsage = "system.memory.usage"; static constexpr const char *descrMetricSystemMemoryUsage = "Reports memory in use by state."; @@ -816,7 +817,7 @@ CreateAsyncDoubleMetricSystemMemoryUsage(metrics::Meter *meter) } /** - * gauge + gauge */ static constexpr const char *kMetricSystemMemoryUtilization = "system.memory.utilization"; static constexpr const char *descrMetricSystemMemoryUtilization = ""; @@ -857,7 +858,7 @@ CreateAsyncDoubleMetricSystemMemoryUtilization(metrics::Meter *meter) } /** - * updowncounter + updowncounter */ static constexpr const char *kMetricSystemNetworkConnections = "system.network.connections"; static constexpr const char *descrMetricSystemNetworkConnections = ""; @@ -896,20 +897,20 @@ CreateAsyncDoubleMetricSystemNetworkConnections(metrics::Meter *meter) } /** - * Count of packets that are dropped or discarded even though there was no error - *

- * Measured as: - *

- *

- * counter + Count of packets that are dropped or discarded even though there was no error +

+ Measured as: +

+

+ counter */ static constexpr const char *kMetricSystemNetworkDropped = "system.network.dropped"; static constexpr const char *descrMetricSystemNetworkDropped = @@ -945,20 +946,20 @@ CreateAsyncDoubleMetricSystemNetworkDropped(metrics::Meter *meter) } /** - * Count of network errors detected - *

- * Measured as: - *

- *

- * counter + Count of network errors detected +

+ Measured as: +

+

+ counter */ static constexpr const char *kMetricSystemNetworkErrors = "system.network.errors"; static constexpr const char *descrMetricSystemNetworkErrors = "Count of network errors detected"; @@ -993,7 +994,7 @@ CreateAsyncDoubleMetricSystemNetworkErrors(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemNetworkIo = "system.network.io"; static constexpr const char *descrMetricSystemNetworkIo = ""; @@ -1028,7 +1029,7 @@ CreateAsyncDoubleMetricSystemNetworkIo(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemNetworkPackets = "system.network.packets"; static constexpr const char *descrMetricSystemNetworkPackets = ""; @@ -1063,7 +1064,7 @@ CreateAsyncDoubleMetricSystemNetworkPackets(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemPagingFaults = "system.paging.faults"; static constexpr const char *descrMetricSystemPagingFaults = ""; @@ -1098,7 +1099,7 @@ CreateAsyncDoubleMetricSystemPagingFaults(metrics::Meter *meter) } /** - * counter + counter */ static constexpr const char *kMetricSystemPagingOperations = "system.paging.operations"; static constexpr const char *descrMetricSystemPagingOperations = ""; @@ -1137,9 +1138,9 @@ CreateAsyncDoubleMetricSystemPagingOperations(metrics::Meter *meter) } /** - * Unix swap or windows pagefile usage - *

- * updowncounter + Unix swap or windows pagefile usage +

+ updowncounter */ static constexpr const char *kMetricSystemPagingUsage = "system.paging.usage"; static constexpr const char *descrMetricSystemPagingUsage = "Unix swap or windows pagefile usage"; @@ -1174,7 +1175,7 @@ CreateAsyncDoubleMetricSystemPagingUsage(metrics::Meter *meter) } /** - * gauge + gauge */ static constexpr const char *kMetricSystemPagingUtilization = "system.paging.utilization"; static constexpr const char *descrMetricSystemPagingUtilization = ""; @@ -1215,9 +1216,9 @@ CreateAsyncDoubleMetricSystemPagingUtilization(metrics::Meter *meter) } /** - * Total number of processes in each state - *

- * updowncounter + Total number of processes in each state +

+ updowncounter */ static constexpr const char *kMetricSystemProcessCount = "system.process.count"; static constexpr const char *descrMetricSystemProcessCount = @@ -1253,9 +1254,9 @@ CreateAsyncDoubleMetricSystemProcessCount(metrics::Meter *meter) } /** - * Total number of processes created over uptime of the host - *

- * counter + Total number of processes created over uptime of the host +

+ counter */ static constexpr const char *kMetricSystemProcessCreated = "system.process.created"; static constexpr const char *descrMetricSystemProcessCreated = @@ -1291,11 +1292,11 @@ CreateAsyncDoubleMetricSystemProcessCreated(metrics::Meter *meter) } /** - * The time the system has been running - *

- * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds - * as a floating point number with the highest precision available. The actual accuracy would depend - * on the instrumentation and operating system.

gauge + The time the system has been running +

+ Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + as a floating point number with the highest precision available. The actual accuracy would depend + on the instrumentation and operating system.

gauge */ static constexpr const char *kMetricSystemUptime = "system.uptime"; static constexpr const char *descrMetricSystemUptime = "The time the system has been running"; diff --git a/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h b/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h index 5504febaba..7a34acefe2 100644 --- a/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h @@ -20,101 +20,101 @@ namespace telemetry { /** - * The name of the auto instrumentation agent or distribution, if used. - *

- * Official auto instrumentation agents and distributions SHOULD set the @code telemetry.distro.name - * @endcode attribute to a string starting with @code opentelemetry- @endcode, e.g. @code - * opentelemetry-java-instrumentation @endcode. + The name of the auto instrumentation agent or distribution, if used. +

+ Official auto instrumentation agents and distributions SHOULD set the @code telemetry.distro.name + @endcode attribute to a string starting with @code opentelemetry- @endcode, e.g. @code + opentelemetry-java-instrumentation @endcode. */ static constexpr const char *kTelemetryDistroName = "telemetry.distro.name"; /** - * The version string of the auto instrumentation agent or distribution, if used. + The version string of the auto instrumentation agent or distribution, if used. */ static constexpr const char *kTelemetryDistroVersion = "telemetry.distro.version"; /** - * The language of the telemetry SDK. + The language of the telemetry SDK. */ static constexpr const char *kTelemetrySdkLanguage = "telemetry.sdk.language"; /** - * The name of the telemetry SDK as defined above. - *

- * The OpenTelemetry SDK MUST set the @code telemetry.sdk.name @endcode attribute to @code - * opentelemetry @endcode. If another SDK, like a fork or a vendor-provided implementation, is used, - * this SDK MUST set the - * @code telemetry.sdk.name @endcode attribute to the fully-qualified class or module name of this - * SDK's main entry point or another suitable identifier depending on the language. The identifier - * @code opentelemetry @endcode is reserved and MUST NOT be used in this case. All custom - * identifiers SHOULD be stable across different versions of an implementation. + The name of the telemetry SDK as defined above. +

+ The OpenTelemetry SDK MUST set the @code telemetry.sdk.name @endcode attribute to @code + opentelemetry @endcode. If another SDK, like a fork or a vendor-provided implementation, is used, + this SDK MUST set the + @code telemetry.sdk.name @endcode attribute to the fully-qualified class or module name of this + SDK's main entry point or another suitable identifier depending on the language. The identifier + @code opentelemetry @endcode is reserved and MUST NOT be used in this case. All custom identifiers + SHOULD be stable across different versions of an implementation. */ static constexpr const char *kTelemetrySdkName = "telemetry.sdk.name"; /** - * The version string of the telemetry SDK. + The version string of the telemetry SDK. */ static constexpr const char *kTelemetrySdkVersion = "telemetry.sdk.version"; namespace TelemetrySdkLanguageValues { /** - * none + none */ static constexpr const char *kCpp = "cpp"; /** - * none + none */ static constexpr const char *kDotnet = "dotnet"; /** - * none + none */ static constexpr const char *kErlang = "erlang"; /** - * none + none */ static constexpr const char *kGo = "go"; /** - * none + none */ static constexpr const char *kJava = "java"; /** - * none + none */ static constexpr const char *kNodejs = "nodejs"; /** - * none + none */ static constexpr const char *kPhp = "php"; /** - * none + none */ static constexpr const char *kPython = "python"; /** - * none + none */ static constexpr const char *kRuby = "ruby"; /** - * none + none */ static constexpr const char *kRust = "rust"; /** - * none + none */ static constexpr const char *kSwift = "swift"; /** - * none + none */ static constexpr const char *kWebjs = "webjs"; diff --git a/api/include/opentelemetry/semconv/incubating/test_attributes.h b/api/include/opentelemetry/semconv/incubating/test_attributes.h index 228f0bb273..ede4e2348c 100644 --- a/api/include/opentelemetry/semconv/incubating/test_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/test_attributes.h @@ -20,35 +20,35 @@ namespace test { /** - * The fully qualified human readable name of the test case. + The fully qualified human readable name of the test + case. */ static constexpr const char *kTestCaseName = "test.case.name"; /** - * The status of the actual test case result from test execution. + The status of the actual test case result from test execution. */ static constexpr const char *kTestCaseResultStatus = "test.case.result.status"; /** - * The human readable name of a test suite. + The human readable name of a test suite. */ static constexpr const char *kTestSuiteName = "test.suite.name"; /** - * The status of the test suite run. + The status of the test suite run. */ static constexpr const char *kTestSuiteRunStatus = "test.suite.run.status"; namespace TestCaseResultStatusValues { /** - * pass + pass */ static constexpr const char *kPass = "pass"; /** - * fail + fail */ static constexpr const char *kFail = "fail"; @@ -57,32 +57,32 @@ static constexpr const char *kFail = "fail"; namespace TestSuiteRunStatusValues { /** - * success + success */ static constexpr const char *kSuccess = "success"; /** - * failure + failure */ static constexpr const char *kFailure = "failure"; /** - * skipped + skipped */ static constexpr const char *kSkipped = "skipped"; /** - * aborted + aborted */ static constexpr const char *kAborted = "aborted"; /** - * timed_out + timed_out */ static constexpr const char *kTimedOut = "timed_out"; /** - * in_progress + in_progress */ static constexpr const char *kInProgress = "in_progress"; diff --git a/api/include/opentelemetry/semconv/incubating/thread_attributes.h b/api/include/opentelemetry/semconv/incubating/thread_attributes.h index 8c053f8408..2d0c290651 100644 --- a/api/include/opentelemetry/semconv/incubating/thread_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/thread_attributes.h @@ -20,12 +20,12 @@ namespace thread { /** - * Current "managed" thread ID (as opposed to OS thread ID). + Current "managed" thread ID (as opposed to OS thread ID). */ static constexpr const char *kThreadId = "thread.id"; /** - * Current thread name. + Current thread name. */ static constexpr const char *kThreadName = "thread.name"; diff --git a/api/include/opentelemetry/semconv/incubating/tls_attributes.h b/api/include/opentelemetry/semconv/incubating/tls_attributes.h index 89e5ef052e..0deee289d0 100644 --- a/api/include/opentelemetry/semconv/incubating/tls_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/tls_attributes.h @@ -20,198 +20,198 @@ namespace tls { /** - * String indicating the cipher used during the - * current connection.

The values allowed for @code tls.cipher @endcode MUST be one of the @code - * Descriptions @endcode of the registered - * TLS Cipher Suits. + String indicating the cipher used during the + current connection.

The values allowed for @code tls.cipher @endcode MUST be one of the @code + Descriptions @endcode of the registered + TLS Cipher Suits. */ static constexpr const char *kTlsCipher = "tls.cipher"; /** - * PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of - * @code client.certificate_chain @endcode since this value also exists in that list. + PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of + @code client.certificate_chain @endcode since this value also exists in that list. */ static constexpr const char *kTlsClientCertificate = "tls.client.certificate"; /** - * Array of PEM-encoded certificates that make up the certificate chain offered by the client. This - * is usually mutually-exclusive of @code client.certificate @endcode since that value should be the - * first certificate in the chain. + Array of PEM-encoded certificates that make up the certificate chain offered by the client. This + is usually mutually-exclusive of @code client.certificate @endcode since that value should be the + first certificate in the chain. */ static constexpr const char *kTlsClientCertificateChain = "tls.client.certificate_chain"; /** - * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the - * client. For consistency with other hash values, this value should be formatted as an uppercase - * hash. + Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the + client. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsClientHashMd5 = "tls.client.hash.md5"; /** - * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by - * the client. For consistency with other hash values, this value should be formatted as an - * uppercase hash. + Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the + client. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsClientHashSha1 = "tls.client.hash.sha1"; /** - * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by - * the client. For consistency with other hash values, this value should be formatted as an - * uppercase hash. + Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by + the client. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsClientHashSha256 = "tls.client.hash.sha256"; /** - * Distinguished name of subject of the issuer of - * the x.509 certificate presented by the client. + Distinguished name of subject of the issuer of + the x.509 certificate presented by the client. */ static constexpr const char *kTlsClientIssuer = "tls.client.issuer"; /** - * A hash that identifies clients based on how they perform an SSL/TLS handshake. + A hash that identifies clients based on how they perform an SSL/TLS handshake. */ static constexpr const char *kTlsClientJa3 = "tls.client.ja3"; /** - * Date/Time indicating when client certificate is no longer considered valid. + Date/Time indicating when client certificate is no longer considered valid. */ static constexpr const char *kTlsClientNotAfter = "tls.client.not_after"; /** - * Date/Time indicating when client certificate is first considered valid. + Date/Time indicating when client certificate is first considered valid. */ static constexpr const char *kTlsClientNotBefore = "tls.client.not_before"; /** - * Deprecated, use @code server.address @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": - * "server.address"} + Deprecated, use @code server.address @endcode instead. + + @deprecated + {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to": + "server.address"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kTlsClientServerName = "tls.client.server_name"; /** - * Distinguished name of subject of the x.509 certificate presented by the client. + Distinguished name of subject of the x.509 certificate presented by the client. */ static constexpr const char *kTlsClientSubject = "tls.client.subject"; /** - * Array of ciphers offered by the client during the client hello. + Array of ciphers offered by the client during the client hello. */ static constexpr const char *kTlsClientSupportedCiphers = "tls.client.supported_ciphers"; /** - * String indicating the curve used for the given cipher, when applicable + String indicating the curve used for the given cipher, when applicable */ static constexpr const char *kTlsCurve = "tls.curve"; /** - * Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted - * tunnel. + Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted + tunnel. */ static constexpr const char *kTlsEstablished = "tls.established"; /** - * String indicating the protocol being tunneled. Per the values in the IANA - * registry, this string should be lower case. + String indicating the protocol being tunneled. Per the values in the IANA + registry, this string should be lower case. */ static constexpr const char *kTlsNextProtocol = "tls.next_protocol"; /** - * Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol - * version + Normalized lowercase protocol name parsed from original string of the negotiated SSL/TLS protocol + version */ static constexpr const char *kTlsProtocolName = "tls.protocol.name"; /** - * Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol - * version + Numeric part of the version parsed from the original string of the negotiated SSL/TLS protocol + version */ static constexpr const char *kTlsProtocolVersion = "tls.protocol.version"; /** - * Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation. + Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation. */ static constexpr const char *kTlsResumed = "tls.resumed"; /** - * PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of - * @code server.certificate_chain @endcode since this value also exists in that list. + PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of + @code server.certificate_chain @endcode since this value also exists in that list. */ static constexpr const char *kTlsServerCertificate = "tls.server.certificate"; /** - * Array of PEM-encoded certificates that make up the certificate chain offered by the server. This - * is usually mutually-exclusive of @code server.certificate @endcode since that value should be the - * first certificate in the chain. + Array of PEM-encoded certificates that make up the certificate chain offered by the server. This + is usually mutually-exclusive of @code server.certificate @endcode since that value should be the + first certificate in the chain. */ static constexpr const char *kTlsServerCertificateChain = "tls.server.certificate_chain"; /** - * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the - * server. For consistency with other hash values, this value should be formatted as an uppercase - * hash. + Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the + server. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsServerHashMd5 = "tls.server.hash.md5"; /** - * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by - * the server. For consistency with other hash values, this value should be formatted as an - * uppercase hash. + Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the + server. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsServerHashSha1 = "tls.server.hash.sha1"; /** - * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by - * the server. For consistency with other hash values, this value should be formatted as an - * uppercase hash. + Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by + the server. For consistency with other hash values, this value should be formatted as an uppercase + hash. */ static constexpr const char *kTlsServerHashSha256 = "tls.server.hash.sha256"; /** - * Distinguished name of subject of the issuer of - * the x.509 certificate presented by the client. + Distinguished name of subject of the issuer of + the x.509 certificate presented by the client. */ static constexpr const char *kTlsServerIssuer = "tls.server.issuer"; /** - * A hash that identifies servers based on how they perform an SSL/TLS handshake. + A hash that identifies servers based on how they perform an SSL/TLS handshake. */ static constexpr const char *kTlsServerJa3s = "tls.server.ja3s"; /** - * Date/Time indicating when server certificate is no longer considered valid. + Date/Time indicating when server certificate is no longer considered valid. */ static constexpr const char *kTlsServerNotAfter = "tls.server.not_after"; /** - * Date/Time indicating when server certificate is first considered valid. + Date/Time indicating when server certificate is first considered valid. */ static constexpr const char *kTlsServerNotBefore = "tls.server.not_before"; /** - * Distinguished name of subject of the x.509 certificate presented by the server. + Distinguished name of subject of the x.509 certificate presented by the server. */ static constexpr const char *kTlsServerSubject = "tls.server.subject"; namespace TlsProtocolNameValues { /** - * none + none */ static constexpr const char *kSsl = "ssl"; /** - * none + none */ static constexpr const char *kTls = "tls"; diff --git a/api/include/opentelemetry/semconv/incubating/url_attributes.h b/api/include/opentelemetry/semconv/incubating/url_attributes.h index 2646de430d..ed307e66c7 100644 --- a/api/include/opentelemetry/semconv/incubating/url_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/url_attributes.h @@ -20,151 +20,151 @@ namespace url { /** - * Domain extracted from the @code url.full @endcode, such as "opentelemetry.io". - *

- * In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, - * the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by - * @code [ @endcode and @code ] @endcode, the @code [ @endcode and @code ] @endcode characters - * should also be captured in the domain field. + Domain extracted from the @code url.full @endcode, such as "opentelemetry.io". +

+ In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case, + the IP address would go to the domain field. If the URL contains a literal IPv6 address enclosed by @code + [ @endcode and @code ] @endcode, the @code [ @endcode and @code ] @endcode characters should also + be captured in the domain field. */ static constexpr const char *kUrlDomain = "url.domain"; /** - * The file extension extracted from the @code url.full @endcode, excluding the leading dot. - *

- * The file extension is only set if it exists, as not every url has a file extension. When the file - * name has multiple extensions @code example.tar.gz @endcode, only the last one should be captured - * @code gz @endcode, not @code tar.gz @endcode. + The file extension extracted from the @code url.full @endcode, excluding the leading dot. +

+ The file extension is only set if it exists, as not every url has a file extension. When the file + name has multiple extensions @code example.tar.gz @endcode, only the last one should be captured + @code gz @endcode, not @code tar.gz @endcode. */ static constexpr const char *kUrlExtension = "url.extension"; /** - * The URI fragment component + The URI fragment component */ static constexpr const char *kUrlFragment = "url.fragment"; /** - * Absolute URL describing a network resource according to RFC3986

For network calls, URL usually has - * @code scheme://host[:port][path][?query][#fragment] @endcode format, where the fragment is not - * transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.

- * @code url.full @endcode MUST NOT contain credentials passed via URL in form of @code - * https://username:password@www.example.com/ @endcode. In such case username and password SHOULD be - * redacted and attribute's value SHOULD be @code https://REDACTED:REDACTED@www.example.com/ - * @endcode.

- * @code url.full @endcode SHOULD capture the absolute URL when it is available (or can be - * reconstructed).

Sensitive content provided in @code url.full @endcode SHOULD be scrubbed when - * instrumentations can identify it.

- * - * Query string values for the following keys SHOULD be redacted by default and replaced by the - * value @code REDACTED @endcode: - *

- *

- * This list is subject to change over time. - *

- * When a query string value is redacted, the query string key SHOULD still be preserved, e.g. - * @code https://www.example.com/path?color=blue&sig=REDACTED @endcode. + Absolute URL describing a network resource according to RFC3986

For network calls, URL usually has + @code scheme://host[:port][path][?query][#fragment] @endcode format, where the fragment is not + transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.

+ @code url.full @endcode MUST NOT contain credentials passed via URL in form of @code + https://username:password@www.example.com/ @endcode. In such case username and password SHOULD be + redacted and attribute's value SHOULD be @code https://REDACTED:REDACTED@www.example.com/ + @endcode.

+ @code url.full @endcode SHOULD capture the absolute URL when it is available (or can be + reconstructed).

Sensitive content provided in @code url.full @endcode SHOULD be scrubbed when + instrumentations can identify it.

+ + Query string values for the following keys SHOULD be redacted by default and replaced by the + value @code REDACTED @endcode: +

+

+ This list is subject to change over time. +

+ When a query string value is redacted, the query string key SHOULD still be preserved, e.g. + @code https://www.example.com/path?color=blue&sig=REDACTED @endcode. */ static constexpr const char *kUrlFull = "url.full"; /** - * Unmodified original URL as seen in the event source. - *

- * In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is - * often just represented as a path. This field is meant to represent the URL as it was observed, - * complete or not. - * @code url.original @endcode might contain credentials passed via URL in form of @code - * https://username:password@www.example.com/ @endcode. In such case password and username SHOULD - * NOT be redacted and attribute's value SHOULD remain the same. + Unmodified original URL as seen in the event source. +

+ In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is + often just represented as a path. This field is meant to represent the URL as it was observed, + complete or not. + @code url.original @endcode might contain credentials passed via URL in form of @code + https://username:password@www.example.com/ @endcode. In such case password and username SHOULD NOT + be redacted and attribute's value SHOULD remain the same. */ static constexpr const char *kUrlOriginal = "url.original"; /** - * The URI path component - *

- * Sensitive content provided in @code url.path @endcode SHOULD be scrubbed when instrumentations - * can identify it. + The URI path component +

+ Sensitive content provided in @code url.path @endcode SHOULD be scrubbed when instrumentations can + identify it. */ static constexpr const char *kUrlPath = "url.path"; /** - * Port extracted from the @code url.full @endcode + Port extracted from the @code url.full @endcode */ static constexpr const char *kUrlPort = "url.port"; /** - * The URI query component - *

- * Sensitive content provided in @code url.query @endcode SHOULD be scrubbed when instrumentations - * can identify it.

- * - * Query string values for the following keys SHOULD be redacted by default and replaced by the - * value @code REDACTED @endcode:

- *

- * This list is subject to change over time. - *

- * When a query string value is redacted, the query string key SHOULD still be preserved, e.g. - * @code q=OpenTelemetry&sig=REDACTED @endcode. + The URI query component +

+ Sensitive content provided in @code url.query @endcode SHOULD be scrubbed when instrumentations + can identify it.

+ + Query string values for the following keys SHOULD be redacted by default and replaced by the value + @code REDACTED @endcode:

+

+ This list is subject to change over time. +

+ When a query string value is redacted, the query string key SHOULD still be preserved, e.g. + @code q=OpenTelemetry&sig=REDACTED @endcode. */ static constexpr const char *kUrlQuery = "url.query"; /** - * The highest registered url domain, stripped of the subdomain. - *

- * This value can be determined precisely with the public suffix - * list. For example, the registered domain for @code foo.example.com @endcode is @code - * example.com @endcode. Trying to approximate this by simply taking the last two labels will not - * work well for TLDs such as @code co.uk @endcode. + The highest registered url domain, stripped of the subdomain. +

+ This value can be determined precisely with the public suffix + list. For example, the registered domain for @code foo.example.com @endcode is @code + example.com @endcode. Trying to approximate this by simply taking the last two labels will not + work well for TLDs such as @code co.uk @endcode. */ static constexpr const char *kUrlRegisteredDomain = "url.registered_domain"; /** - * The URI scheme component - * identifying the used protocol. + The URI scheme component + identifying the used protocol. */ static constexpr const char *kUrlScheme = "url.scheme"; /** - * The subdomain portion of a fully qualified domain name includes all of the names except the host - * name under the registered_domain. In a partially qualified domain, or if the qualification level - * of the full name cannot be determined, subdomain contains all of the names below the registered - * domain.

The subdomain portion of @code www.east.mydomain.co.uk @endcode is @code east - * @endcode. If the domain has multiple levels of subdomain, such as @code sub2.sub1.example.com - * @endcode, the subdomain field should contain @code sub2.sub1 @endcode, with no trailing period. + The subdomain portion of a fully qualified domain name includes all of the names except the host + name under the registered_domain. In a partially qualified domain, or if the qualification level + of the full name cannot be determined, subdomain contains all of the names below the registered + domain.

The subdomain portion of @code www.east.mydomain.co.uk @endcode is @code east + @endcode. If the domain has multiple levels of subdomain, such as @code sub2.sub1.example.com + @endcode, the subdomain field should contain @code sub2.sub1 @endcode, with no trailing period. */ static constexpr const char *kUrlSubdomain = "url.subdomain"; /** - * The low-cardinality template of an absolute path reference. + 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 @endcode.

This - * value can be determined precisely with the public suffix - * list. + 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 @endcode.

This + value can be determined precisely with the public suffix + list. */ static constexpr const char *kUrlTopLevelDomain = "url.top_level_domain"; diff --git a/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h b/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h index 2eb01ffc6b..f3c59a691e 100644 --- a/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h @@ -20,69 +20,68 @@ namespace user_agent { /** - * Name of the user-agent extracted from original. Usually refers to the browser's name. - *

- * Example of extracting browser's name from original - * string. In the case of using a user-agent for non-browser products, such as microservices with - * multiple names/versions inside the @code user_agent.original @endcode, the most significant name - * SHOULD be selected. In such a scenario it should align with @code user_agent.version @endcode + Name of the user-agent extracted from original. Usually refers to the browser's name. +

+ Example of extracting browser's name from original + string. In the case of using a user-agent for non-browser products, such as microservices with + multiple names/versions inside the @code user_agent.original @endcode, the most significant name + SHOULD be selected. In such a scenario it should align with @code user_agent.version @endcode */ static constexpr const char *kUserAgentName = "user_agent.name"; /** - * Value of the HTTP - * User-Agent header sent by the client. + Value of the HTTP + User-Agent header sent by the client. */ static constexpr const char *kUserAgentOriginal = "user_agent.original"; /** - * Human readable operating system name. - *

- * For mapping user agent strings to OS names, libraries such as ua-parser can be utilized. + Human readable operating system name. +

+ For mapping user agent strings to OS names, libraries such as ua-parser can be utilized. */ static constexpr const char *kUserAgentOsName = "user_agent.os.name"; /** - * The version string of the operating system as defined in Version Attributes.

For mapping user - * agent strings to OS versions, libraries such as ua-parser can be utilized. + The version string of the operating system as defined in Version Attributes.

For mapping user + agent strings to OS versions, libraries such as ua-parser can be utilized. */ static constexpr const char *kUserAgentOsVersion = "user_agent.os.version"; /** - * Specifies the category of synthetic traffic, such as tests or bots. - *

- * This attribute MAY be derived from the contents of the @code user_agent.original @endcode - * attribute. Components that populate the attribute are responsible for determining what they - * consider to be synthetic bot or test traffic. This attribute can either be set for - * self-identification purposes, or on telemetry detected to be generated as a result of a synthetic - * request. This attribute is useful for distinguishing between genuine client traffic and synthetic - * traffic generated by bots or tests. + Specifies the category of synthetic traffic, such as tests or bots. +

+ This attribute MAY be derived from the contents of the @code user_agent.original @endcode + attribute. Components that populate the attribute are responsible for determining what they + consider to be synthetic bot or test traffic. This attribute can either be set for + self-identification purposes, or on telemetry detected to be generated as a result of a synthetic + request. This attribute is useful for distinguishing between genuine client traffic and synthetic + traffic generated by bots or tests. */ static constexpr const char *kUserAgentSyntheticType = "user_agent.synthetic.type"; /** - * Version of the user-agent extracted from original. Usually refers to the browser's version - *

- * Example of extracting browser's version from original - * string. In the case of using a user-agent for non-browser products, such as microservices with - * multiple names/versions inside the @code user_agent.original @endcode, the most significant - * version SHOULD be selected. In such a scenario it should align with @code user_agent.name - * @endcode + Version of the user-agent extracted from original. Usually refers to the browser's version +

+ Example of extracting browser's version from original + string. In the case of using a user-agent for non-browser products, such as microservices with + multiple names/versions inside the @code user_agent.original @endcode, the most significant + version SHOULD be selected. In such a scenario it should align with @code user_agent.name @endcode */ static constexpr const char *kUserAgentVersion = "user_agent.version"; namespace UserAgentSyntheticTypeValues { /** - * Bot source. + Bot source. */ static constexpr const char *kBot = "bot"; /** - * Synthetic test source. + Synthetic test source. */ static constexpr const char *kTest = "test"; diff --git a/api/include/opentelemetry/semconv/incubating/user_attributes.h b/api/include/opentelemetry/semconv/incubating/user_attributes.h index cc5a80d069..c1cc752bd0 100644 --- a/api/include/opentelemetry/semconv/incubating/user_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/user_attributes.h @@ -20,35 +20,35 @@ namespace user { /** - * User email address. + User email address. */ static constexpr const char *kUserEmail = "user.email"; /** - * User's full name + User's full name */ static constexpr const char *kUserFullName = "user.full_name"; /** - * Unique user hash to correlate information for a user in anonymized form. - *

- * Useful if @code user.id @endcode or @code user.name @endcode contain confidential information and - * cannot be used. + Unique user hash to correlate information for a user in anonymized form. +

+ Useful if @code user.id @endcode or @code user.name @endcode contain confidential information and + cannot be used. */ static constexpr const char *kUserHash = "user.hash"; /** - * Unique identifier of the user. + Unique identifier of the user. */ static constexpr const char *kUserId = "user.id"; /** - * Short name or login/username of the user. + Short name or login/username of the user. */ static constexpr const char *kUserName = "user.name"; /** - * Array of user roles at the time of the event. + Array of user roles at the time of the event. */ static constexpr const char *kUserRoles = "user.roles"; diff --git a/api/include/opentelemetry/semconv/incubating/vcs_attributes.h b/api/include/opentelemetry/semconv/incubating/vcs_attributes.h index e255bb7b2e..5a0f31952f 100644 --- a/api/include/opentelemetry/semconv/incubating/vcs_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/vcs_attributes.h @@ -20,209 +20,207 @@ namespace vcs { /** - * The ID of the change (pull request/merge request/changelist) if applicable. This is usually a - * unique (within repository) identifier generated by the VCS system. + The ID of the change (pull request/merge request/changelist) if applicable. This is usually a + unique (within repository) identifier generated by the VCS system. */ static constexpr const char *kVcsChangeId = "vcs.change.id"; /** - * The state of the change (pull request/merge request/changelist). + The state of the change (pull request/merge request/changelist). */ static constexpr const char *kVcsChangeState = "vcs.change.state"; /** - * The human readable title of the change (pull request/merge request/changelist). This title is - * often a brief summary of the change and may get merged in to a ref as the commit summary. + The human readable title of the change (pull request/merge request/changelist). This title is + often a brief summary of the change and may get merged in to a ref as the commit summary. */ static constexpr const char *kVcsChangeTitle = "vcs.change.title"; /** - * The type of line change being measured on a branch or change. + The type of line change being measured on a branch or change. */ static constexpr const char *kVcsLineChangeType = "vcs.line_change.type"; /** - * The group owner within the version control system. + The group owner within the version control system. */ static constexpr const char *kVcsOwnerName = "vcs.owner.name"; /** - * The name of the version control system provider. + The name of the version control system provider. */ static constexpr const char *kVcsProviderName = "vcs.provider.name"; /** - * The name of the reference such as - * branch or tag in the repository.

- * @code base @endcode refers to the starting point of a change. For example, @code main @endcode - * would be the base reference of type branch if you've created a new - * reference of type branch from it and created new commits. + The name of the reference such as + branch or tag in the repository.

+ @code base @endcode refers to the starting point of a change. For example, @code main @endcode + would be the base reference of type branch if you've created a new + reference of type branch from it and created new commits. */ static constexpr const char *kVcsRefBaseName = "vcs.ref.base.name"; /** - * The revision, literally revised - * version, The revision most often refers to a commit object in Git, or a revision number in - * SVN.

- * @code base @endcode refers to the starting point of a change. For example, @code main @endcode - * would be the base reference of type branch if you've created a new - * reference of type branch from it and created new commits. The - * revision can be a full hash - * value (see glossary), of the recorded change to a ref within a repository pointing to a - * commit commit object. It does - * not necessarily have to be a hash; it can simply define a revision number - * which is an integer that is monotonically increasing. In cases where - * it is identical to the @code ref.base.name @endcode, it SHOULD still be included. - * It is up to the implementer to decide which value to set as the - * revision based on the VCS system and situational context. + The revision, literally revised + version, The revision most often refers to a commit object in Git, or a revision number in + SVN.

+ @code base @endcode refers to the starting point of a change. For example, @code main @endcode + would be the base reference of type branch if you've created a new + reference of type branch from it and created new commits. The + revision can be a full hash + value (see glossary), of the recorded change to a ref within a repository pointing to a commit + commit object. It does not necessarily have to + be a hash; it can simply define a revision number which + is an integer that is monotonically increasing. In cases where it is identical to the @code + ref.base.name @endcode, it SHOULD still be included. It is up to the implementer to decide which + value to set as the revision based on the VCS system and situational context. */ static constexpr const char *kVcsRefBaseRevision = "vcs.ref.base.revision"; /** - * The type of the reference in the - * repository.

- * @code base @endcode refers to the starting point of a change. For example, @code main @endcode - * would be the base reference of type branch if you've created a new - * reference of type branch from it and created new commits. + The type of the reference in the + repository.

+ @code base @endcode refers to the starting point of a change. For example, @code main @endcode + would be the base reference of type branch if you've created a new + reference of type branch from it and created new commits. */ static constexpr const char *kVcsRefBaseType = "vcs.ref.base.type"; /** - * The name of the reference such as - * branch or tag in the repository.

- * @code head @endcode refers to where you are right now; the current reference at a - * given time. + The name of the reference such as + branch or tag in the repository.

+ @code head @endcode refers to where you are right now; the current reference at a + given time. */ static constexpr const char *kVcsRefHeadName = "vcs.ref.head.name"; /** - * The revision, literally revised - * version, The revision most often refers to a commit object in Git, or a revision number in - * SVN.

- * @code head @endcode refers to where you are right now; the current reference at a - * given time.The revision can be a full hash value (see glossary), - * of the recorded change to a ref within a repository pointing to a - * commit commit object. It does - * not necessarily have to be a hash; it can simply define a revision number - * which is an integer that is monotonically increasing. In cases where - * it is identical to the @code ref.head.name @endcode, it SHOULD still be included. - * It is up to the implementer to decide which value to set as the - * revision based on the VCS system and situational context. + The revision, literally revised + version, The revision most often refers to a commit object in Git, or a revision number in + SVN.

+ @code head @endcode refers to where you are right now; the current reference at a + given time.The revision can be a full hash value (see glossary), + of the recorded change to a ref within a repository pointing to a + commit commit object. It does + not necessarily have to be a hash; it can simply define a revision number which + is an integer that is monotonically increasing. In cases where it is identical to the @code + ref.head.name @endcode, it SHOULD still be included. It is up to the implementer to decide which + value to set as the revision based on the VCS system and situational context. */ static constexpr const char *kVcsRefHeadRevision = "vcs.ref.head.revision"; /** - * The type of the reference in the - * repository.

- * @code head @endcode refers to where you are right now; the current reference at a - * given time. + The type of the reference in the + repository.

+ @code head @endcode refers to where you are right now; the current reference at a + given time. */ static constexpr const char *kVcsRefHeadType = "vcs.ref.head.type"; /** - * The type of the reference in the - * repository. + The type of the reference in the + repository. */ static constexpr const char *kVcsRefType = "vcs.ref.type"; /** - * Deprecated, use @code vcs.change.id @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code vcs.change.id @endcode.", "reason": "renamed", "renamed_to": - * "vcs.change.id"} + Deprecated, use @code vcs.change.id @endcode instead. + + @deprecated + {"note": "Replaced by @code vcs.change.id @endcode.", "reason": "renamed", "renamed_to": + "vcs.change.id"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kVcsRepositoryChangeId = "vcs.repository.change.id"; /** - * Deprecated, use @code vcs.change.title @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code vcs.change.title @endcode.", "reason": "renamed", "renamed_to": - * "vcs.change.title"} + Deprecated, use @code vcs.change.title @endcode instead. + + @deprecated + {"note": "Replaced by @code vcs.change.title @endcode.", "reason": "renamed", "renamed_to": + "vcs.change.title"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kVcsRepositoryChangeTitle = "vcs.repository.change.title"; /** - * The human readable name of the repository. It SHOULD NOT include any additional identifier like - * Group/SubGroup in GitLab or organization in GitHub.

Due to it only being the name, it can - * clash with forks of the same repository if collecting telemetry across multiple orgs or groups in - * the same backends. + The human readable name of the repository. It SHOULD NOT include any additional identifier like + Group/SubGroup in GitLab or organization in GitHub.

Due to it only being the name, it can + clash with forks of the same repository if collecting telemetry across multiple orgs or groups in + the same backends. */ static constexpr const char *kVcsRepositoryName = "vcs.repository.name"; /** - * Deprecated, use @code vcs.ref.head.name @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code vcs.ref.head.name @endcode.", "reason": "renamed", "renamed_to": - * "vcs.ref.head.name"} + Deprecated, use @code vcs.ref.head.name @endcode instead. + + @deprecated + {"note": "Replaced by @code vcs.ref.head.name @endcode.", "reason": "renamed", "renamed_to": + "vcs.ref.head.name"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kVcsRepositoryRefName = "vcs.repository.ref.name"; /** - * Deprecated, use @code vcs.ref.head.revision @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code vcs.ref.head.revision @endcode.", "reason": "renamed", "renamed_to": - * "vcs.ref.head.revision"} + Deprecated, use @code vcs.ref.head.revision @endcode instead. + + @deprecated + {"note": "Replaced by @code vcs.ref.head.revision @endcode.", "reason": "renamed", "renamed_to": + "vcs.ref.head.revision"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kVcsRepositoryRefRevision = "vcs.repository.ref.revision"; /** - * Deprecated, use @code vcs.ref.head.type @endcode instead. - * - * @deprecated - * {"note": "Replaced by @code vcs.ref.head.type @endcode.", "reason": "renamed", "renamed_to": - * "vcs.ref.head.type"} + Deprecated, use @code vcs.ref.head.type @endcode instead. + + @deprecated + {"note": "Replaced by @code vcs.ref.head.type @endcode.", "reason": "renamed", "renamed_to": + "vcs.ref.head.type"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kVcsRepositoryRefType = "vcs.repository.ref.type"; /** - * The canonical - * URL of the repository providing the complete HTTP(S) address in order to locate and identify - * the repository through a browser.

In Git Version Control Systems, the canonical URL SHOULD - * NOT include the @code .git @endcode extension. + The canonical + URL of the repository providing the complete HTTP(S) address in order to locate and identify + the repository through a browser.

In Git Version Control Systems, the canonical URL SHOULD NOT + include the @code .git @endcode extension. */ static constexpr const char *kVcsRepositoryUrlFull = "vcs.repository.url.full"; /** - * The type of revision comparison. + The type of revision comparison. */ static constexpr const char *kVcsRevisionDeltaDirection = "vcs.revision_delta.direction"; namespace VcsChangeStateValues { /** - * Open means the change is currently active and under review. It hasn't been merged into the target - * branch yet, and it's still possible to make changes or add comments. + Open means the change is currently active and under review. It hasn't been merged into the target + branch yet, and it's still possible to make changes or add comments. */ static constexpr const char *kOpen = "open"; /** - * WIP (work-in-progress, draft) means the change is still in progress and not yet ready for a full - * review. It might still undergo significant changes. + WIP (work-in-progress, draft) means the change is still in progress and not yet ready for a full + review. It might still undergo significant changes. */ static constexpr const char *kWip = "wip"; /** - * Closed means the merge request has been closed without merging. This can happen for various - * reasons, such as the changes being deemed unnecessary, the issue being resolved in another way, - * or the author deciding to withdraw the request. + Closed means the merge request has been closed without merging. This can happen for various + reasons, such as the changes being deemed unnecessary, the issue being resolved in another way, or + the author deciding to withdraw the request. */ static constexpr const char *kClosed = "closed"; /** - * Merged indicates that the change has been successfully integrated into the target codebase. + Merged indicates that the change has been successfully integrated into the target codebase. */ static constexpr const char *kMerged = "merged"; @@ -231,12 +229,12 @@ static constexpr const char *kMerged = "merged"; namespace VcsLineChangeTypeValues { /** - * How many lines were added. + How many lines were added. */ static constexpr const char *kAdded = "added"; /** - * How many lines were removed. + How many lines were removed. */ static constexpr const char *kRemoved = "removed"; @@ -245,27 +243,27 @@ static constexpr const char *kRemoved = "removed"; namespace VcsProviderNameValues { /** - * GitHub + GitHub */ static constexpr const char *kGithub = "github"; /** - * GitLab + GitLab */ static constexpr const char *kGitlab = "gitlab"; /** - * Deprecated, use @code gitea @endcode instead. + Deprecated, use @code gitea @endcode instead. */ static constexpr const char *kGittea = "gittea"; /** - * Gitea + Gitea */ static constexpr const char *kGitea = "gitea"; /** - * Bitbucket + Bitbucket */ static constexpr const char *kBitbucket = "bitbucket"; @@ -274,14 +272,13 @@ static constexpr const char *kBitbucket = "bitbucket"; namespace VcsRefBaseTypeValues { /** - * branch + branch */ static constexpr const char *kBranch = "branch"; /** - * tag + tag */ static constexpr const char *kTag = "tag"; @@ -290,14 +287,13 @@ static constexpr const char *kTag = "tag"; namespace VcsRefHeadTypeValues { /** - * branch + branch */ static constexpr const char *kBranch = "branch"; /** - * tag + tag */ static constexpr const char *kTag = "tag"; @@ -306,14 +302,13 @@ static constexpr const char *kTag = "tag"; namespace VcsRefTypeValues { /** - * branch + branch */ static constexpr const char *kBranch = "branch"; /** - * tag + tag */ static constexpr const char *kTag = "tag"; @@ -322,14 +317,13 @@ static constexpr const char *kTag = "tag"; namespace VcsRepositoryRefTypeValues { /** - * branch + branch */ static constexpr const char *kBranch = "branch"; /** - * tag + tag */ static constexpr const char *kTag = "tag"; @@ -338,12 +332,12 @@ static constexpr const char *kTag = "tag"; namespace VcsRevisionDeltaDirectionValues { /** - * How many revisions the change is behind the target ref. + How many revisions the change is behind the target ref. */ static constexpr const char *kBehind = "behind"; /** - * How many revisions the change is ahead of the target ref. + How many revisions the change is ahead of the target ref. */ static constexpr const char *kAhead = "ahead"; diff --git a/api/include/opentelemetry/semconv/incubating/vcs_metrics.h b/api/include/opentelemetry/semconv/incubating/vcs_metrics.h index 1f2885b8fe..c38dce26ae 100644 --- a/api/include/opentelemetry/semconv/incubating/vcs_metrics.h +++ b/api/include/opentelemetry/semconv/incubating/vcs_metrics.h @@ -21,8 +21,8 @@ namespace vcs { /** - * The number of changes (pull requests/merge requests/changelists) in a repository, categorized by - * their state (e.g. open or merged)

updowncounter + The number of changes (pull requests/merge requests/changelists) in a repository, categorized by + their state (e.g. open or merged)

updowncounter */ static constexpr const char *kMetricVcsChangeCount = "vcs.change.count"; static constexpr const char *descrMetricVcsChangeCount = @@ -59,9 +59,9 @@ CreateAsyncDoubleMetricVcsChangeCount(metrics::Meter *meter) } /** - * The time duration a change (pull request/merge request/changelist) has been in a given state. - *

- * gauge + The time duration a change (pull request/merge request/changelist) has been in a given state. +

+ gauge */ static constexpr const char *kMetricVcsChangeDuration = "vcs.change.duration"; static constexpr const char *descrMetricVcsChangeDuration = @@ -100,8 +100,8 @@ CreateAsyncDoubleMetricVcsChangeDuration(metrics::Meter *meter) } /** - * The amount of time since its creation it took a change (pull request/merge request/changelist) to - * get the first approval.

gauge + The amount of time since its creation it took a change (pull request/merge request/changelist) to + get the first approval.

gauge */ static constexpr const char *kMetricVcsChangeTimeToApproval = "vcs.change.time_to_approval"; static constexpr const char *descrMetricVcsChangeTimeToApproval = @@ -144,8 +144,8 @@ CreateAsyncDoubleMetricVcsChangeTimeToApproval(metrics::Meter *meter) } /** - * The amount of time since its creation it took a change (pull request/merge request/changelist) to - * get merged into the target(base) ref.

gauge + The amount of time since its creation it took a change (pull request/merge request/changelist) to + get merged into the target(base) ref.

gauge */ static constexpr const char *kMetricVcsChangeTimeToMerge = "vcs.change.time_to_merge"; static constexpr const char *descrMetricVcsChangeTimeToMerge = @@ -185,9 +185,9 @@ CreateAsyncDoubleMetricVcsChangeTimeToMerge(metrics::Meter *meter) } /** - * The number of unique contributors to a repository - *

- * gauge + The number of unique contributors to a repository +

+ gauge */ static constexpr const char *kMetricVcsContributorCount = "vcs.contributor.count"; static constexpr const char *descrMetricVcsContributorCount = @@ -226,9 +226,9 @@ CreateAsyncDoubleMetricVcsContributorCount(metrics::Meter *meter) } /** - * The number of refs of type branch or tag in a repository. - *

- * updowncounter + The number of refs of type branch or tag in a repository. +

+ updowncounter */ static constexpr const char *kMetricVcsRefCount = "vcs.ref.count"; static constexpr const char *descrMetricVcsRefCount = @@ -264,12 +264,12 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * The number of lines added/removed in a ref (branch) relative to the ref from the @code - * vcs.ref.base.name @endcode attribute.

This metric should be reported for each @code - * vcs.line_change.type @endcode value. For example if a ref added 3 lines and removed 2 lines, - * instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers). - * If number of lines added/removed should be calculated from the start of time, then @code - * vcs.ref.base.name @endcode SHOULD be set to an empty string.

gauge + The number of lines added/removed in a ref (branch) relative to the ref from the @code + vcs.ref.base.name @endcode attribute.

This metric should be reported for each @code + vcs.line_change.type @endcode value. For example if a ref added 3 lines and removed 2 lines, + instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers). + If number of lines added/removed should be calculated from the start of time, then @code + vcs.ref.base.name @endcode SHOULD be set to an empty string.

gauge */ static constexpr const char *kMetricVcsRefLinesDelta = "vcs.ref.lines_delta"; static constexpr const char *descrMetricVcsRefLinesDelta = @@ -309,12 +309,12 @@ CreateAsyncDoubleMetricVcsRefLinesDelta(metrics::Meter *meter) } /** - * The number of revisions (commits) a ref (branch) is ahead/behind the branch from the @code - * vcs.ref.base.name @endcode attribute

This metric should be reported for each @code - * vcs.revision_delta.direction @endcode value. For example if branch @code a @endcode is 3 commits - * behind and 2 commits ahead of @code trunk @endcode, instrumentation SHOULD report two - * measurements: 3 and 2 (both positive numbers) and @code vcs.ref.base.name @endcode is set to - * @code trunk @endcode.

gauge + The number of revisions (commits) a ref (branch) is ahead/behind the branch from the @code + vcs.ref.base.name @endcode attribute

This metric should be reported for each @code + vcs.revision_delta.direction @endcode value. For example if branch @code a @endcode is 3 commits + behind and 2 commits ahead of @code trunk @endcode, instrumentation SHOULD report two + measurements: 3 and 2 (both positive numbers) and @code vcs.ref.base.name @endcode is set to @code + trunk @endcode.

gauge */ static constexpr const char *kMetricVcsRefRevisionsDelta = "vcs.ref.revisions_delta"; static constexpr const char *descrMetricVcsRefRevisionsDelta = @@ -354,8 +354,8 @@ CreateAsyncDoubleMetricVcsRefRevisionsDelta(metrics::Meter *meter) } /** - * Time a ref (branch) created from the default branch (trunk) has existed. The @code ref.type - * @endcode attribute will always be @code branch @endcode

gauge + Time a ref (branch) created from the default branch (trunk) has existed. The @code ref.type + @endcode attribute will always be @code branch @endcode

gauge */ static constexpr const char *kMetricVcsRefTime = "vcs.ref.time"; static constexpr const char *descrMetricVcsRefTime = @@ -393,9 +393,9 @@ static inline nostd::shared_ptr CreateAsyncDouble } /** - * The number of repositories in an organization. - *

- * updowncounter + The number of repositories in an organization. +

+ updowncounter */ static constexpr const char *kMetricVcsRepositoryCount = "vcs.repository.count"; static constexpr const char *descrMetricVcsRepositoryCount = diff --git a/api/include/opentelemetry/semconv/incubating/webengine_attributes.h b/api/include/opentelemetry/semconv/incubating/webengine_attributes.h index 16283b43cb..920890f764 100644 --- a/api/include/opentelemetry/semconv/incubating/webengine_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/webengine_attributes.h @@ -20,17 +20,17 @@ namespace webengine { /** - * Additional description of the web engine (e.g. detailed version and edition information). + Additional description of the web engine (e.g. detailed version and edition information). */ static constexpr const char *kWebengineDescription = "webengine.description"; /** - * The name of the web engine. + The name of the web engine. */ static constexpr const char *kWebengineName = "webengine.name"; /** - * The version of the web engine. + The version of the web engine. */ static constexpr const char *kWebengineVersion = "webengine.version"; diff --git a/api/include/opentelemetry/semconv/network_attributes.h b/api/include/opentelemetry/semconv/network_attributes.h index f37d6d8617..54ba378f23 100644 --- a/api/include/opentelemetry/semconv/network_attributes.h +++ b/api/include/opentelemetry/semconv/network_attributes.h @@ -20,82 +20,81 @@ namespace network { /** - * Local address of the network connection - IP address or Unix domain socket name. + Local address of the network connection - IP address or Unix domain socket name. */ static constexpr const char *kNetworkLocalAddress = "network.local.address"; /** - * Local port number of the network connection. + Local port number of the network connection. */ static constexpr const char *kNetworkLocalPort = "network.local.port"; /** - * Peer address of the network connection - IP address or Unix domain socket name. + Peer address of the network connection - IP address or Unix domain socket name. */ static constexpr const char *kNetworkPeerAddress = "network.peer.address"; /** - * Peer port number of the network connection. + Peer port number of the network connection. */ static constexpr const char *kNetworkPeerPort = "network.peer.port"; /** - * OSI application layer or non-OSI - * equivalent.

The value SHOULD be normalized to lowercase. + OSI application layer or non-OSI + equivalent.

The value SHOULD be normalized to lowercase. */ static constexpr const char *kNetworkProtocolName = "network.protocol.name"; /** - * The actual version of the protocol used for network communication. - *

- * If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the - * negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be - * set. + The actual version of the protocol used for network communication. +

+ If protocol version is subject to negotiation (for example using ALPN), this attribute SHOULD be set to the + negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be set. */ static constexpr const char *kNetworkProtocolVersion = "network.protocol.version"; /** - * OSI transport layer or inter-process communication - * method.

The value SHOULD be normalized to lowercase.

Consider always setting the - * transport when setting a port number, since a port number is ambiguous without knowing the - * transport. For example different processes could be listening on TCP port 12345 and UDP port - * 12345. + OSI transport layer or inter-process communication + method.

The value SHOULD be normalized to lowercase.

Consider always setting the + transport when setting a port number, since a port number is ambiguous without knowing the + transport. For example different processes could be listening on TCP port 12345 and UDP port + 12345. */ static constexpr const char *kNetworkTransport = "network.transport"; /** - * OSI network layer or non-OSI equivalent. - *

- * The value SHOULD be normalized to lowercase. + OSI network layer or non-OSI equivalent. +

+ The value SHOULD be normalized to lowercase. */ static constexpr const char *kNetworkType = "network.type"; namespace NetworkTransportValues { /** - * TCP + TCP */ static constexpr const char *kTcp = "tcp"; /** - * UDP + UDP */ static constexpr const char *kUdp = "udp"; /** - * Named or anonymous pipe. + Named or anonymous pipe. */ static constexpr const char *kPipe = "pipe"; /** - * Unix domain socket + Unix domain socket */ static constexpr const char *kUnix = "unix"; /** - * QUIC + QUIC */ static constexpr const char *kQuic = "quic"; @@ -104,12 +103,12 @@ static constexpr const char *kQuic = "quic"; namespace NetworkTypeValues { /** - * IPv4 + IPv4 */ static constexpr const char *kIpv4 = "ipv4"; /** - * IPv6 + IPv6 */ static constexpr const char *kIpv6 = "ipv6"; diff --git a/api/include/opentelemetry/semconv/otel_attributes.h b/api/include/opentelemetry/semconv/otel_attributes.h index b92eff1dd4..a82d72553c 100644 --- a/api/include/opentelemetry/semconv/otel_attributes.h +++ b/api/include/opentelemetry/semconv/otel_attributes.h @@ -20,35 +20,35 @@ namespace otel { /** - * The name of the instrumentation scope - (@code InstrumentationScope.Name @endcode in OTLP). + The name of the instrumentation scope - (@code InstrumentationScope.Name @endcode in OTLP). */ static constexpr const char *kOtelScopeName = "otel.scope.name"; /** - * The version of the instrumentation scope - (@code InstrumentationScope.Version @endcode in OTLP). + The version of the instrumentation scope - (@code InstrumentationScope.Version @endcode in OTLP). */ static constexpr const char *kOtelScopeVersion = "otel.scope.version"; /** - * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. + Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code is UNSET. */ static constexpr const char *kOtelStatusCode = "otel.status_code"; /** - * Description of the Status if it has a value, otherwise not set. + Description of the Status if it has a value, otherwise not set. */ static constexpr const char *kOtelStatusDescription = "otel.status_description"; namespace OtelStatusCodeValues { /** - * The operation has been validated by an Application developer or Operator to have completed - * successfully. + The operation has been validated by an Application developer or Operator to have completed + successfully. */ static constexpr const char *kOk = "OK"; /** - * The operation contains an error. + The operation contains an error. */ static constexpr const char *kError = "ERROR"; diff --git a/api/include/opentelemetry/semconv/server_attributes.h b/api/include/opentelemetry/semconv/server_attributes.h index 21cb75d729..2d307614b6 100644 --- a/api/include/opentelemetry/semconv/server_attributes.h +++ b/api/include/opentelemetry/semconv/server_attributes.h @@ -20,19 +20,19 @@ namespace server { /** - * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain - * socket name.

When observed from the client side, and when communicating through an - * intermediary, @code server.address @endcode SHOULD represent the server address behind any - * intermediaries, for example proxies, if it's available. + Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain + socket name.

When observed from the client side, and when communicating through an + intermediary, @code server.address @endcode SHOULD represent the server address behind any + intermediaries, for example proxies, if it's available. */ static constexpr const char *kServerAddress = "server.address"; /** - * Server port number. - *

- * When observed from the client side, and when communicating through an intermediary, @code - * server.port @endcode SHOULD represent the server port behind any intermediaries, for example - * proxies, if it's available. + Server port number. +

+ When observed from the client side, and when communicating through an intermediary, @code + server.port @endcode SHOULD represent the server port behind any intermediaries, for example + proxies, if it's available. */ static constexpr const char *kServerPort = "server.port"; diff --git a/api/include/opentelemetry/semconv/service_attributes.h b/api/include/opentelemetry/semconv/service_attributes.h index e4c0dda17a..1f335ca26e 100644 --- a/api/include/opentelemetry/semconv/service_attributes.h +++ b/api/include/opentelemetry/semconv/service_attributes.h @@ -20,19 +20,19 @@ namespace service { /** - * Logical name of the service. - *

- * MUST be the same for all instances of horizontally scaled services. If the value was not - * specified, SDKs MUST fallback to @code unknown_service: @endcode concatenated with @code process.executable.name @endcode, e.g. @code unknown_service:bash - * @endcode. If @code process.executable.name @endcode is not available, the value MUST be set to - * @code unknown_service @endcode. + Logical name of the service. +

+ MUST be the same for all instances of horizontally scaled services. If the value was not + specified, SDKs MUST fallback to @code unknown_service: @endcode concatenated with @code process.executable.name @endcode, e.g. @code unknown_service:bash + @endcode. If @code process.executable.name @endcode is not available, the value MUST be set to + @code unknown_service @endcode. */ static constexpr const char *kServiceName = "service.name"; /** - * The version string of the service API or implementation. The format is not defined by these - * conventions. + The version string of the service API or implementation. The format is not defined by these + conventions. */ static constexpr const char *kServiceVersion = "service.version"; diff --git a/api/include/opentelemetry/semconv/telemetry_attributes.h b/api/include/opentelemetry/semconv/telemetry_attributes.h index 7aa764cdaa..1722398ddb 100644 --- a/api/include/opentelemetry/semconv/telemetry_attributes.h +++ b/api/include/opentelemetry/semconv/telemetry_attributes.h @@ -20,87 +20,87 @@ namespace telemetry { /** - * The language of the telemetry SDK. + The language of the telemetry SDK. */ static constexpr const char *kTelemetrySdkLanguage = "telemetry.sdk.language"; /** - * The name of the telemetry SDK as defined above. - *

- * The OpenTelemetry SDK MUST set the @code telemetry.sdk.name @endcode attribute to @code - * opentelemetry @endcode. If another SDK, like a fork or a vendor-provided implementation, is used, - * this SDK MUST set the - * @code telemetry.sdk.name @endcode attribute to the fully-qualified class or module name of this - * SDK's main entry point or another suitable identifier depending on the language. The identifier - * @code opentelemetry @endcode is reserved and MUST NOT be used in this case. All custom - * identifiers SHOULD be stable across different versions of an implementation. + The name of the telemetry SDK as defined above. +

+ The OpenTelemetry SDK MUST set the @code telemetry.sdk.name @endcode attribute to @code + opentelemetry @endcode. If another SDK, like a fork or a vendor-provided implementation, is used, + this SDK MUST set the + @code telemetry.sdk.name @endcode attribute to the fully-qualified class or module name of this + SDK's main entry point or another suitable identifier depending on the language. The identifier + @code opentelemetry @endcode is reserved and MUST NOT be used in this case. All custom identifiers + SHOULD be stable across different versions of an implementation. */ static constexpr const char *kTelemetrySdkName = "telemetry.sdk.name"; /** - * The version string of the telemetry SDK. + The version string of the telemetry SDK. */ static constexpr const char *kTelemetrySdkVersion = "telemetry.sdk.version"; namespace TelemetrySdkLanguageValues { /** - * none + none */ static constexpr const char *kCpp = "cpp"; /** - * none + none */ static constexpr const char *kDotnet = "dotnet"; /** - * none + none */ static constexpr const char *kErlang = "erlang"; /** - * none + none */ static constexpr const char *kGo = "go"; /** - * none + none */ static constexpr const char *kJava = "java"; /** - * none + none */ static constexpr const char *kNodejs = "nodejs"; /** - * none + none */ static constexpr const char *kPhp = "php"; /** - * none + none */ static constexpr const char *kPython = "python"; /** - * none + none */ static constexpr const char *kRuby = "ruby"; /** - * none + none */ static constexpr const char *kRust = "rust"; /** - * none + none */ static constexpr const char *kSwift = "swift"; /** - * none + none */ static constexpr const char *kWebjs = "webjs"; diff --git a/api/include/opentelemetry/semconv/url_attributes.h b/api/include/opentelemetry/semconv/url_attributes.h index 8d7310d590..316b60e9a9 100644 --- a/api/include/opentelemetry/semconv/url_attributes.h +++ b/api/include/opentelemetry/semconv/url_attributes.h @@ -20,80 +20,80 @@ namespace url { /** - * The URI fragment component + The URI fragment component */ static constexpr const char *kUrlFragment = "url.fragment"; /** - * Absolute URL describing a network resource according to RFC3986

For network calls, URL usually has - * @code scheme://host[:port][path][?query][#fragment] @endcode format, where the fragment is not - * transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.

- * @code url.full @endcode MUST NOT contain credentials passed via URL in form of @code - * https://username:password@www.example.com/ @endcode. In such case username and password SHOULD be - * redacted and attribute's value SHOULD be @code https://REDACTED:REDACTED@www.example.com/ - * @endcode.

- * @code url.full @endcode SHOULD capture the absolute URL when it is available (or can be - * reconstructed).

Sensitive content provided in @code url.full @endcode SHOULD be scrubbed when - * instrumentations can identify it.

- * - * Query string values for the following keys SHOULD be redacted by default and replaced by the - * value @code REDACTED @endcode: - *

- *

- * This list is subject to change over time. - *

- * When a query string value is redacted, the query string key SHOULD still be preserved, e.g. - * @code https://www.example.com/path?color=blue&sig=REDACTED @endcode. + Absolute URL describing a network resource according to RFC3986

For network calls, URL usually has + @code scheme://host[:port][path][?query][#fragment] @endcode format, where the fragment is not + transmitted over HTTP, but if it is known, it SHOULD be included nevertheless.

+ @code url.full @endcode MUST NOT contain credentials passed via URL in form of @code + https://username:password@www.example.com/ @endcode. In such case username and password SHOULD be + redacted and attribute's value SHOULD be @code https://REDACTED:REDACTED@www.example.com/ + @endcode.

+ @code url.full @endcode SHOULD capture the absolute URL when it is available (or can be + reconstructed).

Sensitive content provided in @code url.full @endcode SHOULD be scrubbed when + instrumentations can identify it.

+ + Query string values for the following keys SHOULD be redacted by default and replaced by the + value @code REDACTED @endcode: +

+

+ This list is subject to change over time. +

+ When a query string value is redacted, the query string key SHOULD still be preserved, e.g. + @code https://www.example.com/path?color=blue&sig=REDACTED @endcode. */ static constexpr const char *kUrlFull = "url.full"; /** - * The URI path component - *

- * Sensitive content provided in @code url.path @endcode SHOULD be scrubbed when instrumentations - * can identify it. + The URI path component +

+ Sensitive content provided in @code url.path @endcode SHOULD be scrubbed when instrumentations can + identify it. */ static constexpr const char *kUrlPath = "url.path"; /** - * The URI query component - *

- * Sensitive content provided in @code url.query @endcode SHOULD be scrubbed when instrumentations - * can identify it.

- * - * Query string values for the following keys SHOULD be redacted by default and replaced by the - * value @code REDACTED @endcode:

- *

- * This list is subject to change over time. - *

- * When a query string value is redacted, the query string key SHOULD still be preserved, e.g. - * @code q=OpenTelemetry&sig=REDACTED @endcode. + The URI query component +

+ Sensitive content provided in @code url.query @endcode SHOULD be scrubbed when instrumentations + can identify it.

+ + Query string values for the following keys SHOULD be redacted by default and replaced by the value + @code REDACTED @endcode:

+

+ This list is subject to change over time. +

+ When a query string value is redacted, the query string key SHOULD still be preserved, e.g. + @code q=OpenTelemetry&sig=REDACTED @endcode. */ static constexpr const char *kUrlQuery = "url.query"; /** - * The URI scheme component - * identifying the used protocol. + The URI scheme component + identifying the used protocol. */ static constexpr const char *kUrlScheme = "url.scheme"; diff --git a/api/include/opentelemetry/semconv/user_agent_attributes.h b/api/include/opentelemetry/semconv/user_agent_attributes.h index dd1d493278..c738d0c6e3 100644 --- a/api/include/opentelemetry/semconv/user_agent_attributes.h +++ b/api/include/opentelemetry/semconv/user_agent_attributes.h @@ -20,8 +20,8 @@ namespace user_agent { /** - * Value of the HTTP - * User-Agent header sent by the client. + Value of the HTTP + User-Agent header sent by the client. */ static constexpr const char *kUserAgentOriginal = "user_agent.original"; diff --git a/bazel/extra_deps.bzl b/bazel/extra_deps.bzl index 00a32c50bf..f68bc0f19e 100644 --- a/bazel/extra_deps.bzl +++ b/bazel/extra_deps.bzl @@ -3,8 +3,8 @@ # Load prometheus C++ dependencies. -load("@com_github_jupp0r_prometheus_cpp//bazel:repositories.bzl", "prometheus_cpp_repositories") load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") +load("@com_github_jupp0r_prometheus_cpp//bazel:repositories.bzl", "prometheus_cpp_repositories") load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies") def opentelemetry_extra_deps(): diff --git a/buildscripts/semantic-convention/templates/registry/weaver.yaml b/buildscripts/semantic-convention/templates/registry/weaver.yaml index ad33be509d..135c73e70c 100644 --- a/buildscripts/semantic-convention/templates/registry/weaver.yaml +++ b/buildscripts/semantic-convention/templates/registry/weaver.yaml @@ -137,7 +137,7 @@ comment_formats: cpp: format: html header: "/**" - prefix: " * " + prefix: " " footer: " */" indent_type: Space trim: true diff --git a/examples/grpc/BUILD b/examples/grpc/BUILD index b1d04e9fbd..5fe8898ac8 100644 --- a/examples/grpc/BUILD +++ b/examples/grpc/BUILD @@ -1,10 +1,10 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -package(default_visibility = ["//visibility:public"]) - -load("@rules_proto//proto:defs.bzl", "proto_library") load("@com_github_grpc_grpc//bazel:cc_grpc_library.bzl", "cc_grpc_library") +load("@rules_proto//proto:defs.bzl", "proto_library") + +package(default_visibility = ["//visibility:public"]) proto_library( name = "messages_proto", diff --git a/exporters/otlp/BUILD b/exporters/otlp/BUILD index ba55ba72c7..6198e39fe4 100644 --- a/exporters/otlp/BUILD +++ b/exporters/otlp/BUILD @@ -1,10 +1,10 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -package(default_visibility = ["//visibility:public"]) - load("//bazel:otel_cc_benchmark.bzl", "otel_cc_benchmark") +package(default_visibility = ["//visibility:public"]) + cc_library( name = "otlp_recordable", srcs = [ @@ -474,6 +474,20 @@ cc_test( ], ) +cc_test( + name = "otlp_grpc_target_test", + srcs = ["test/otlp_grpc_target_test.cc"], + tags = [ + "otlp", + "otlp_grpc", + "test", + ], + deps = [ + ":otlp_grpc_client", + "@com_google_googletest//:gtest_main", + ], +) + cc_test( name = "otlp_grpc_exporter_factory_test", srcs = ["test/otlp_grpc_exporter_factory_test.cc"], diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index 08303fe359..3ec20517e0 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -377,6 +377,15 @@ if(BUILD_TESTING) TEST_PREFIX exporter.otlp. TEST_LIST otlp_grpc_exporter_test) + add_executable(otlp_grpc_target_test test/otlp_grpc_target_test.cc) + target_link_libraries( + otlp_grpc_target_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} + ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc) + gtest_add_tests( + TARGET otlp_grpc_target_test + TEST_PREFIX exporter.otlp. + TEST_LIST otlp_grpc_target_test) + add_executable(otlp_grpc_exporter_factory_test test/otlp_grpc_exporter_factory_test.cc) target_link_libraries( diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h index 3ded3a16eb..b83c721281 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h @@ -62,6 +62,8 @@ class OtlpGrpcClient ~OtlpGrpcClient(); + static std::string GetGrpcTarget(const std::string &endpoint); + /** * Create gRPC channel from the exporter options. */ diff --git a/exporters/otlp/src/otlp_grpc_client.cc b/exporters/otlp/src/otlp_grpc_client.cc index 4d2fb6d38e..b520d1bd06 100644 --- a/exporters/otlp/src/otlp_grpc_client.cc +++ b/exporters/otlp/src/otlp_grpc_client.cc @@ -309,6 +309,32 @@ OtlpGrpcClient::~OtlpGrpcClient() #endif } +std::string OtlpGrpcClient::GetGrpcTarget(const std::string &endpoint) +{ + // + // Scheme is allowed in OTLP endpoint definition, but is not allowed for creating gRPC + // channel. Passing URI with scheme to grpc::CreateChannel could resolve the endpoint to some + // unexpected address. + // + ext::http::common::UrlParser url(endpoint); + if (!url.success_) + { + OTEL_INTERNAL_LOG_ERROR("[OTLP GRPC Client] invalid endpoint: " << endpoint); + return ""; + } + + std::string grpc_target; + if (url.scheme_ == "unix") + { + grpc_target = "unix:" + url.path_; + } + else + { + grpc_target = url.host_ + ":" + std::to_string(static_cast(url.port_)); + } + return grpc_target; +} + std::shared_ptr OtlpGrpcClient::MakeChannel(const OtlpGrpcClientOptions &options) { @@ -318,22 +344,16 @@ std::shared_ptr OtlpGrpcClient::MakeChannel(const OtlpGrpcClientO return nullptr; } - // - // Scheme is allowed in OTLP endpoint definition, but is not allowed for creating gRPC - // channel. Passing URI with scheme to grpc::CreateChannel could resolve the endpoint to some - // unexpected address. - // - ext::http::common::UrlParser url(options.endpoint); - if (!url.success_) + std::shared_ptr channel; + std::string grpc_target = GetGrpcTarget(options.endpoint); + + if (grpc_target.empty()) { OTEL_INTERNAL_LOG_ERROR("[OTLP GRPC Client] invalid endpoint: " << options.endpoint); - return nullptr; } - std::shared_ptr channel; - std::string grpc_target = url.host_ + ":" + std::to_string(static_cast(url.port_)); grpc::ChannelArguments grpc_arguments; grpc_arguments.SetUserAgentPrefix(options.user_agent); diff --git a/exporters/otlp/test/otlp_grpc_target_test.cc b/exporters/otlp/test/otlp_grpc_target_test.cc new file mode 100644 index 0000000000..0073aeedbc --- /dev/null +++ b/exporters/otlp/test/otlp_grpc_target_test.cc @@ -0,0 +1,37 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include +#include + +#include "opentelemetry/exporters/otlp/otlp_grpc_client.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace otlp +{ + +TEST(OtlpGrpcClientEndpointTest, GrpcClientTest) +{ + OtlpGrpcClientOptions opts1; + opts1.endpoint = "unix:///tmp/otel1.sock"; + + OtlpGrpcClientOptions opts2; + opts2.endpoint = "unix:tmp/otel2.sock"; + + OtlpGrpcClientOptions opts3; + opts3.endpoint = "localhost:4317"; + + auto target1 = OtlpGrpcClient::GetGrpcTarget(opts1.endpoint); + auto target2 = OtlpGrpcClient::GetGrpcTarget(opts2.endpoint); + auto target3 = OtlpGrpcClient::GetGrpcTarget(opts3.endpoint); + + EXPECT_EQ(target1, "unix:/tmp/otel1.sock"); + EXPECT_EQ(target2, ""); + EXPECT_EQ(target3, "localhost:4317"); +} + +} // namespace otlp +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE