@@ -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