Fork me on GitHub

Overhead

Overhead is so minimal that it is difficult to measure on most applications where the overhead gets lost in the run-to-run variance.

We have to use super fast microservices with response times in the microseconds in order to reliably detect and measure Glowroot's overhead.

The benchmark below is run against a very fast dropwizard-based microservice (benchmarking is performed using the excellent JMH).

Baseline with
Glowroot
Overhead
Response times
Average 80.0 μs 82.9 μs 2.9 μs
95th percentile 86.9 μs 89.5 μs 2.6 μs
99th percentile 97.0 μs 102.4 μs 5.4 μs
Allocated memory per request 46.6 KB 48.6 KB 2.0 KB
Benchmark environment

Intel Xeon E3-1230 v3
Linux (ubuntu) 4.4.0-31
Java 1.8.0_101-b13

For comparison, here is the same test run with a leading commercial Java APM:

Baseline with
a leading
commercial
Java APM
Overhead
Response times
Average 80.0 μs 133.6 μs 53.6 μs
95th percentile 86.9 μs 143.9 μs 57.0 μs
99th percentile 97.0 μs 157.2 μs 60.2 μs
Allocated memory per request 46.6 KB 81.2 KB 34.6 KB

Benchmark details can be found at https://github.com/glowroot/glowroot-benchmark.