Semantic Conventions for Cassandra

Status: Experimental

The Semantic Conventions for Cassandra extend and override the Database Semantic Conventions that describe common database operations attributes in addition to the Semantic Conventions described on this page.

db.system MUST be set to "cassandra".

Attributes

AttributeTypeDescriptionExamplesRequirement LevelStability
db.namestringThe keyspace name in Cassandra. [1]mykeyspaceConditionally Required If applicable.Experimental
db.cassandra.consistency_levelstringThe consistency level of the query. Based on consistency values from CQL.allRecommendedExperimental
db.cassandra.coordinator.dcstringThe data center of the coordinating node for a query.us-west-2RecommendedExperimental
db.cassandra.coordinator.idstringThe ID of the coordinating node for a query.be13faa2-8574-4d71-926d-27f16cf8a7afRecommendedExperimental
db.cassandra.idempotencebooleanWhether or not the query is idempotent.RecommendedExperimental
db.cassandra.page_sizeintThe fetch size used for paging, i.e. how many rows will be returned at once.5000RecommendedExperimental
db.cassandra.speculative_execution_countintThe number of times a query was speculatively executed. Not set or 0 if the query was not executed speculatively.0; 2RecommendedExperimental
db.cassandra.tablestringThe name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable). [2]mytableRecommendedExperimental
network.peer.addressstringPeer address of the database node where the operation was performed. [3]10.1.2.80; /tmp/my.sockRecommendedStable
network.peer.portintPeer port number of the network connection.65123Recommended if and only if network.peer.address is set.Stable

[1]: For Cassandra the db.name should be set to the Cassandra keyspace name.

[2]: This mirrors the db.sql.table attribute but references cassandra rather than sql. It is not recommended to attempt any client-side parsing of db.statement just to get this property, but it should be set if it is provided by the library being instrumented. If the operation is acting upon an anonymous table, or more than one table, this value MUST NOT be set.

[3]: If a database operation involved multiple network calls (for example retries), the address of the last contacted node SHOULD be used.

db.cassandra.consistency_level MUST be one of the following:

ValueDescriptionStability
allallExperimental
each_quorumeach_quorumExperimental
quorumquorumExperimental
local_quorumlocal_quorumExperimental
oneoneExperimental
twotwoExperimental
threethreeExperimental
local_onelocal_oneExperimental
anyanyExperimental
serialserialExperimental
local_seriallocal_serialExperimental