Pinpoint介绍
Pinpoint 是用 Java 编写的 APM(应用性能管理)工具,用于大规模分布式系统。在 Dapper(dapper.docx) 之后,Pinpoint 提供了一个解决方案,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的。
特点
- 安装agent是无侵入的
- 对性能的影响非常小(只增加约3%资源利用率)
支持模块
- JDK6+
- Tomcate 6/7/8,Jetty 9
- Spring, Spring Boot
- Apache Http Client 3.x/4.x,JDK HttpConnector,GoogleHttpClinet,OkHttpClient,NingAsyncHttpClient
- Thrift Cliet,Thirft Service
- MySql,Oracle,MSSQL,CUBRID,DBCP,POSTGRESQL
- Arcus,Memcached,Redis
- IBATIS,MyBatis
- Gson,Jackson,Json Lib
- Log4j,Logback
构建要求
- JDK 6,7,8安装
- Maven 3.2.x+ 安装
- 环境变量设置:JAVA_6_HOME=JDK6目录,JAVA_7_HOME=JDK7目录,JAVA_8_HOME=JDK8目录
架构
作用
服务器地图(ServerMap)通过可视化分布式系统的模块和他们之间的相互联系来理解系统拓扑。点击某个节点会展示这个模块的详情,比如它当前的状态和请求数量。
实时活动线程图表(Realtime Active Thread Chart)实时监控应用内部的活动线程。
请求/应答分布图表(Request/Response Scatter Chart)长期可视化请求数量和应答模式来定位潜在问题。通过在图表上拉拽可以选择请求查看更多的详细信息。
调用栈(CallStack)在分布式环境中为每个调用生成代码级别的可视图,在单个视图中定位瓶颈和失败点。
巡查(Inspector)查看更多细节上的应用,如CPU使用率、内存/垃圾收集,TPS和JVM参数。