[BugFix] Prevent exporting duplicate OpenTelemetry spans (#9017)
This commit is contained in:
@@ -1245,7 +1245,7 @@ class LLMEngine:
|
||||
skip)
|
||||
|
||||
# Tracing
|
||||
self.do_tracing(scheduler_outputs)
|
||||
self.do_tracing(scheduler_outputs, finished_before)
|
||||
|
||||
return None
|
||||
|
||||
@@ -1840,11 +1840,18 @@ class LLMEngine:
|
||||
def is_tracing_enabled(self) -> bool:
|
||||
return self.tracer is not None
|
||||
|
||||
def do_tracing(self, scheduler_outputs: SchedulerOutputs) -> None:
|
||||
def do_tracing(self,
|
||||
scheduler_outputs: SchedulerOutputs,
|
||||
finished_before: Optional[List[int]] = None) -> None:
|
||||
if self.tracer is None:
|
||||
return
|
||||
|
||||
for scheduled_seq_group in scheduler_outputs.scheduled_seq_groups:
|
||||
for idx, scheduled_seq_group in enumerate(
|
||||
scheduler_outputs.scheduled_seq_groups):
|
||||
# Skip double tracing when using async output proc
|
||||
if finished_before and idx in finished_before:
|
||||
continue
|
||||
|
||||
seq_group = scheduled_seq_group.seq_group
|
||||
if seq_group.is_finished():
|
||||
self.create_trace_span(seq_group)
|
||||
|
||||
Reference in New Issue
Block a user