// the take
Pinpoint is a Java APM and distributed-tracing system out of Naver, modeled after Google's Dapper paper. It attaches to the JVM as a bytecode-instrumenting agent to build call-level traces and topology maps across services without touching application code. It's aimed at teams running large Java stacks (Spring, Tomcat, Kafka, JDBC, etc.) who need deep transaction tracing and have the ops budget to run the backend.
The instrumentation model is the real selling point: drop in a javaagent and get call-level tracing with no source changes, and the plugin list is enormous - every major servlet container, HTTP client, JDBC driver, message queue and serialization library has a plugin. The ServerMap and CallStack views go beyond typical dashboard metrics and actually show you how a request moved through the system and where it stalled. It's been running in production at Naver's scale for over a decade, and the compatibility tables for JDK/HBase/Pinot/agent-collector pairings show the team is serious about not breaking upgrades, which is rare for a project this size.
The storage layer is HBase (or Pinot for the newer 3.x line) - that's a heavy, stateful dependency to stand up just to try the tool, and it rules out a quick docker-compose evaluation for most teams. The version compatibility matrix is a genuine trap: agent, collector, web and batch each pin to different JDK ranges, and newer agents flatly refuse to talk to older collectors, so a multi-team org has to coordinate upgrades carefully or traces silently stop flowing. The README is mostly screenshots and links out to a Gitbook site rather than actual setup instructions, so you can't get a real sense of the install process without leaving the repo. And non-JVM support (PHP, Python) is farmed out to a separate, clearly less mature agent repo, so if you're not a Java shop you're a second-class citizen here.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →