semantic-conventions/model/registry/db.yaml

498 lines
18 KiB
YAML

groups:
- id: registry.db
prefix: db
type: attribute_group
brief: >
This group defines the attributes used to describe telemetry in the context of databases.
attributes:
- id: collection.name
type: string
stability: experimental
brief: The name of a collection (table, container) within the database.
note: >
If the collection name is parsed from the query, it SHOULD match the value provided
in the query and may be qualified with the schema and database name.
It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.
examples: ['public.users', 'customers']
- id: namespace
type: string
stability: experimental
brief: >
The name of the database, fully qualified within the server address and port.
note: >
If a database system has multiple namespace components, they SHOULD be concatenated
(potentially using database system specific conventions) from most general to most
specific namespace component, and more specific namespaces SHOULD NOT be captured without
the more general namespaces, to ensure that "startswith" queries for the more general namespaces will be valid.
Semantic conventions for individual database systems SHOULD document what `db.namespace`
means in the context of that system.
It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.
examples: [ 'customers', 'test.users' ]
- id: operation.name
type: string
stability: experimental
brief: >
The name of the operation or command being executed.
note: >
It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.
examples: ['findAndModify', 'HMSET', 'SELECT']
- id: query.text
type: string
stability: experimental
brief: >
The database query being executed.
examples: ['SELECT * FROM wuser_table where username = ?', 'SET mykey "WuValue"']
- id: query.parameter
type: template[string]
stability: experimental
brief: >
The query parameters used in `db.query.text`, with `<key>` being the parameter name,
and the attribute value being the parameter value.
note: >
Query parameters should only be captured when `db.query.text` is parameterized with placeholders.
If a parameter has no name and instead is referenced only by index,
then `<key>` SHOULD be the 0-based index.
examples: ['someval', '55']
- id: system
brief: The database management system (DBMS) product as identified by the client instrumentation.
note: >
The actual DBMS may differ from the one identified by the client.
For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system`
is set to `postgresql` based on the instrumentation's best knowledge.
type:
allow_custom_values: true
members:
- id: other_sql
value: 'other_sql'
brief: 'Some other SQL database. Fallback only. See notes.'
stability: experimental
- id: mssql
value: 'mssql'
brief: 'Microsoft SQL Server'
stability: experimental
- id: mssqlcompact
value: 'mssqlcompact'
brief: 'Microsoft SQL Server Compact'
stability: experimental
- id: mysql
value: 'mysql'
brief: 'MySQL'
stability: experimental
- id: oracle
value: 'oracle'
brief: 'Oracle Database'
stability: experimental
- id: db2
value: 'db2'
brief: 'IBM Db2'
stability: experimental
- id: postgresql
value: 'postgresql'
brief: 'PostgreSQL'
stability: experimental
- id: redshift
value: 'redshift'
brief: 'Amazon Redshift'
stability: experimental
- id: hive
value: 'hive'
brief: 'Apache Hive'
stability: experimental
- id: cloudscape
value: 'cloudscape'
brief: 'Cloudscape'
stability: experimental
- id: hsqldb
value: 'hsqldb'
brief: 'HyperSQL DataBase'
stability: experimental
- id: progress
value: 'progress'
brief: 'Progress Database'
stability: experimental
- id: maxdb
value: 'maxdb'
brief: 'SAP MaxDB'
stability: experimental
- id: hanadb
value: 'hanadb'
brief: 'SAP HANA'
stability: experimental
- id: ingres
value: 'ingres'
brief: 'Ingres'
stability: experimental
- id: firstsql
value: 'firstsql'
brief: 'FirstSQL'
stability: experimental
- id: edb
value: 'edb'
brief: 'EnterpriseDB'
stability: experimental
- id: cache
value: 'cache'
brief: 'InterSystems Caché'
stability: experimental
- id: adabas
value: 'adabas'
brief: 'Adabas (Adaptable Database System)'
stability: experimental
- id: firebird
value: 'firebird'
brief: 'Firebird'
stability: experimental
- id: derby
value: 'derby'
brief: 'Apache Derby'
stability: experimental
- id: filemaker
value: 'filemaker'
brief: 'FileMaker'
stability: experimental
- id: informix
value: 'informix'
brief: 'Informix'
stability: experimental
- id: instantdb
value: 'instantdb'
brief: 'InstantDB'
stability: experimental
- id: interbase
value: 'interbase'
brief: 'InterBase'
stability: experimental
- id: mariadb
value: 'mariadb'
brief: 'MariaDB'
stability: experimental
- id: netezza
value: 'netezza'
brief: 'Netezza'
stability: experimental
- id: pervasive
value: 'pervasive'
brief: 'Pervasive PSQL'
stability: experimental
- id: pointbase
value: 'pointbase'
brief: 'PointBase'
stability: experimental
- id: sqlite
value: 'sqlite'
brief: 'SQLite'
stability: experimental
- id: sybase
value: 'sybase'
brief: 'Sybase'
stability: experimental
- id: teradata
value: 'teradata'
brief: 'Teradata'
stability: experimental
- id: vertica
value: 'vertica'
brief: 'Vertica'
stability: experimental
- id: h2
value: 'h2'
brief: 'H2'
stability: experimental
- id: coldfusion
value: 'coldfusion'
brief: 'ColdFusion IMQ'
stability: experimental
- id: cassandra
value: 'cassandra'
brief: 'Apache Cassandra'
stability: experimental
- id: hbase
value: 'hbase'
brief: 'Apache HBase'
stability: experimental
- id: mongodb
value: 'mongodb'
brief: 'MongoDB'
stability: experimental
- id: redis
value: 'redis'
brief: 'Redis'
stability: experimental
- id: couchbase
value: 'couchbase'
brief: 'Couchbase'
stability: experimental
- id: couchdb
value: 'couchdb'
brief: 'CouchDB'
stability: experimental
- id: cosmosdb
value: 'cosmosdb'
brief: 'Microsoft Azure Cosmos DB'
stability: experimental
- id: dynamodb
value: 'dynamodb'
brief: 'Amazon DynamoDB'
stability: experimental
- id: neo4j
value: 'neo4j'
brief: 'Neo4j'
stability: experimental
- id: geode
value: 'geode'
brief: 'Apache Geode'
stability: experimental
- id: elasticsearch
value: 'elasticsearch'
brief: 'Elasticsearch'
stability: experimental
- id: memcached
value: 'memcached'
brief: 'Memcached'
stability: experimental
- id: cockroachdb
value: 'cockroachdb'
brief: 'CockroachDB'
stability: experimental
- id: opensearch
value: 'opensearch'
brief: 'OpenSearch'
stability: experimental
- id: clickhouse
value: 'clickhouse'
brief: 'ClickHouse'
stability: experimental
- id: spanner
value: 'spanner'
brief: 'Cloud Spanner'
stability: experimental
- id: trino
value: 'trino'
brief: 'Trino'
stability: experimental
stability: experimental
- id: client.connections.state
stability: experimental
type:
allow_custom_values: true
members:
- id: idle
value: 'idle'
stability: experimental
- id: used
value: 'used'
stability: experimental
brief: "The state of a connection in the pool"
examples: ["idle"]
- id: client.connections.pool.name
type: string
stability: experimental
brief: >
The name of the connection pool; unique within the instrumented application.
In case the connection pool implementation doesn't provide a name,
instrumentation should use a combination of `server.address` and `server.port` attributes
formatted as `server.address:server.port`.
examples: ["myDataSource"]
- id: registry.db.cassandra
prefix: db
type: attribute_group
brief: >
This group defines attributes for Cassandra.
attributes:
- id: cassandra.coordinator.dc
type: string
stability: experimental
brief: >
The data center of the coordinating node for a query.
examples: 'us-west-2'
- id: cassandra.coordinator.id
type: string
stability: experimental
brief: >
The ID of the coordinating node for a query.
examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af'
- id: cassandra.consistency_level
brief: >
The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html).
type:
members:
- id: all
value: 'all'
stability: experimental
- id: each_quorum
value: 'each_quorum'
stability: experimental
- id: quorum
value: 'quorum'
stability: experimental
- id: local_quorum
value: 'local_quorum'
stability: experimental
- id: one
value: 'one'
stability: experimental
- id: two
value: 'two'
stability: experimental
- id: three
value: 'three'
stability: experimental
- id: local_one
value: 'local_one'
stability: experimental
- id: any
value: 'any'
stability: experimental
- id: serial
value: 'serial'
stability: experimental
- id: local_serial
value: 'local_serial'
stability: experimental
stability: experimental
- id: cassandra.idempotence
type: boolean
stability: experimental
brief: >
Whether or not the query is idempotent.
- id: cassandra.page_size
type: int
stability: experimental
brief: >
The fetch size used for paging, i.e. how many rows will be returned at once.
examples: [5000]
- id: cassandra.speculative_execution_count
type: int
stability: experimental
brief: >
The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively.
examples: [0, 2]
- id: registry.db.cosmosdb
prefix: db
type: attribute_group
brief: >
This group defines attributes for Azure Cosmos DB.
attributes:
- id: cosmosdb.client_id
type: string
stability: experimental
brief: Unique Cosmos client instance id.
examples: '3ba4827d-4422-483f-b59f-85b74211c11d'
- id: cosmosdb.connection_mode
type:
allow_custom_values: false
members:
- id: gateway
value: 'gateway'
brief: Gateway (HTTP) connections mode
stability: experimental
- id: direct
value: 'direct'
brief: Direct connection.
stability: experimental
stability: experimental
brief: Cosmos client connection mode.
- id: cosmosdb.operation_type
type:
allow_custom_values: true
members:
- id: invalid
value: 'Invalid'
stability: experimental
- id: create
value: 'Create'
stability: experimental
- id: patch
value: 'Patch'
stability: experimental
- id: read
value: 'Read'
stability: experimental
- id: read_feed
value: 'ReadFeed'
stability: experimental
- id: delete
value: 'Delete'
stability: experimental
- id: replace
value: 'Replace'
stability: experimental
- id: execute
value: 'Execute'
stability: experimental
- id: query
value: 'Query'
stability: experimental
- id: head
value: 'Head'
stability: experimental
- id: head_feed
value: 'HeadFeed'
stability: experimental
- id: upsert
value: 'Upsert'
stability: experimental
- id: batch
value: 'Batch'
stability: experimental
- id: query_plan
value: 'QueryPlan'
stability: experimental
- id: execute_javascript
value: 'ExecuteJavaScript'
stability: experimental
stability: experimental
brief: CosmosDB Operation Type.
- id: cosmosdb.request_charge
type: double
stability: experimental
brief: RU consumed for that operation
examples: [46.18, 1.0]
- id: cosmosdb.request_content_length
type: int
stability: experimental
brief: Request payload size in bytes
- id: cosmosdb.status_code
type: int
stability: experimental
brief: Cosmos DB status code.
examples: [200, 201]
- id: cosmosdb.sub_status_code
type: int
stability: experimental
brief: Cosmos DB sub status code.
examples: [1000, 1002]
- id: registry.db.elasticsearch
prefix: db
type: attribute_group
brief: >
This group defines attributes for Elasticsearch.
attributes:
- id: elasticsearch.cluster.name
type: string
stability: experimental
brief: >
Represents the identifier of an Elasticsearch cluster.
examples: ["e9106fc68e3044f0b1475b04bf4ffd5f"]
- id: elasticsearch.node.name
type: string
stability: experimental
brief: >
Represents the human-readable identifier of the node/instance to which a request was routed.
examples: ["instance-0000000001"]
- id: elasticsearch.path_parts
type: template[string]
stability: experimental
brief: >
A dynamic value in the url path.
note: >
Many Elasticsearch url paths allow dynamic values. These SHOULD be recorded in span attributes in the format
`db.elasticsearch.path_parts.<key>`, where `<key>` is the url path part name. The implementation SHOULD
reference the [elasticsearch schema](https://raw.githubusercontent.com/elastic/elasticsearch-specification/main/output/schema/schema.json)
in order to map the path part values to their names.
examples: ['db.elasticsearch.path_parts.index=test-index', 'db.elasticsearch.path_parts.doc_id=123']