-
Notifications
You must be signed in to change notification settings - Fork 6
使用及配置
jspy使用步骤大致如下:
- 下载当前应用
- 在工程目录下执行
mvn clean install
命令完成打包编译 - 启动jspy-server;
- 添加应用,并获取appCode;
- 在应用中添加jspy-client依赖,完成配置,启动服务即可。
jspy-server是一个spring-boot应用,默认配置使用了h2数据库(如条件允许建议改用mysql数据库)来存储指标数据。
jspy-server服务的默认端口是8190,如需要可以在jspy-server工程的resources/application.yml文件中进行修改:
server:
port: 8190
将jspy-server.jar上传到服务器指定位置,执行如下命令启动:
java -jar jspy-server.jar
输入jspy-server所在服务器IP和端口号,进入jspy-console首页:
首页为应用列表,点击列表右上角“增加”按钮新增应用。新增应用完成后会自动为该应用分配一个appCode(应用码)。
记住在jspy-console的IP、端口及添加的应用的appCode。
根据监控的目的和应用可以选择不同的jspy-client依赖。
如果是spring-boot服务,建议使用jspy-spring-boot-starter,添加依赖如下:
<dependency>
<groupId>org.chobit.jspy</groupId>
<artifactId>jspy-spring-boot-starter</artifactId>
<version>x.x.x</version>
</dependency>
并在application.yml添加配置如下:
jspy:
enable: true
app-code: jSpyCons
server-host: 127.0.0.1
serverPort: 8190
use-ssl: false
watcher:
enable: true
通过这里的配置,可以自动启动jspy-client。此外还启动了JSpyWatcher来统计指定方法的执行时长,以及该方法发生异常的次数。
注:使用@JSpyWatcher
注解可以用来标注需要统计执行效率的方法,使用时最好配置name
属性(需要采用唯一值)。
对于普通Java服务,有两种选择,直接使用jspy-client或使用jspy-agent。
使用jspy-client,需要添加如下依赖:
<dependency>
<groupId>org.chobit.jspy</groupId>
<artifactId>jspy-client</artifactId>
<version>x.x.x</version>
</dependency>
然后在代码中配置并启动JSpyClient
实例:
JSpyClientBuilder builder = JSpyClientBuilder.builder();
JSpyClient client = builder.appCode("appCode0")
.serverHost("127.0.0.1")
.serverPort(8190)
.build();
client.start();
注:JSpyClient
本身就是异步启动的,不需嵌套在独立线程中启动。
这种方式的不足之处在于无法获取方法指标数据。
要在普通java应用中获取方法数据,可以使用jspy-agent。这需要通过javaagent方式启动应用及jspy-agent支持。
比如启动一个普通的java服务可以使用如下命令:
java -jar myapp.jar
要在启动该服务时同时启动jspy-agent支持可以使用如下命令:
java -javaagent:../path_to_jspy_agent.jar -jar myapp.jar
也可以在启动命令上添加启动参数,如
java -javaagent:../path_to_jspy_agent.jar --h=serverHost,--p=serverPort,--c=appCode -jar myapp.jar