Semantic Conventions for Redis

Status: Experimental

The Semantic Conventions for Redis 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 "redis".

Call-level attributes

AttributeTypeDescriptionExamplesRequirement Level
db.redis.database_indexintThe index of the database being accessed as used in the SELECT command, provided as an integer. To be used instead of the generic db.name attribute.0; 1; 15Conditionally Required: If other than the default database (0).
db.statementstringThe full syntax of the Redis CLI command. [1]HMSET myhash field1 'Hello' field2 'World'Recommended: [2]

[1]: For Redis, the value provided for db.statement SHOULD correspond to the syntax of the Redis CLI. If, for example, the HMSET command is invoked, "HMSET myhash field1 'Hello' field2 'World'" would be a suitable value for db.statement.

[2]: Should be collected by default only if there is sanitization that excludes sensitive information.

Example

In this example, Redis is connected using a unix domain socket and therefore the connection string is left out. Furthermore, db.name is not specified as there is no database name in Redis and db.redis.database_index is set instead.

KeyValue
Span name"HMSET myhash"
db.system"redis"
db.connection_stringnot set
db.usernot set
network.peer.address"/tmp/redis.sock"
network.transport"unix"
db.namenot set
db.statement"HMSET myhash field1 'Hello' field2 'World"
db.operationnot set
db.redis.database_index15