美文网首页
APM 探针分析

APM 探针分析

作者: 邵增卫 | 来源:发表于2019-02-23 17:06 被阅读0次

    概要


    APM探针主要有侵入式探针和非侵入式探针。

    其中侵入式探针以zipkin为代表,非侵入式探针以pinpoint为代表。除此之外业内还有一些做的比较出色的APM开源产品。

    例如由大众点评网开源的CAT , 吴晟开源的个人项目并且已经纳入Apache基金会的 Skywalking ;Uber在Zipkin的基础上构建了自己的APM产品Jeager;同时随着APM的蓬勃发展CNCF推出了APM标准API opentracing,其中Zipkin,jeager等开源团队已经跟进。

    侵入式探针 VS 非侵入式探针

    侵入式探针: 通过添加代码,配置拦截器等方式实现数据采集。

    非侵入式探针: 通过修改字节码的方式实现数据采集。

    APM数据格式介绍


    Zipkin v1


    zipkin 通过Span parentID复原分布式调用关系。

    image

    Zipkin V2


    Zipkin v2中用kind(server,client)取代 v1中的ss,sr,cs,cr;同时,在一个请求中的client和server的spanID是相同的。

    image

    Pinpoint数据格式介绍


    pinpoint添加了span event的概念,利用深度和偏移量的概念建立span event的层级关系,span之间使用parent span ID恢复分布式调用。

    image

    在APM业内zipkin的数据模型更加流行,pinpoint数据模型只有pinpoint在使用,其他APM产品都是在zipkin数据模型的基础上建立的。

    APM产品的探针对比


    特性 Zipkin(brave) CAT Jeager pinpoint skywalking
    实现方式 代码埋点 代码埋点 代码埋点 字节码增强 字节码增强
    数据模型 zipkin V1 & v2 zipkin V1 & v2 zipkin V1 & v2 pinpoint zipkin V1 & v2
    实现Opentracing标准接口 Y N Y N N
    数据发送方式
    采样算法

    相关文章

      网友评论

          本文标题:APM 探针分析

          本文链接:https://www.haomeiwen.com/subject/toppyqtx.html