Pinpoint源码解析(一)

Pinpoint 是用 Java 编写的APM(应用性能管理)工具,用于大规模分布式系统。在Dapper之后,Pinpoint提供了一个解决方案,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的。

安装agent是无侵入式的

对性能的影响最小(只增加约3%资源利用率)

支持的模块:

JDK 6+

Tomcat 6/7/8, Jetty 8/9

Spring, Spring Boot

Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient

Thrift Client, Thrift Service

MySQL, Oracle, MSSQL, CUBRID, DBCP, POSTGRESQL

Arcus, Memcached, Redis

iBATIS, MyBatis

gson, Jackson, Json Lib

log4j, Logback

构建要求:

JDK 6 installed

JDK 8 installed

Maven 3.2.x+ installed

JAVA_6_HOME environment variable set to JDK 6 home directory.

JAVA_7_HOME environment variable set to JDK 7+ home directory.

JAVA_8_HOME environment variable set to JDK 8+ home directory.

架构

相关截图:

Pinpoint的特点如下:

分布式事务跟踪,跟踪跨分布式应用的消息

自动检测应用拓扑,帮助你搞清楚应用的架构

水平扩展以便支持大规模服务器集群

提供代码级别的可见性以便轻松定位失败点和瓶颈

使用字节码增强技术,添加新功能而无需修改代码

安装探针不需要修改哪怕一行代码及trace server端部署简单,支持hdfs存储

具有简单的阀值触发报警功能

移植性比较强的,会比较讨人喜欢(相比cat)

插件化功能可扩展(https://github.com/naver/pinpoint/wiki/Pinpoint-Plugin-Developer-Guide)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容