准备
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地址
- 访问http://localhost:9091/application.html 登录用户名及密码均为admin
- 配置应用及主机,配置主机时,ip填写从proxy获取到的ip
使用
到要attach的应用中,找到要debug的类,可以使用断点进行本地debug