Skip to content

Commit 7ecf57a

Browse files
committed
Let set_data accept a dict to set multiple data attributes at once
1 parent 84adbb7 commit 7ecf57a

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

sentry_sdk/tracing.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -598,9 +598,24 @@ def set_tag(self, key, value):
598598
# type: (str, Any) -> None
599599
self._tags[key] = value
600600

601-
def set_data(self, key, value):
602-
# type: (str, Any) -> None
603-
self._data[key] = value
601+
def set_data(self, key=None, value=None):
602+
# type: (Optional[Union[str, Dict[str, Any]]], Optional[Any]) -> None
603+
"""Set data on the span.
604+
Can be called in two ways:
605+
- set_data(key, value) - sets a single key-value pair
606+
- set_data({"key": "value"}) - sets multiple key-value pairs from a dict
607+
"""
608+
if key is None:
609+
return
610+
611+
if isinstance(key, dict):
612+
# Dictionary calling pattern: set_data({"key": "value"})
613+
for k, v in key.items():
614+
self._data[k] = v
615+
616+
elif isinstance(key, str):
617+
# Traditional calling pattern: set_data(key, value)
618+
self._data[key] = value
604619

605620
def set_flag(self, flag, result):
606621
# type: (str, bool) -> None
@@ -1271,8 +1286,8 @@ def set_tag(self, key, value):
12711286
# type: (str, Any) -> None
12721287
pass
12731288

1274-
def set_data(self, key, value):
1275-
# type: (str, Any) -> None
1289+
def set_data(self, key=None, value=None):
1290+
# type: (Optional[Union[str, Dict[str, Any]]], Optional[Any]) -> None
12761291
pass
12771292

12781293
def set_status(self, value):

0 commit comments

Comments
 (0)