[Bugfix][TTS] Drop meaningless TTFT from speech-endpoint benchmarks (#3674)

Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
This commit is contained in:
Yueqian Lin authored and GitHub committed 2026-05-18 17:18:18 +08:00
1 parent 6d37e77fb2
commit 990566aef1
3 files changed
+102 -2

No files matched your search

+7 -1
View File
@@ -613,8 +613,9 @@ async def async_request_openai_audio_speech(
continue
timestamp = time.perf_counter()
if output.audio_ttfp == 0.0:
# TTS speech endpoint emits no text tokens, so TTFT is
# not defined here; only audio TTFP is meaningful.
output.audio_ttfp = timestamp - st
output.ttft = output.audio_ttfp
total_pcm_bytes += len(chunk)
if pcm_capture is not None:
pcm_capture.extend(chunk)
@@ -1017,6 +1018,11 @@ async def benchmark(
# metric.
if metric_attribute_name not in selected_percentile_metrics:
return
# No text tokens generated (e.g. pure TTS speech endpoint): per-token
# latency metrics (ttft/tpot/itl) are undefined, so skip them.
is_text_token_metric = metric_attribute_name not in ("e2el", "audio_ttfp", "audio_rtf", "audio_duration")
if is_text_token_metric and getattr(metrics, "total_output", 0) == 0:
return
is_audio_rtf = metric_attribute_name == "audio_rtf"
is_audio_duration = metric_attribute_name == "audio_duration"