README


Latest Release (2026/04/02)
We're happy to announce the release of Pinpoint v3.0.5.
Please check the release note at (https://github.com/pinpoint-apm/pinpoint/releases/tag/v3.0.5).
The current stable version is v3.0.5.
Live Demo
Take a quick look at Pinpoint with our demo!
PHP, PYTHON
Pinpoint also supports application written in PHP, Python. Check-out our agent repository.
About Pinpoint
Pinpoint is an APM (Application Performance Management) tool for large-scale distributed systems written in Java / PHP/PYTHON.
Inspired by Dapper,
Pinpoint provides a solution to help analyze the overall structure of the system and how components within them are interconnected by tracing transactions across distributed applications.
You should definitely check Pinpoint out If you want to
- understand your application topology at a glance
- monitor your application in Real-Time
- gain code-level visibility to every transaction
- install APM Agents without changing a single line of code
- have minimal impact on the performance (approximately 3% increase in resource usage)
Getting Started
Deploying Pinpoint to Kubernetes
Overview
Services nowadays often consist of many different components, communicating amongst themselves as well as making API calls to external services. How each and every transaction gets executed is often left as a blackbox. Pinpoint traces transaction flows between these components and provides a clear view to identify problem areas and potential bottlenecks.
For a more intimate guide, please check out our Introduction to Pinpoint video clip.
- ServerMap - Understand the topology of any distributed systems by visualizing how their components are interconnected. Clicking on a node reveals details about the component, such as its current status, and transaction count.
- Realtime Active Thread Chart - Monitor active threads inside applications in real-time.
- Request/Response Scatter Chart - Visualize request count and response patterns over time to identify potential problems. Transactions can be selected for additional detail by dragging over the chart.

- CallStack - Gain code-level visibility to every transaction in a distributed environment, identifying bottlenecks and points of failure in a single view.

- Inspector - View additional details on the application such as CPU usage, Memory/Garbage Collection, TPS, and JVM arguments.

-
URI-metric

-
Infrastructure

-
Error-Analysis

Supported Modules
- JDK 8+
- Tomcat, Jetty, JBoss EAP, Websphere, Vertx, Weblogic, Undertow, Akka HTTP
- Spring, Spring Boot (Embedded Tomcat, Jetty, Undertow, Reactor Netty), Spring WebFlux
- Apache HttpClient 3 / 4 / 5, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
- Thrift, DUBBO, GRPC, Apache CXF
- ActiveMQ, RabbitMQ, Kafka, RocketMQ, Paho MQTT
- MySQL, Oracle, MSSQL, JTDS, CUBRID, POSTGRESQL, MariaDB, Informix, Spring Data R2DBC
- Arcus, Memcached, Redis(Jedis, Lettuce, Redisson), CASSANDRA, MongoDB, Hbase, Elasticsearch
- iBATIS, MyBatis
- DBCP, DBCP2, HIKARICP, DRUID
- Gson, Jackson, Json Lib, Fastjson
- log4j, Logback, log4j2
- OpenWhisk, Kotlin Coroutines
Compatibility
Java version required to run Pinpoint:
| Pinpoint Version |
Agent |
Collector |
Web |
Batch |
| 2.0.x |
6-13 |
8 |
8 |
8 |
| 2.1.x |
6-14 |
8 |
8 |
8 |
| 2.2.x |
7-14 |
8 |
8 |
8 |
| 2.3.x |
7-17 |
8 |
8 |
8 |
| 2.4.x |
7-18 |
11 |
11 |
11 |
| 2.5.x |
8-19 |
11 |
11 |
11 |
| 3.0.x |
8-21 |
17 |
17 |
17 |
| 3.1.x |
8-24 |
17 |
17 |
17 |
HBase compatibility table:
| Pinpoint Version |
HBase 1.x |
HBase 2.x |
| 2.0.x - 2.2.x |
yes |
optional |
| 2.3.x - 2.5.x |
yes |
hbase2-module |
| 3.0.x |
no |
yes |
| 3.1.x |
no |
yes |
Agent - Collector compatibility table:
| Agent Version |
Collector 2.x.x |
Collector 3.0.x |
Collector 3.1.x |
| 2.x.x |
yes |
yes |
yes |
| 3.0.x |
no |
yes |
yes |
| 3.1.x |
no |
no |
yes |
Pinot compatibility table:
| Pinpoint Version |
Pinot 0.11.0 |
Pinot 0.12.0 |
Pinot 1.0.0 |
Pinot 1.2.0 |
Pinot 1.3.0 |
| 2.5.x |
yes |
yes |
yes |
yes |
yes |
| 3.0.x |
no |
no |
yes |
yes |
yes |
| 3.1.x |
no |
no |
no |
yes |
yes |
Community
Github issues
Gitter
We have Chinese community now, welcome to join!
👆 click me
| QQ Group1: 897594820 |
QQ Group2: 812507584 |
QQ Group3: 882020485 |
DING Group : 21981598 |
 |
 |
 |
 |
License
Pinpoint is licensed under the Apac
Extension points exported contracts — how you extend this code
ResultsExtractor (Interface)
Callback handling scanner results. Implementations of this interface perform the actual work of extracting results from [22 …
commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/ResultsExtractor.java
MetricPostProcessor (Interface)
@author minwoo.jung [11 implementers]
inspector-module/inspector-web/src/main/java/com/navercorp/pinpoint/inspector/web/definition/metric/MetricPostProcessor.java
RunnableDecorator (Interface)
@author Woonduk Kang(emeroad) [6 implementers]
collector-monitor/src/main/java/com/navercorp/pinpoint/collector/monitor/RunnableDecorator.java
ServiceNameExtractor (Interface)
@author minwoo.jung [13 implementers]
service-module/src/main/java/com/navercorp/pinpoint/service/web/resolver/ServiceNameExtractor.java
HeaderReader (Interface)
@author Woonduk Kang(emeroad) [9 implementers]
grpc/src/main/java/com/navercorp/pinpoint/grpc/HeaderReader.java
CollectorTypeParser (Interface)
@author youngjin.kim2 [56 implementers]
collector-starter/src/main/java/com/navercorp/pinpoint/collector/starter/multi/application/type/CollectorTypeParser.java
HeatmapDao (Interface)
@author minwoo-jung [41 implementers]
collector/src/main/java/com/navercorp/pinpoint/collector/heatmap/dao/HeatmapDao.java
AsyncDataSender (Interface)
@author emeroad [15 implementers]
commons-profiler/src/main/java/com/navercorp/pinpoint/common/profiler/message/AsyncDataSender.java
Core symbols most depended-on inside this repo
getClass
called by 2109
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/InstrumentEngine.java
append
called by 1488
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/interceptor/CodeBuilder.java
debug
called by 1457
agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/logging/PluginLogger.java
info
called by 1346
agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/logging/PluginLogger.java
getDeclaredMethod
called by 966
agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/instrument/InstrumentClass.java
of
called by 950
commons-server/src/main/java/com/navercorp/pinpoint/common/server/bo/stat/DataPoint.java
getLogger
called by 924
agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/logging/PluginLoggerBinder.java
verifyTrace
called by 780
agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/plugin/test/PluginTestVerifier.java
Shape
Method
35,264
Class
7,478
Interface
1,692
Function
1,119
Enum
169
Languages
Java96%
TypeScript4%
Modules by API surface
agent-module/plugins-it/thrift-it/thrift-0-14-it/src/test/java/com/navercorp/pinpoint/it/plugin/thrift/dto/EchoService.java122 symbols
agent-module/plugins-it/thrift-it/thrift-0-10-it/src/test/java/com/navercorp/pinpoint/it/plugin/thrift/dto/EchoService.java122 symbols
agent-module/agent-testweb/thrift-plugin-testweb/src/main/java/com/pinpoint/test/plugin/dto/EchoService.java122 symbols
commons-profiler/src/main/java/com/navercorp/pinpoint/common/profiler/concurrent/jsr166/ConcurrentReferenceHashMap.java119 symbols
commons-server/src/main/java/com/navercorp/pinpoint/common/server/bo/SpanBo.java108 symbols
agent-module/plugins/spring-data-r2dbc/src/main/java/com/navercorp/pinpoint/plugin/spring/r2dbc/SpringDataR2dbcPlugin.java101 symbols
commons-profiler/src/main/java/com/navercorp/pinpoint/common/profiler/concurrent/jsr166/ConcurrentWeakHashMap.java90 symbols
commons-buffer/src/main/java/com/navercorp/pinpoint/common/buffer/FixedBuffer.java74 symbols
agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoPlugin.java74 symbols
commons-mybatis/src/main/java/com/navercorp/pinpoint/mybatis/plugin/PreparedStatementParameterLogger.java72 symbols
otlptrace/otlptrace-collector/src/test/java/com/navercorp/pinpoint/otlp/trace/collector/mapper/OtlpTraceMapperUtilsTest.java65 symbols
commons-buffer/src/main/java/com/navercorp/pinpoint/common/buffer/Buffer.java63 symbols
Used by 3 indexed graphs manifest dependencies, hub-wide
Dependencies from manifests, versioned
cglib:cglib-nodep3.2.12 · 1×
ch.qos.logback:logback-classic1.2.11 · 1×
ch.qos.logback:logback-core1.2.11 · 1×
ch.qos.reload4j:reload4j1.2.25 · 1×
co.elastic.clients:elasticsearch-java8.1.2 · 1×
com.alibaba.cloud:spring-cloud-starter-stream-rocketmq2.2.9.RELEASE · 1×
com.alibaba:druid1.1.10 · 1×
com.bucket4j:bucket4j_jdk17-core8.13.1 · 1×
com.clickhouse:clickhouse-jdbc0.8.0 · 1×
com.dameng:DmJdbcDriver188.1.1.193 · 1×
com.datastax.cassandra:cassandra-driver-core3.11.3 · 1×
Datastores touched
(mysql)Database · 1 repos
(mongodb)Database · 1 repos
pinpointDatabase · 1 repos
databaseNameDatabase · 1 repos
database_nameDatabase · 1 repos
sampleDatabase · 1 repos
test_dbDatabase · 1 repos
testdbDatabase · 1 repos