11import asyncio
22import json
3+ import time
34import weakref
45from dataclasses import dataclass , field
56from queue import Empty , Queue
1011import torch
1112import torch .nn .functional as F
1213
13- from tensorrt_llm .llmapi .otel_tracing import (SpanAttributes , SpanKind ,
14- extract_trace_context ,
15- global_otlp_tracer )
14+ from tensorrt_llm .llmapi .otel_tracing import (
15+ SpanAttributes , SpanKind , extract_trace_context , global_otlp_tracer ,
16+ insufficient_request_metrics_warning )
1617
1718from .._utils import nvtx_range_debug
1819from ..bindings import executor as tllm
@@ -399,23 +400,25 @@ def do_tracing(
399400 output : CompletionOutput ,
400401 req_perf_metrics_dict : Optional [dict [str , float ]] = None ,
401402 ):
402- if not global_otlp_tracer () or not req_perf_metrics_dict :
403+ if not global_otlp_tracer ():
403404 return
404405
405406 metrics_dict = self .metrics_dict
406- if not metrics_dict :
407+ if not metrics_dict or not req_perf_metrics_dict :
407408 # Insufficient request metrics available; trace generation aborted.
409+ insufficient_request_metrics_warning ()
408410 return
409411
410412 trace_context = extract_trace_context (self .trace_headers )
411413 sampling_params = self .sampling_params
414+
415+ # TODO: Add request arrival time
416+ arrival_time = time .time () - metrics_dict .get (MetricNames .E2E , - 1 )
412417 with global_otlp_tracer ().start_as_current_span (
413418 "llm_request" ,
414419 kind = SpanKind .SERVER ,
415420 context = trace_context ,
416- start_time = int (
417- req_perf_metrics_dict .get (RequestEventTiming .ARRIVAL_TIME ,
418- 0 )),
421+ start_time = int (arrival_time * 1e9 ),
419422 ) as span :
420423
421424 def safe_set_attr (span , attr , value ):
@@ -437,6 +440,7 @@ def safe_set_attr(span, attr, value):
437440 )
438441 safe_set_attr (span , SpanAttributes .GEN_AI_REQUEST_N ,
439442 sampling_params .n )
443+ # TODO: Add prompt info in result base
440444 safe_set_attr (
441445 span ,
442446 SpanAttributes .GEN_AI_USAGE_PROMPT_TOKENS ,
0 commit comments