Bistoury本地debug

准备

1、从github上获取最新master代码
2、本地配置好java环境
2、本地配置好maven环境
3、tomcat环境
4、本地zk环境(使用默认配置)
5、mysql环境
注意:

  • 以下所有命令行操作均在bistoury项目根目录下操作
  • 所有启动参数均可参考:启动参数设置

开始

mysql数据库初始化

参考:数据库初始化

编译bistoury agent部分代码

执行一下脚本编译agent,同时将bistoury相关的包部署到本地maven仓库

cd script
./debug.sh

运行并启动bistoury-ui及bistoury-proxy

在tomcat中启动bistory-ui,配置启动参数:-Dbistoury.conf=${bistoury项目目录}/bistoury-ui/conf,tomcat端口9091
在tomcat中启动bistoury-proxy,配置启动参数:-Dbistoury.conf=${bistoury项目目录}/bistoury-proxy/conf,tomcat端口9090

启动将要attach的应用

  • 将bistoury agent相关jar依赖到应用中,scope为provided。在attach应用中添加如下依赖
    <properties>
        <bistoury.version>2.0.7</bistoury.version>
        <bistoury.scope>provided</bistoury.scope>
    </properties>
    <dependencies>
     	<dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-common</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-clientside-common</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-remoting</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-independent-agent</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-instrument-spy</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-instrument-agent</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-attach-common</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-magic-classes</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-attach-arthas</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
        <dependency>
            <groupId>qunar.tc.bistoury</groupId>
            <artifactId>bistoury-magic-loader</artifactId>
            <version>${bistoury.version}</version>
            <scope>${bistoury.scope}</scope>
        </dependency>
    </dependencies>
  • 获取应用PID

启动bistoury agent

  • 设置启动参数 参考: bisyoury-agent参数设置
    • -Dbistoury.proxy.host=127.0.0.1:9090(proxy的应用访问地址)
    • -Dbistoury.lib.dir=${bistoury项目地址}/bistoury-dist/target/bistoury-agent-bin/lib
    • -Dbistoury.user.pid=${要attach的应用PID}
    • -Dbistoury.app.lib.class=org.springframework.web.servlet.DispatcherServlet
  • 启动运行qunar.tc.bistoury.indpendent.agent.Main#main

应用中心配置

  • 访问http://localhost:9090/proxy.html
  • 查看agent注册到proxy的ip地址
    proxy.html
  • 访问http://localhost:9091/application.html 登录用户名及密码均为admin
  • 配置应用及主机,配置主机时,ip填写从proxy获取到的ip

使用

到要attach的应用中,找到要debug的类,可以使用断点进行本地debug
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值