首页 > 其他分享 >简单进行Springboot Beans归属模块单元的统计分析方法

简单进行Springboot Beans归属模块单元的统计分析方法

时间:2022-11-11 23:35:02浏览次数:45  
标签:统计分析 grep Springboot deploy vo cat beans Beans txt

简单进行Springboot Beans归属模块单元的统计分析方法


背景

基于Springboot的产品变的复杂之后
启动速度会越来越慢.
公司同事得出一个结论.
beans 数量过多会导致启动速度逐渐变慢. 
之前同事写过功能进行分析. 
但是本着能不影响产品就不影响产品. 
我想通过其他方式进行处理. 所以写了这个短文
水一编..

产品改动部分

需要增加actuator的配置
# 注意产品这边为了可观测性.已经先期进行了处理. 
注意的配置有:
白名单:  - /actuator/**
然后管理节点也需要增加处理:
management:
  health:
    redis:
      enabled: true
    rabbit:
      enabled: true
  endpoint:
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: "*"

安装部分软件

最新需要安装 jq 进行 json 序列化处理.

yum install jq -y

其他的比如curl 以及 wget 一般发行版都带了
可以直接使用.

获取与分析

# 创建一个存放文件的目录
mkdir -p /deploy/beans
# 拉取beans 原始信息
curl http://127.0.0.1:5200/actuator/beans > /deploy/beans/beans_raws.txt
# json格式化
cat /deploy/beans/beans_raws.txt |jq >/deploy/beans/beans.txt
# 获取所有beans的名字
cat /deploy/beans/beans.txt | grep -E  aliases -B 1 |grep -v aliases |grep -Ev '\-\-' |awk -F ":" '{print $1}' >  /deploy/beans/beans_name.txt
# 获取所有的type信息按照命名空间进行简单分类
cat /deploy/beans/beans.txt  |grep '\"type\"' > /deploy/beans/beans_type.txt
# 获取beans总数
cat /deploy/beans/beans_name.txt |wc -l >/deploy/beans/sum_of_beans.txt
# 按照模块分析beans的数量. 注意需要替换公司的名字. 只分析自己公司的交付物.
cat /deploy/beans/beans_type.txt | grep "com.xxxxxx" |awk -F "." '{print $4}' |sort |uniq -c |sort -k1hr > /deploy/beans/num_of_module.txt
# 获取vo 相关的beans数量信息
cat /deploy/beans/beans_name.txt   |grep "\.vo\." | awk -F "." '{print $4}' |sort |uniq -c |sort -k1hr > /deploy/beans/num_of_vo.txt
# 获取vo总数
cat /deploy/beans/beans_name.txt   |grep "\.vo\." |sort |wc -l >/deploy/beans/sum_of_vo.txt

标签:统计分析,grep,Springboot,deploy,vo,cat,beans,Beans,txt
From: https://www.cnblogs.com/jinanxiaolaohu/p/16873436.html

相关文章

  • 8、Redis整合SpringBoot
    1、依赖导入<!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-......
  • 03-SpringBoot 静态资源访问
    静态资源访问类路径的根路径/拓展知识:类路径的根路径/是什么?答:简单来说,可以认为文件夹所代表的路径就是类路径的根路径。.静态资源目录(路径)基本介绍Bydefa......
  • SpringBoot整合Thymeleaf(十三)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。上一章简单介绍了SpringBoot整合Velocity(十二)如果没有看过,​​请观看上一章​​一.Thymeleaf的介绍Thym......
  • 【框架】SpringBoot
    SpringBoot基础基本工程快速建立SpringBoot工程(SpringIntailizr)工程结构application.properties配置文件templates放web页面static静态资源css、js文件......
  • 在IDEA中新建一个SpringBoot项目(两种方法)
    方法一、使用Springinitializr快速构建1.首先创建一个新的project,点击【File】->【New】->【Project】(如果是最开始进入idea软件界面,就是点击【CreateNewProject】)......
  • springboot获取项目的绝对路径和根目录
    参考:https://blog.csdn.net/f45056231p/article/details/88692444springboot获取项目的绝对路径和根目录Harvey5月前⋅11142阅读springboot获取当前项目路径的地址......
  • springboot 发布tomcat(zip包)
    废话不多说一POM调试时使用tomcat,打包时过滤tomcat包<dependencies><dependency><groupId>org.springframework.boot</groupId><......
  • springboot 引入外部包的坑Lookup method resolution failed; nested exception is ja
    手动引入jar包<dependency><groupId>com.allinpay.sdk</groupId><artifactId>top-sdk-java</artifactId><version>1.0.5</......
  • Linux-Centos springboot 部署步骤
    0. 崭新Centos7.9部署springboot一.Java安装1. 查看yum是否安装(如果有安装,则打印详情)rpm-qa|grepyum2.查看java是否安装rpm-qa|grepjava3.查找......
  • 阿里云kafka使用springboot单个项目中同时消费不同topic
    本来是个简单的问题,但是复杂了。两个topic消费方式不一样,一个使用过的是默认方式,不指定partition,另外一个,指定了特殊的partition。报错:11:10:32.888[org.springframework.......