Skip to content

Commit f352078

Browse files
authored
feat(redis): Add tags for more commands (getsentry#733)
1 parent b539ecb commit f352078

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ sentry-sdk==0.10.1
2727

2828
A major release `N` implies the previous release `N-1` will no longer receive updates. We generally do not backport bugfixes to older versions unless they are security relevant. However, feel free to ask for backports of specific commits on the bugtracker.
2929

30+
## [Unreleased]
31+
32+
* Redis integration: add tags for more commands
33+
3034
## 0.15.1
3135

3236
* Fix fatal crash in Pyramid integration on 404.

sentry_sdk/integrations/redis.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
if MYPY:
1010
from typing import Any
1111

12+
_SINGLE_KEY_COMMANDS = frozenset(
13+
["decr", "decrby", "get", "incr", "incrby", "pttl", "set", "setex", "setnx", "ttl"]
14+
)
15+
_MULTI_KEY_COMMANDS = frozenset(["del", "touch", "unlink"])
16+
1217

1318
class RedisIntegration(Integration):
1419
identifier = "redis"
@@ -62,8 +67,12 @@ def sentry_patched_execute_command(self, name, *args, **kwargs):
6267
if name:
6368
span.set_tag("redis.command", name)
6469

65-
if name and args and name.lower() in ("get", "set", "setex", "setnx"):
66-
span.set_tag("redis.key", args[0])
70+
if name and args:
71+
name_low = name.lower()
72+
if (name_low in _SINGLE_KEY_COMMANDS) or (
73+
name_low in _MULTI_KEY_COMMANDS and len(args) == 1
74+
):
75+
span.set_tag("redis.key", args[0])
6776

6877
return old_execute_command(self, name, *args, **kwargs)
6978

0 commit comments

Comments
 (0)