vllm_omni.metrics.definitions ¶
Single source of truth for vLLM-Omni Prometheus + bench CLI metric naming.
Consumed by: - vllm_omni.metrics.prometheus (server-side /metrics pipeline families) - vllm_omni.metrics.modality (audio families) - vllm_omni.metrics.transfer (cross-stage transfer families) - vllm_omni.benchmarks.metrics.metrics (bench CLI MultiModalsBenchmarkMetrics)
Naming conventions for the vllm_omni:* families exposed here: time-bearing metrics use the _s suffix (values in seconds), counters use _total (auto-suffixed by the prometheus client), sizes use _bytes.
AUDIO_CONTINUITY_LABELS module-attribute ¶
AUDIO_CONTINUITY_OK_METRIC module-attribute ¶
AUDIO_CONTINUITY_OK_METRIC = (
METRIC_PREFIX + AUDIO_CONTINUITY_OK
)
AUDIO_CONTINUITY_OK_RATE module-attribute ¶
AUDIO_CONTINUITY_OK_RATE = f'{AUDIO_CONTINUITY_OK}_rate'
AUDIO_SAMPLE_RATE_ENV module-attribute ¶
AUDIO_SKIPPED_LABELS module-attribute ¶
AUDIO_SKIPPED_REQUESTS_METRIC module-attribute ¶
AUDIO_SKIPPED_REQUESTS_METRIC = (
METRIC_PREFIX + AUDIO_SKIPPED_REQUESTS
)
BYTES_BUCKETS module-attribute ¶
BYTES_BUCKETS = (
1024,
4096,
16384,
65536,
262144,
1048576,
4194304,
16777216,
67108864,
268435456,
)
DENOISE_STEP_LATENCY_S module-attribute ¶
DENOISE_STEP_LATENCY_S = (
METRIC_PREFIX + DENOISE_STEP_LATENCY + "_s"
)
DIFFUSION_EXEC_PER_STEP_S module-attribute ¶
DIFFUSION_EXEC_PER_STEP_S = (
METRIC_PREFIX + "diffusion_exec_per_step_s"
)
DIFFUSION_POSTPROCESS_S module-attribute ¶
DIFFUSION_POSTPROCESS_S = (
METRIC_PREFIX + "diffusion_postprocess_s"
)
DIFFUSION_PREPROCESS_S module-attribute ¶
DIFFUSION_PREPROCESS_S = (
METRIC_PREFIX + "diffusion_preprocess_s"
)
DIFFUSION_SCHEDULER_WAITING_KEY module-attribute ¶
E2E_REQUEST_LATENCY_S module-attribute ¶
E2E_REQUEST_LATENCY_S = (
METRIC_PREFIX + "e2e_request_latency_s"
)
IMAGE_GENERATION_TIME_MS module-attribute ¶
IMAGE_GENERATION_TIME_MS = f'{IMAGE_GENERATION}_time_ms'
IMAGE_TIME_TO_FIRST_OUTPUT_MS module-attribute ¶
INTER_OUTPUT_LATENCIES_MS module-attribute ¶
MEAN_DENOISE_STEP_LATENCY_MS module-attribute ¶
MEAN_DENOISE_STEP_LATENCY_MS = (
f"mean_{DENOISE_STEP_LATENCY}_ms"
)
MEAN_IMAGE_GENERATION_MS module-attribute ¶
MEAN_IMAGE_GENERATION_MS = f'mean_{IMAGE_GENERATION}_ms'
MEAN_VIDEO_GENERATION_MS module-attribute ¶
MEAN_VIDEO_GENERATION_MS = f'mean_{VIDEO_GENERATION}_ms'
MEDIAN_IMAGE_GENERATION_MS module-attribute ¶
MEDIAN_IMAGE_GENERATION_MS = f"median_{IMAGE_GENERATION}_ms"
MEDIAN_VIDEO_GENERATION_MS module-attribute ¶
MEDIAN_VIDEO_GENERATION_MS = f"median_{VIDEO_GENERATION}_ms"
MISSING_AUDIO_DURATION_COUNT module-attribute ¶
NUM_REQUESTS_RUNNING module-attribute ¶
NUM_REQUESTS_RUNNING = (
METRIC_PREFIX + "num_requests_running"
)
NUM_REQUESTS_WAITING module-attribute ¶
NUM_REQUESTS_WAITING = (
METRIC_PREFIX + "num_requests_waiting"
)
PERCENTILES_AUDIO_DURATION_S module-attribute ¶
PERCENTILES_AUDIO_DURATION_S = (
f"percentiles_{AUDIO_DURATION}_s"
)
PERCENTILES_AUDIO_TTFP_MS module-attribute ¶
PERCENTILES_AUDIO_TTFP_MS = f'percentiles_{AUDIO_TTFP}_ms'
PERCENTILES_AUDIO_UNDERRUN_S module-attribute ¶
PERCENTILES_AUDIO_UNDERRUN_S = (
f"percentiles_{AUDIO_UNDERRUN}_s"
)
PERCENTILES_IMAGE_GENERATION_MS module-attribute ¶
PERCENTILES_IMAGE_GENERATION_MS = (
f"percentiles_{IMAGE_GENERATION}_ms"
)
PERCENTILES_PEAK_MEMORY_MB module-attribute ¶
PERCENTILES_PEAK_MEMORY_MB = f"percentiles_{PEAK_MEMORY_MB}"
PERCENTILES_VIDEO_GENERATION_MS module-attribute ¶
PERCENTILES_VIDEO_GENERATION_MS = (
f"percentiles_{VIDEO_GENERATION}_ms"
)
REALTIME_VAD_ACTIVE_SESSIONS module-attribute ¶
REALTIME_VAD_ACTIVE_SESSIONS = (
METRIC_PREFIX + "realtime_vad_active_sessions"
)
REALTIME_VAD_ENDPOINT_DELAY_S module-attribute ¶
REALTIME_VAD_ENDPOINT_DELAY_S = (
METRIC_PREFIX + "realtime_vad_endpoint_delay_s"
)
REALTIME_VAD_INFERENCE_LATENCY_S module-attribute ¶
REALTIME_VAD_INFERENCE_LATENCY_S = (
METRIC_PREFIX + "realtime_vad_inference_latency_s"
)
REQUEST_QUEUE_WAIT_S module-attribute ¶
REQUEST_QUEUE_WAIT_S = (
METRIC_PREFIX + "request_queue_wait_s"
)
RTF_BUCKETS module-attribute ¶
SECONDS_BUCKETS module-attribute ¶
SECONDS_FAST_BUCKETS module-attribute ¶
SECONDS_FAST_BUCKETS = (
0.001,
0.005,
0.01,
0.025,
0.05,
0.1,
0.25,
0.5,
1.0,
2.5,
5.0,
10.0,
60.0,
)
SERVING_TIME_TO_FIRST_OUTPUTS_MS module-attribute ¶
SERVING_TIME_TO_FIRST_OUTPUT_MS module-attribute ¶
SPEECH_STREAM_ABORTED_METRIC module-attribute ¶
SPEECH_STREAM_ABORTED_METRIC = (
METRIC_PREFIX + "speech_stream_aborted"
)
SPEECH_STREAM_COMPLETED_METRIC module-attribute ¶
SPEECH_STREAM_COMPLETED_METRIC = (
METRIC_PREFIX + "speech_stream_completed"
)
STAGE_GEN_TIME_LABELS module-attribute ¶
STAGE_WAITING_REQUESTS module-attribute ¶
STAGE_WAITING_REQUESTS = (
METRIC_PREFIX + "stage_waiting_requests"
)
STREAMING_OUTPUT_UNIT_TYPES module-attribute ¶
STREAMING_OUTPUT_UNIT_TYPES = frozenset(
{"text", "stream", "audio"}
)
TRANSFER_IN_FLIGHT_S module-attribute ¶
TRANSFER_IN_FLIGHT_S = (
METRIC_PREFIX + "transfer_in_flight_s"
)
TRANSFER_LABELS module-attribute ¶
VIDEO_GENERATION_TIME_MS module-attribute ¶
VIDEO_GENERATION_TIME_MS = f'{VIDEO_GENERATION}_time_ms'
StageModalityFlags ¶
compute_audio_frames ¶
compute_audio_frames(
pcm_nbytes: int,
*,
sample_width: int = DEFAULT_AUDIO_SAMPLE_WIDTH,
channels: int = DEFAULT_AUDIO_CHANNELS,
) -> int
Convert a PCM byte length to sample/frame count.
pcm_nbytes is the raw byte size of interleaved PCM (e.g. total_pcm_bytes or len(wav_pcm_buffer)). Defaults match the streamed s16le mono contract (DEFAULT_AUDIO_SAMPLE_WIDTH, DEFAULT_AUDIO_CHANNELS); WAV callers should pass header values.
Returns 0 when the byte count or frame width (sample_width * channels) is non-positive.
compute_audio_rtf ¶
RTF = audio_generation_latency / audio_content_duration.
SLO red line < 1 — must generate faster than content plays back to stream. Returns 0.0 when audio_duration_s is non-positive (caller decides whether to observe; we don't want to divide by zero or emit negative samples).
resolve_audio_sample_rate ¶
resolve_audio_sample_rate(
source: Sequence[Mapping[str, object] | object | None]
| Mapping[str, object]
| object
| None,
default: int = DEFAULT_AUDIO_SAMPLE_RATE,
) -> int
Extract audio sample rate from a dict, config object, or list thereof.
Delegates to :func:resolve_audio_sample_rate_or_none (same key chain and coerce rules). Returns default (DEFAULT_AUDIO_SAMPLE_RATE unless overridden) when no usable positive rate is present.
Used so /metrics audio_duration_s = audio_frames / sample_rate stays consistent with rates surfaced on multimodal outputs and stage configs.
resolve_audio_sample_rate_or_none ¶
resolve_audio_sample_rate_or_none(
source: Sequence[Mapping[str, object] | object | None]
| Mapping[str, object]
| object
| None,
) -> int | None
Extract an explicitly configured audio sample rate, or None when absent.
source may be:
- a Mapping (e.g.
multimodal_output/ config dict) - an object exposing the same fields as attributes
- a Sequence of the above (
str/bytesexcluded); the first positive rate found across items wins
stage_modality_flags ¶
stage_modality_flags(
final_output_type: object, output_unit_type: object
) -> StageModalityFlags
Classify a stage from wire final_output_type / output_unit_type.
stream_pcm_format_from_env ¶
stream_pcm_format_from_env(
*,
default_sample_rate: int = DEFAULT_AUDIO_SAMPLE_RATE,
default_channels: int = DEFAULT_AUDIO_CHANNELS,
) -> tuple[int, int]
Return the sample rate and channel count for streamed raw PCM.