「Pinpoint」- 分布式系统分析工具

认识

Pinpoint,是个「应用性能管理」工具。在部署 Pinpoint 后,便可以了解到你的应用程序访问了哪些服务、访问量是多少等等。

其受到 Dapper 启发,Pinpoint 用于「分析大型分布式应用的各组件间的访问关系」,主要用于 Java/PHP 编写的应用程序。

补充说明,早期(2019),架构师推荐该工具,但是现在(2025-11-12)我们已多年未使用该工具,该部分笔记仅作记录。

组成

Agent -> Collector -> HBase Storage -> Web UI

Agent:嵌入到运行环境中,比如以 PHP 扩展或 Java Agent 形式存在,用于采集数据。并将采集的数据发送给 Collector 组件。

Collector:负责收集与处理 Agent 发送来的数据,并将这些数据写入 HBase 存储中。

HBase:负责存储数据。

Web UI:从 HBase 中读取数据并进行展示。

架构拓扑与技术细节

技术细节

WIP GitHub/pinpoint 技术概述
WIP Technical Details

快速开始

Quick-start guide(Lastest Snapshot) for simple test run of Pinpoint
Installation guide(Lastest Snapshot) for further instructions

相关链接

Overview/Architecture
Pinpoint/Videos

http://naver.github.io/pinpoint/overview.html
https://github.com/naver/pinpoint
http://naver.github.io/pinpoint/installation.html#configuration
https://naver.github.io/pinpoint/resources
https://www.google.com/search?newwindow=1&client=firefox-b-d&biw=1271&bih=561&ei=QmetXJmTIsHAjwTg55mABw&q=pinpoint+Collector+Span+Ip&oq=pinpoint+Collector+Span+Ip&gs_l=psy-ab.3..35i39.158300.159520..159858…0.0..0.283.500.2-2……0….1..gws-wiz.yYHoMSmmwEk
https://www.jianshu.com/p/266f0c15f691
https://github.com/naver/pinpoint-c-agent/issues/60
https://www.google.com/search?client=firefox-b-d&q=pinpoint+docker
https://github.com/naver/pinpoint-docker
https://github.com/naver/pinpoint-docker/tree/1.8.3/pinpoint-agent

性质

它具有如下特性(详细参考 Pinpoint 官方主页):
1)帮助你理解应用程序拓扑;
2)实时监控应用程序;
3)获得每个事务的代码级可见性;
4)无需修改应用程序代码(因为它是插入到运行环境中的);
5)对系统性能损耗较少(大约 3% 左右);

应用

Offical: http://naver.github.io/pinpoint
GitHub: https://github.com/naver/pinpoint-c-agent
Dapper: https://ai.google/research/pubs/pub36356

该部分将介绍 Pinpoint 的安装及使用。

改进

WIP

参考

Overview/Architecture