@@ -54,6 +54,7 @@ def start_span(
5454 parent_id : str | None = None ,
5555 input : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
5656 data : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
57+ task_id : str | None = None ,
5758 ) -> Span :
5859 """
5960 Start a new span and register it with the API.
@@ -63,6 +64,7 @@ def start_span(
6364 parent_id: Optional parent span ID.
6465 input: Optional input data for the span.
6566 data: Optional additional data for the span.
67+ task_id: Optional ID of the task this span belongs to.
6668
6769 Returns:
6870 The newly created span.
@@ -86,6 +88,7 @@ def start_span(
8688 start_time = start_time ,
8789 input = serialized_input ,
8890 data = serialized_data ,
91+ task_id = task_id ,
8992 )
9093
9194 for processor in self .processors :
@@ -150,6 +153,7 @@ def span(
150153 parent_id : str | None = None ,
151154 input : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
152155 data : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
156+ task_id : str | None = None ,
153157 ):
154158 """
155159 Context manager for spans.
@@ -158,7 +162,7 @@ def span(
158162 if not self .trace_id :
159163 yield None
160164 return
161- span = self .start_span (name , parent_id , input , data )
165+ span = self .start_span (name , parent_id , input , data , task_id = task_id )
162166 try :
163167 yield span
164168 finally :
@@ -198,6 +202,7 @@ async def start_span(
198202 parent_id : str | None = None ,
199203 input : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
200204 data : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
205+ task_id : str | None = None ,
201206 ) -> Span :
202207 """
203208 Start a new span and register it with the API.
@@ -207,6 +212,7 @@ async def start_span(
207212 parent_id: Optional parent span ID.
208213 input: Optional input data for the span.
209214 data: Optional additional data for the span.
215+ task_id: Optional ID of the task this span belongs to.
210216
211217 Returns:
212218 The newly created span.
@@ -229,6 +235,7 @@ async def start_span(
229235 start_time = start_time ,
230236 input = serialized_input ,
231237 data = serialized_data ,
238+ task_id = task_id ,
232239 )
233240
234241 if self .processors :
@@ -293,6 +300,7 @@ async def span(
293300 parent_id : str | None = None ,
294301 input : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
295302 data : dict [str , Any ] | list [dict [str , Any ]] | BaseModel | None = None ,
303+ task_id : str | None = None ,
296304 ) -> AsyncGenerator [Span | None , None ]:
297305 """
298306 Context manager for spans.
@@ -302,14 +310,15 @@ async def span(
302310 parent_id: Optional parent span ID.
303311 input: Optional input data for the span.
304312 data: Optional additional data for the span.
313+ task_id: Optional ID of the task this span belongs to.
305314
306315 Yields:
307316 The span object.
308317 """
309318 if not self .trace_id :
310319 yield None
311320 return
312- span = await self .start_span (name , parent_id , input , data )
321+ span = await self .start_span (name , parent_id , input , data , task_id = task_id )
313322 try :
314323 yield span
315324 finally :
0 commit comments