blob: 3e134a0341e06c6f4e70884da340fee176654c07 [file] [log] [blame]
{
select: {
capture_overflows_vec: "INSPECT:audio_core.cmx:root/capturers/*/overflows:count",
capture_overflows_duration_vec: "INSPECT:audio_core.cmx:root/capturers/*/overflows:duration (ns)",
capture_sessions_duration_vec: "INSPECT:audio_core.cmx:root/capturers/*/overflows:total duration of all parent sessions (ns)",
output_device_underflows: "INSPECT:audio_core.cmx:root/output devices/000/device underflows:count",
output_device_underflows_duration: "INSPECT:audio_core.cmx:root/output devices/000/device underflows:duration (ns)",
output_device_sessions_duration: "INSPECT:audio_core.cmx:root/output devices/000/device underflows:total duration of all parent sessions (ns)",
output_pipeline_underflows: "INSPECT:audio_core.cmx:root/output devices/000/pipeline underflows:count",
output_pipeline_underflows_duration: "INSPECT:audio_core.cmx:root/output devices/000/pipeline underflows:duration (ns)",
output_pipeline_sessions_duration: "INSPECT:audio_core.cmx:root/output devices/000/pipeline underflows:total duration of all parent sessions (ns)",
render_underflows_vec: "INSPECT:audio_core.cmx:root/renderers/*/underflows:count",
render_underflows_duration_vec: "INSPECT:audio_core.cmx:root/renderers/*/underflows:duration (ns)",
render_sessions_duration_vec: "INSPECT:audio_core.cmx:root/renderers/*/underflows:total duration of all parent sessions (ns)",
},
eval: {
capture_overflows: "Fold(Fn([a,b], a+b), capture_overflows_vec, 0)",
capture_overflows_duration: "Fold(Fn([a,b], a+b), capture_overflows_duration_vec, 0)",
capture_sessions_duration: "Fold(Fn([a,b], a+b), capture_sessions_duration_vec, 0)",
render_underflows: "Fold(Fn([a,b], a+b), render_underflows_vec, 0)",
render_underflows_duration: "Fold(Fn([a,b], a+b), render_underflows_duration_vec, 0)",
render_sessions_duration: "Fold(Fn([a,b], a+b), render_sessions_duration_vec, 0)",
capture_overflows_ms_per_hour: "1000 * 3600 * capture_overflows_duration / capture_sessions_duration",
audio_core_underflows_ms_per_hour: "1000 * 3600 * (output_device_underflows_duration / output_device_sessions_duration + output_pipeline_underflows_duration / output_pipeline_sessions_duration)",
render_underflows_ms_per_hour: "1000 * 3600 * render_underflows_duration / render_sessions_duration",
},
act: {
audio_capturer_overflows_warning: {
type: "Warning",
trigger: "capture_overflows > 0",
print: "AudioCapturer overflows detected (bug in clients); expect problems with voice capture",
},
audio_capturer_overflows: {
type: "Gauge",
value: "capture_overflows",
format: "count",
},
audio_capturer_overflows_ms_per_hour: {
type: "Gauge",
value: "capture_overflows_ms_per_hour",
format: "milliseconds",
},
audio_core_underflows_warning: {
type: "Warning",
trigger: "Or(output_device_underflows > 0, output_pipeline_underflows > 0)",
print: "AudioCore underflows detected; expect glitchy audio output",
},
audio_core_device_underflows: {
type: "Gauge",
value: "output_device_underflows",
format: "count",
},
audio_core_pipeline_underflows: {
type: "Gauge",
value: "output_pipeline_underflows",
format: "count",
},
audio_core_underflows_ms_per_hour: {
type: "Gauge",
value: "audio_core_underflows_ms_per_hour",
format: "milliseconds",
},
audio_renderer_underflows_warning: {
type: "Warning",
trigger: "render_underflows > 0",
print: "AudioRender underflows detected (bug in clients); expect glitchy audio output",
},
audio_renderer_underflows: {
type: "Gauge",
value: "render_underflows",
format: "count",
},
audio_renderer_underflows_ms_per_hour: {
type: "Gauge",
value: "render_underflows_ms_per_hour",
format: "milliseconds",
},
},
}