pinpoint新增自定义插件监控

article/2025/8/23 14:18:00

pinpoint:源码地址:https://github.com/pinpoint-apm/pinpoint.git
定义:基于Google的Dapper理论,通过在程序内部的class的方法,构造方法等地方埋点,通过Java-agent技术实现类增强的一种链路追踪的监控(APM)工具,由韩国navercorp公司的团队开发并开源。
原理:我们先以简单的main方法打印1+2语句为例,来介绍一下pinpoint中使用的类增强方法。

public class aaa {public static void main(String[] args) {System.out.println(add(1,2));}public static int add(int a ,int b){return a+b;}
}

这个对于任何一位程序员或者程序初学者来说,都是再熟悉不过的一段代码。那pinpoint如果要监控这一段代码应该怎么做呢?
我们做监控的话理所当然的要很明了的知道这段代码是执行了什么方法,执行该方法花了多长时间,执行的方法的traceid(读者可自行谷歌了解一下)是什么?等等。
Java-agent的类增强技术有一个prmain方法,这个即在被增强的方法执行前先执行要增强的方法。
那我找到埋点的方法,在埋点方法前下个探针,扎他一下,在埋点前(before)记录一下时间,这段程序执行完(after)再记录一下时间,时间差就是这段程序执行了多久。在before和after上再做另外的操作,比如记录一下taceid,连接数据库的库名,程序执行时执行的语句是啥等等。
那我们在上面的例子上就可以埋点 add方法,在类增强里面做其他处理。
以pinpoint上的已有的来看一下
首先是plugin 核心的插件类:箭头所指表示埋点com.mysql.jdbc.NonRegisteringDriver,方框表示埋点的方法是:connect,椭圆的框表示connect方法里面的构造参数在这里插入图片描述
再来看一下他的拦截器:DriverConnectInterceptorV2,如我上面所提的,before prepare after

这两个文件算是pinpoint的核心类文件。
当然笔者如果要开发一个新的插件的话还需要在这里占一个坑位,这里的2100就跟mysql插件对应在这里插入图片描述
这个是他的agent代码,你新增一个新的插件要去pinpoint的web代码上添加上对应的代号就行了,这里的代号不能重复,是一一对应的,需要注意一下。笔者能力有限,关于pinpoint方面目前就这么多的领悟,如果有什么疑问的话可以邮件我讨论一下,我在空闲的时候会对好问题去一一回复。 本人邮箱:1262828055@qq.com


http://chatgpt.dhexx.cn/article/9w02QBTD.shtml

相关文章

pinpoint 安装 for spring cloud

pinpoint 安装 for spring cloud 1.环境说明2.安装步骤2.1 安装pinpoint2.2 安装agent2.2.1 下载2.2.2 agent配置2.2.3 JVM 配置2.2.4 日志中输出traceId 3.部署问题3.1 多个相同名称的项目放在一个pinpoint下监控3.2 agent id 过长问题(最大长度不能超过24个字符&a…

利用Pinpoint搭建全链路监控系统

随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪,而通过调研多个开源APM工具后,最终我们选择了Pinpoint。 简介 Pinp…

pinpoint安装部署(相关博客合集)

pinpoint安装部署 说明一、PinPoint介绍及工作原理1.1 确定部署的组件及服务 二、相关组件版本兼容情况2.1 确定版本 三、部署3.1 HBASE3.2 agent 说明 本博客写在搭建PinPoint之前,主要是用来记录查阅的相关博客资料,等到动手搭建完再更新实际部署操作…

分布式跟踪工具Pinpoint技术入门

本文初衷 因为工作需要,这周研究了一下APM(Application Performance Management)相关技术,看了些许资料,对比了各种技术的特点,最终选择Pinpoint作为性能监控工具,本文的主要目的是记录本人部署…

【Pinpoint】安装

文章目录 一. 下载1. 版本(2.3.3)2. [下载地址](https://github.com/pinpoint-apm/pinpoint/releases/tag/v2.3.3)3. 下载内容4. [hbase](http://archive.apache.org/dist/hbase/1.2.6/) 二. 安装1. 安装JDK82. 安装hbase1.2.61. 解压文件2. 修改sh文件3…

2、Pinpoint-Server端安装

0、本章节简介 安装Pinpoint服务端 采用Docker安装所以需要提前安装 docker和 docker-compose 本文使用的版本是Pinpoint:2.1版本 ps 由于Pinpoint依赖了很多的基础镜像,所以推荐不要在已经部署了程序的机器上部署,以免造成端口号冲突,推荐使…

pinpoint 介绍

基本概念 APM (Application Performance Management/应用性能管理)工具 为大规模分布式系统. 开发语言:Java. 特点: ● 低侵入性 不用改一行业务代码 ● 低性能影响(大约3%资源增长) ServerMap 可以直观的看到分布式系统拓扑结构和节点的事务数量. Realtime Active Thr…

Pinpoint--基础--02--架构设计

Pinpoint–基础–02–架构设计 1、整体架构 1.1、Pinpoint Collector 数据收集模块,接收Agent发送过来的监控数据,并存储到HBase部署在 Web 容器上 1.2、Pinpoint Web 监控展示模块,展示系统调用关系、调用详情、应用状态等,并…

PinPoint(二)技术详解

英文原文:https://naver.github.io/pinpoint/1.8.4/techdetail.html 说明:【】中内容为方便解释自己加的 在这篇文章中,我们描述了Pinpoint的技术细节比如请求追踪(transaction tracing)和字节码插装(byte…

pinpoint搭建及springboot接入使用

效果图: 搭建步骤 Pinpoint github地址:GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. 下载对应的包以及安装hbase 首先安装hbase hbase版本是1.7.1, 下载地址…

APM链路监控:PinPoint使用手册

文章目录 一、PinPoint简介二、PinPoint架构组成三、PinPoint使用说明1.首页2.请求调用栈3.服务状态4.链路事务筛选 结尾 一、PinPoint简介 pinpoint是开源在github上的一款APM监控工具,它是由java编写的,用于大规模分布式系统的监控;它对性…

Pinpoint--基础--3.1--安装部署--环境准备

Pinpoint–基础–3.1–安装部署–环境准备 前提 使用hd用户登陆 完成基础环境搭建https://blog.csdn.net/zhou920786312/article/details/118212302代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/pinpoint-learn/demo11、安装环境准备 1.1、jdk1.8 基础环…

Pinpoint分布式系统性能监控工具

Pinpoint分布式性能监控工具(docker安装) 在做性能压测的时候,你是不是有只能看到测试报告? 在做性能压测的时候,你是不是想知道每一个方法执行了多长时间? Pinpoint几乎可以帮助你查看你想看到的每一个细节。 Pinpoint是什么&…

PinPoint使用教程

这篇博客,应该是是目前为止,百度上能搜到的关于PinPoint使用教程中最详细的一份答案了。为什么这样说呢,因为我不想写PinPoint使用教程的,后来百度上搜了好久,搜烦了,一怒之下,自己出了一片最详…

Pinpoint详解(分布式链路追踪、链路监控)

英文原文:https://naver.github.io/pinpoint/1.8.4/techdetail.html 说明:【】中内容为方便解释自己加的 在这篇文章中,我们描述了Pinpoint的技术细节比如请求追踪(transaction tracing)和字节码插装(byte…

Pinpoint(一)基本概念和安装部署

Pinpoint是韩国人编写的 APM 系统,是一个分析大规模分布式系统的平台,并提供处理大量跟踪数据的解决方案。 1. 特点 分布式事务追踪,跟踪跨分布式应用的消息自动检测应用拓展水平扩展,以便支持大规模服务器集群提供代码级了践行…

全链路监控之pinpoint

一、pinpoint出现与其他相似概念比较 (1)、pinpoint概念 pinpoint是由java/PHP编写而成的,用来对大规模的分布式系统提供应用性能管理。pinpoint可以解决复杂架构下的拓扑解析与性能分析。 (2)、pinpoint的特点 分布…

APM链路监控:pinpoint安装部署实战详细手册

文章目录 一、pinpoint介绍1.pinpoint简介2.架构组成 二、安装环境准备三、HBase单机安装四、pinpoint安装1.安装pinpoint-collector2.安装pinpoint-web3.安装pinpoint-agent 五、pinpoint优化1.collector日志输出级别优化2.Hbase GC优化(jdk1.8) 结尾 一…

pinpoint使用详解(图文版)

pinpoint使用详解 用了一段时间的pinpoint发现确实挺好用的,就是功能超级多,大概整理了一下各功能的使用用法 1.首页 2.查看应用详细信息 2.1点击查看单个信息 2.2查看应用更详细信息 3.查看详细数据 错误的信息会用红色显示,可以查看错误…

synology 群晖 syslog

群晖真是太强大了,居然还有syslog功能。而且配置非常简单。在日志中心-》接收日志中就可以非常容易的配置。 以后在不方便调试的场合,就可以直接把调试信息发送到我的群晖服务器,打开看看就知道问题所在了 syslog