Pinpoint源码解析(四)

作者: 我是嘻哈大哥 | 来源:发表于2017-05-24 16:29 被阅读451次

    本节主要分析pinpoint-collect的源码。

    1、项目结构

    采用Spring MVC构架,所以入口在web.xml,web中主要引入了applicationContext-collector.xml和servlet-context.xml文件。

    servlet-context.xml中主要定义了spring中相关内容,包括扫描control类,jsp视图,以及拦截器等。

    applicationContext-collector.xml是collector的重点,包括加载属性文件,hbase配置文件,以及相关的一些bean。

    这些bean中非常重要的一个bean就是serverAcceptor,主要作用是定义管理Thrift传输的服务端,

    他是由类PinpointServerAcceptor定义的,PinpointServerAcceptor的构造函数中主要是

    ServerBootstrap bootstrap = createBootStrap(1,WORKER_COUNT);

    setOptions(bootstrap);

    addPipeline(bootstrap);

    这三句,createBootStrap中定义了boss和worker线程池,addPipeline是将handler添加到管道中,这个handler 主要是由nettyChannelHandler定义的,nettyChannelHandler是由

    PinpointServerChannelHandler nettyChannelHandler =new PinpointServerChannelHandler();

    初始化的,在PinpointServerChannelHandler类中,定义了channelConnected,channelDisconnected,channelClosed和messageReceived方法,
    messageReceived方法根据packetType来处理包,有的存入Hbase数据库,有的产生response返回Agent。

    相关文章

      网友评论

        本文标题:Pinpoint源码解析(四)

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