Skip to content

📊 Quality Metrics Catalog

Complete catalog of all metrics available in AudioLab Quality Metrics system.


Audio Quality Metrics

Distortion Metrics

Metric Type Unit Direction Standard Target (Professional)
audio.thd_percent Gauge % Lower Better IEEE 1057 < 0.001%
audio.thd_db Gauge dB Lower Better IEEE 1057 < -100 dB
audio.thd_plus_noise_percent Gauge % Lower Better IEEE 1057 < 0.003%
audio.imd_smpte_percent Gauge % Lower Better SMPTE RP120 < 0.001%

Noise Metrics

Metric Type Unit Direction Target
audio.snr_db Gauge dB Higher Better > 120 dB
audio.dynamic_range_db Gauge dB Higher Better > 120 dB
audio.noise_floor_dbfs Gauge dBFS Lower Better < -120 dBFS

Frequency Response

Metric Type Unit Direction Target
audio.frequency_response_deviation_db Gauge dB Lower Better ±0.1 dB
audio.phase_response_deviation_deg Gauge ° Lower Better < 1°
audio.group_delay_ms Gauge ms Lower Better < 1 ms

Psychoacoustic Metrics

Metric Type Unit Direction Standard Target
audio.lufs_integrated Gauge LUFS Neutral ITU-R BS.1770-4 -23 ± 1 (broadcast)
audio.lufs_momentary Gauge LUFS Neutral ITU-R BS.1770-4 < -20
audio.lufs_short_term Gauge LUFS Neutral ITU-R BS.1770-4 < -18
audio.true_peak_dbtp Gauge dBTP Lower Better ITU-R BS.1770-4 < -1 dBTP
audio.loudness_range_lu Gauge LU Lower Better EBU R128 < 20 LU

Performance Metrics

CPU Metrics

Metric Type Unit Direction Target
cpu.usage_percent Gauge % Lower Better < 50%
cpu.usage_per_voice Gauge % Lower Better < 0.5%
cpu.cycles_per_sample Histogram cycles Lower Better < 100
cpu.ipc Gauge instructions/cycle Higher Better > 2.0

Memory Metrics

Metric Type Unit Direction Target
memory.usage_bytes Gauge bytes Lower Better < 100 MB
memory.allocated_total_bytes Counter bytes - -
memory.peak_usage_bytes Gauge bytes Lower Better -
memory.cache_hit_rate_percent Gauge % Higher Better > 95%

Latency Metrics

Metric Type Unit Direction Target
latency.processing_ms Histogram ms Lower Better < 10 ms
latency.roundtrip_ms Histogram ms Lower Better < 20 ms
latency.buffer_callback_us Histogram µs Lower Better < 1000 µs
latency.p99_ms Gauge ms Lower Better < 15 ms

Throughput Metrics

Metric Type Unit Direction Target
throughput.samples_per_second Gauge samples/s Higher Better > 48000
throughput.buffers_per_second Counter buffers/s Higher Better -
throughput.voices_rendered Counter voices - -

Code Quality Metrics

Complexity Metrics

Metric Type Unit Direction Target
code.cyclomatic_complexity Gauge - Lower Better < 10
code.cognitive_complexity Gauge - Lower Better < 15
code.halstead_difficulty Gauge - Lower Better < 20
code.maintainability_index Gauge - Higher Better > 70

Coverage Metrics

Metric Type Unit Direction Target
code.line_coverage_percent Gauge % Higher Better > 90%
code.branch_coverage_percent Gauge % Higher Better > 85%
code.mutation_coverage_percent Gauge % Higher Better > 80%

Quality Metrics

Metric Type Unit Direction Target
code.lcom Gauge - Lower Better < 0.5
code.coupling Gauge - Lower Better < 5
code.technical_debt_hours Gauge hours Lower Better < 100
code.code_smells_count Gauge - Lower Better 0

System Metrics

Plugin Metrics

Metric Type Unit Direction Target
plugin.instantiation_ms Histogram ms Lower Better < 500 ms
plugin.preset_load_ms Histogram ms Lower Better < 100 ms
plugin.state_save_ms Histogram ms Lower Better < 50 ms

Stability Metrics

Metric Type Unit Direction Target
stability.crashes_total Counter - Lower Better 0
stability.audio_dropouts_total Counter - Lower Better 0
stability.uptime_hours Counter hours Higher Better -

Usage Examples

Record a Metric

auto thd_metric = REGISTER_GAUGE(
    "audio.thd_percent",
    "Total Harmonic Distortion",
    "%",
    MetricDirection::LOWER_BETTER
);

thd_metric->record(0.0008);  // 0.0008%

Query Histogram Statistics

auto latency = MetricRegistry::getInstance().getMetric("latency.processing_ms");
auto hist = std::dynamic_pointer_cast<HistogramMetric>(latency);

std::cout << "P50: " << hist->getP50() << " ms\n";
std::cout << "P95: " << hist->getP95() << " ms\n";
std::cout << "P99: " << hist->getP99() << " ms\n";

Check Against Standards

bool meets_standard = meetsProfessionalTHDStandard(thd_percent);

Total Metrics Defined: 50+ Coverage: Audio Quality, Performance, Code Quality, System