finds.dev← search

// the find

LinShunKang/MyPerf4J

★ 3,556 · Java · BSD-3-Clause · updated May 2026

High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.

MyPerf4J is a Java APM agent that uses ASM bytecode instrumentation to measure method-level latency with extremely low overhead — 63ns per recording, 16M recordings/sec single-threaded. It targets high-throughput, latency-sensitive Java services where you need sub-second method profiling without modifying application code. Output goes to log files or InfluxDB, visualized in Grafana.

Lock-free fixed-size int arrays for histogram storage means the hot path does no heap allocation after warmup, which is why the GC impact claim is credible. The full percentile set (TP50 through TP9999) is computed from a proper histogram, not sampled — you see every request, not a statistical approximation. Zero-code-change deployment via -javaagent makes adoption genuinely painless; uninstalling is removing two JVM flags. JVM metrics coverage is thorough: GC, memory pools, ByteBuffers, file descriptors, thread states, compilation time all in one agent.

Documentation is primarily Chinese; the English wiki exists but lags behind and some config pages are machine-translated or missing. No OTLP/OpenTelemetry export — you're locked into InfluxDB or flat log files, which means it doesn't plug into Grafana Cloud, Datadog, or any modern observability stack without custom adapters. The histogram approach trades memory for accuracy: each instrumented method gets a pre-allocated int array sized to the max response time configured, so if you set max_response_time too high or instrument many methods, heap usage grows significantly. No distributed tracing — it measures individual JVM methods but can't correlate a slow P99 back to which upstream call caused it across service boundaries.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →