Skip to content

Commit 3eccbe7

Browse files
author
Zhang Haotong
committed
fix
Signed-off-by: Zhang Haotong <[email protected]>
1 parent 27d5d31 commit 3eccbe7

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

tensorrt_llm/executor/result.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import asyncio
22
import json
3+
import time
34
import weakref
45
from dataclasses import dataclass, field
56
from queue import Empty, Queue
@@ -10,9 +11,9 @@
1011
import torch
1112
import 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

1718
from .._utils import nvtx_range_debug
1819
from ..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,

tensorrt_llm/llmapi/otel_tracing.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,9 @@ def contains_trace_headers(headers: Mapping[str, str]) -> bool:
129129
def log_tracing_disabled_warning() -> None:
130130
logger.warning(
131131
"Received a request with trace context but tracing is disabled")
132+
133+
134+
@run_once
135+
def insufficient_request_metrics_warning() -> None:
136+
logger.warning(
137+
"Insufficient request metrics available; trace generation aborted.")

0 commit comments

Comments
 (0)