Skip to content

junsansi/performance_olog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

performance_olog

Using Spring interceptor capture function execute infomation!

基于Spring拦截器捕获应用中方法的执行时间。

此项实现对于业务代码侵入性极小,无须应用端发动任何现有代码,只需要引入本工程,稍做配置,即可对现有应用方法的执行时间进行记录,后续即可通过这些统计信息,分析排查和诊断优化。

应用场景广泛,即可以视为是一个最简版的APM,也可以做为应用层的慢查询日志模块。

应用方式主要有下列四个步骤:

1、配置基础依赖

可以直接引用jss_perf_olog工程,或者将之打为jar包,保存至目标工程的lib目录。

2、将applicationContext-aop-perf-log.xml文件置于适当路径

配置您的工程引用Spring上下文配置文件路径,使其能够加载applicationContext-aop-perf-log.xml中的配置(参考example/src/main/resources/spring/applicationContext-aop-perf-log.xml文件)。 注意,对于applicationContext-aop-perf-log.xml文件来说,也需要进行少许的配置,重点关注pointcut中的配置,用于指定切入的方法,在本例中拦截包名以com.jss.test开头的所有controller。

3、配置logback,指定日志文件输出路径

只需要修改日志输出级别和日志文件的保存路径即可(参考example/src/main/resources/logback.xml文件)。

4、配置perf_log.properties文件

该文件主要用于指定日志输出的一些控制参数,包括是否启用、日志采集频率,日志输出路径等等。考虑到记录和分析的便利,目前也支持写向kafka队列或redis。

感兴趣的朋友可以参考example工程,将该目录同步到本地,导出为maven工程即可运行。

About

Using Spring interceptor capture function execute infomation!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages