📊 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 |
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