Pinpoint源码解析(一)
Pinpoint 是用 Java 编写的APM(应用性能管理)工具,用于大规模分布式系统。在Dapper之后,Pinpoint提供了一个解决方案,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的。
安装agent是无侵入式的
【Pinpoint源码解析(一)】对性能的影响最小(只增加约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)
推荐阅读
- python|python beautifulsoup爬虫_python爬虫数据解析之BeautifulSoup
- DistSQL|DistSQL 深度解析(打造动态化的分布式数据库)
- 目标检测|【yolov6系列一】深度解析网络架构
- 目标检测|【yolov5 6.0 源码解析】---utils /augmentations.py
- React|【React组件】github搜索案例之 父子组件通信 (附源码)
- 投稿|深度解析中国巴菲特-张坤的基金二季度报
- 公网官网建站笔记(五)(域名工信部备案完整流程并解析公网访问)
- golang sync map源码阅读
- ConcurrentHashMap基于JDK1.8源码剖析
- matlab|2022 MathorCup 数学建模B题思路解析