Forráskód Böngészése

add 集成 性能分析插件 p6spy 更强劲的 SQL 分析

疯狂的狮子li 3 éve
szülő
commit
8c912a8133

+ 7 - 0
pom.xml

@@ -26,6 +26,7 @@
         <velocity.version>1.7</velocity.version>
         <jwt.version>0.9.1</jwt.version>
         <mybatis-plus.version>3.4.3</mybatis-plus.version>
+        <p6spy.version>3.9.1</p6spy.version>
         <hutool.version>5.7.6</hutool.version>
         <feign.version>3.0.3</feign.version>
         <feign-okhttp.version>11.2</feign-okhttp.version>
@@ -118,6 +119,12 @@
                 <artifactId>mybatis-plus-extension</artifactId>
                 <version>${mybatis-plus.version}</version>
             </dependency>
+            <!-- sql性能分析插件 -->
+            <dependency>
+                <groupId>p6spy</groupId>
+                <artifactId>p6spy</artifactId>
+                <version>${p6spy.version}</version>
+            </dependency>
 
             <dependency>
                 <groupId>cn.hutool</groupId>

+ 3 - 1
ruoyi-admin/src/main/resources/application-dev.yml

@@ -4,7 +4,9 @@ spring:
     type: com.alibaba.druid.pool.DruidDataSource
     # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
     dynamic:
-      #设置默认的数据源或者数据源组,默认值即为 master
+      # 性能分析插件(有性能损耗 不建议生产环境使用)
+      p6spy: true
+      # 设置默认的数据源或者数据源组,默认值即为 master
       primary: master
       datasource:
         # 主库数据源

+ 3 - 1
ruoyi-admin/src/main/resources/application-prod.yml

@@ -4,7 +4,9 @@ spring:
     type: com.alibaba.druid.pool.DruidDataSource
     # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
     dynamic:
-      #设置默认的数据源或者数据源组,默认值即为 master
+      # 性能分析插件(有性能损耗 不建议生产环境使用)
+      p6spy: false
+      # 设置默认的数据源或者数据源组,默认值即为 master
       primary: master
       datasource:
         # 主库数据源

+ 4 - 2
ruoyi-admin/src/main/resources/application.yml

@@ -162,8 +162,10 @@ mybatis-plus:
     localCacheScope: SESSION
     # 开启Mybatis二级缓存,默认为 true
     cacheEnabled: false
-    # 更详细的日志输出 会有性能损耗
-    # logImpl: org.apache.ibatis.logging.stdout.StdOutImpl
+    # 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
+    # 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
+    # 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
+    logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
   global-config:
     # 是否打印 Logo banner
     banner: true

+ 26 - 0
ruoyi-admin/src/main/resources/spy.properties

@@ -0,0 +1,26 @@
+# p6spy 性能分析插件配置文件
+modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
+# 自定义日志打印
+logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
+#日志输出到控制台
+appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
+# 使用日志系统记录 sql
+#appender=com.p6spy.engine.spy.appender.Slf4JLogger
+# 设置 p6spy driver 代理
+#deregisterdrivers=true
+# 取消JDBC URL前缀
+useprefix=true
+# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
+excludecategories=info,debug,result,commit,resultset
+# 日期格式
+dateformat=yyyy-MM-dd HH:mm:ss
+# 实际驱动可多个
+#driverlist=org.h2.Driver
+# 是否开启慢SQL记录
+outagedetection=true
+# 慢SQL记录标准 2 秒
+outagedetectioninterval=2
+# 是否过滤 Log
+filter=true
+# 过滤 Log 时所排除的表名列表,以逗号分隔
+exclude=QRTZ_

+ 5 - 0
ruoyi-common/pom.xml

@@ -152,6 +152,11 @@
             <groupId>com.baomidou</groupId>
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
         </dependency>
+        <!-- sql性能分析插件 -->
+        <dependency>
+            <groupId>p6spy</groupId>
+            <artifactId>p6spy</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>com.baomidou</groupId>