【转载请注明出处】:https://blog.youkuaiyun.com/huahao1989/article/details/107138980
Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,适用于用Java / PHP编写的大型分布式系统。受Dapper的启发,Pinpoint提供了一种解决方案,通过跟踪分布式应用程序之间的事务,帮助分析系统的整体结构以及它们中的组件如何相互连接。
Pinpoint的特性:
- 一目了然地了解您的应用程序拓扑
- 实时监控您的应用程序
- 获得每个事务的代码级可见性
- 使用字节码增强技术,添加新功能无需修改代码
- 对性能的影响最小(资源使用量增加约3%)
Pinpoint系统架构
Point是基于Google Dapper,使用Hbase作为存储,主要有三个组件:
- pinpoint-collector:日志收集器模块,主要手收集从agent端传来的数据信息并存储
- pinpoint-web:控制台视图模块,主要将collector的数据可视化的展示给用户
- pinpoint-agent:日志代理客户端模块,用于在客户段进行埋点来获取到监控信息
Pinpoint数据结构
Pinpoint中,核心数据结构由Span,Trace和TraceID组成: