- Date: 2026-01-25T20:42:23Z
- Commit:
a8dacf2 - JDK: 25.0.1 (OpenJDK 64-Bit Server VM)
- Benchmark config: 1 fork(s), 1 warmup, 1 measurement, 4 threads
- Hardware: AMD EPYC 7763 64-Core Processor, 4 cores, 16 GB RAM
- OS: Linux 6.11.0-1018-azure
| Benchmark | Score | Error | Units | |
|---|---|---|---|---|
| prometheusInc | 49.08K | ops/s | fastest | |
| prometheusNoLabelsInc | 43.94K | ops/s | 1.1x slower | |
| codahaleIncNoLabels | 39.48K | ops/s | 1.2x slower | |
| prometheusAdd | 38.37K | ops/s | 1.3x slower | |
| simpleclientInc | 6.85K | ops/s | 7.2x slower | |
| simpleclientNoLabelsInc | 6.85K | ops/s | 7.2x slower | |
| simpleclientAdd | 6.67K | ops/s | 7.4x slower | |
| openTelemetryIncNoLabels | 1.56K | ops/s | 32x slower | |
| openTelemetryInc | 1.53K | ops/s | 32x slower | |
| openTelemetryAdd | 1.25K | ops/s | 39x slower |
| Benchmark | Score | Error | Units | |
|---|---|---|---|---|
| prometheusClassic | 4.79K | ops/s | fastest | |
| simpleclient | 4.36K | ops/s | 1.1x slower | |
| prometheusNative | 3.06K | ops/s | 1.6x slower | |
| openTelemetryClassic | 663.19 | ops/s | 7.2x slower | |
| openTelemetryExponential | 561.93 | ops/s | 8.5x slower |
| Benchmark | Score | Error | Units | |
|---|---|---|---|---|
| prometheusWriteToNull | 523.11K | ops/s | fastest | |
| prometheusWriteToByteArray | 519.81K | ops/s | 1.0x slower | |
| openMetricsWriteToByteArray | 505.74K | ops/s | 1.0x slower | |
| openMetricsWriteToNull | 488.80K | ops/s | 1.1x slower |
Benchmark Mode Cnt Score Error Units
CounterBenchmark.codahaleIncNoLabels thrpt 1 39484.285 ops/s
CounterBenchmark.openTelemetryAdd thrpt 1 1252.590 ops/s
CounterBenchmark.openTelemetryInc thrpt 1 1525.810 ops/s
CounterBenchmark.openTelemetryIncNoLabels thrpt 1 1557.884 ops/s
CounterBenchmark.prometheusAdd thrpt 1 38371.092 ops/s
CounterBenchmark.prometheusInc thrpt 1 49084.106 ops/s
CounterBenchmark.prometheusNoLabelsInc thrpt 1 43935.473 ops/s
CounterBenchmark.simpleclientAdd thrpt 1 6674.021 ops/s
CounterBenchmark.simpleclientInc thrpt 1 6851.358 ops/s
CounterBenchmark.simpleclientNoLabelsInc thrpt 1 6845.473 ops/s
HistogramBenchmark.openTelemetryClassic thrpt 1 663.189 ops/s
HistogramBenchmark.openTelemetryExponential thrpt 1 561.932 ops/s
HistogramBenchmark.prometheusClassic thrpt 1 4794.897 ops/s
HistogramBenchmark.prometheusNative thrpt 1 3061.584 ops/s
HistogramBenchmark.simpleclient thrpt 1 4360.108 ops/s
TextFormatUtilBenchmark.openMetricsWriteToByteArray thrpt 1 505744.103 ops/s
TextFormatUtilBenchmark.openMetricsWriteToNull thrpt 1 488798.007 ops/s
TextFormatUtilBenchmark.prometheusWriteToByteArray thrpt 1 519808.233 ops/s
TextFormatUtilBenchmark.prometheusWriteToNull thrpt 1 523113.773 ops/s
- Score = Throughput in operations per second (higher is better)
- Error = 99.9% confidence interval
| Benchmark | Description |
|---|---|
| CounterBenchmark | Compares counter increment performance across Prometheus, OpenTelemetry, simpleclient (0.16.0), and Codahale Metrics |
| HistogramBenchmark | Compares histogram observation performance (classic buckets vs native/exponential) |
| TextFormatUtilBenchmark | Measures metric exposition format writing speed (Prometheus text vs OpenMetrics) |