Springboot集成Javamelody

news2024/9/20 5:47:43

JavaMelody的目标是监视QA和生产环境中的Java或Java EE应用服务器。它不是模拟用户请求的工具,而是根据用户对应用程序的使用情况来衡量和计算应用程序实际操作的统计信息的工具。JavaMelody主要基于请求统计和演化图。

它允许改进QA和生产中的应用程序,并有助于:
给出关于平均响应时间和执行次数的事实
在趋势不好的时候,在问题变得太严重之前做出决定
基于更有限的响应时间进行优化
找到响应时间的根本原因
验证优化后的实际改进

详细介绍请参考https://github.com/javamelody/javamelody/wiki/UserGuide

方式一、使用javamelody的springboot starter

		<dependency>
			<groupId>net.bull.javamelody</groupId>
			<artifactId>javamelody-spring-boot-starter</artifactId>
			<version>1.85.0</version>
		</dependency>

在application.yml文件中配置属性

javamelody:
  # 启用JavaMelody自动配置(可选,默认值:true)
  enabled: true
  # 从监控中排除数据源名称(可选,逗号分隔)
  excluded-datasources: secretSource,topSecretSource
  # 启用Spring服务和控制器的监控(可选,默认:true)
  spring-monitoring-enabled: true
  # 初始化JavaMelody参数(可选)
  # 参见: https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parameters
  init-parameters:
    # 记录HTTP请求:
    log: true
    # 从监控中排除图像,css,字体和js url:
    #url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)
    # 聚合HTTP请求中的数字:
    #http-transform-pattern: \d+
    # 添加基本权限:
    authorized-users: admin:123456
    # 更改默认存储目录:
    #storage-directory: /tmp/javamelody
    # 修改默认的"/monitoring"路径:
    monitoring-path: /jpa/monitoring

方式二、使用javamelody原生的包

		<dependency>
			<groupId>net.bull.javamelody</groupId>
			<artifactId>javamelody-core</artifactId>
			<version>1.85.0</version>
		</dependency>

编写配置类注入bean

import net.bull.javamelody.MonitoringFilter;
import net.bull.javamelody.SessionListener;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;

import java.util.HashMap;
import java.util.Map;

@Configuration
public class JavaMelodyConfig {
    /**
     * 配置javamelody监控
     * spring boot会按照order值的大小,从小到大的顺序来依次过滤
     */
    @Bean
    @Order(Integer.MAX_VALUE-1)
    public FilterRegistrationBean<MonitoringFilter> monitoringFilter() {
        Map<String, String> initParameters = new HashMap<>();
        //设置账号密码
        initParameters.put("authorized-users", "admin:123456");
        //修改默认路径
        initParameters.put("monitoring-path", "/config/monitoring");
        FilterRegistrationBean<MonitoringFilter>  registration = new FilterRegistrationBean<>();
        registration.setFilter(new MonitoringFilter());
        registration.addUrlPatterns("/*");
        registration.setName("monitoring");
        registration.setInitParameters(initParameters);
        return registration;
    }

    /**
     *  配置javamelody监听器sessionListener
     */
    @Bean
    public ServletListenerRegistrationBean<SessionListener> servletListenerRegistrationBean() {
        ServletListenerRegistrationBean<SessionListener> slrBean = new ServletListenerRegistrationBean<>();
        slrBean.setListener(new SessionListener());
        return slrBean;
    }
}

 以方式二集成的结果为例,启动服务后访问http://localhost:8081/config/monitoring

端口是你当前项目的server.port端口,如果有配置servlet.context-path还需加上配置的路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1422236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海外云手机对于亚马逊卖家的作用

近年来&#xff0c;海外云手机作为一种新型模式迅速崭露头角&#xff0c;成为专业的出海SaaS平台软件。海外云手机在云端运行和存储数据&#xff0c;通过网页端操作&#xff0c;将手机芯片放置在机房&#xff0c;通过网络连接到服务器&#xff0c;为用户提供便捷的上网功能。因…

WebService的services.xml问题

WebService有多种实现方式&#xff0c;这里使用的是axis2 问题&#xff1a; 在本地开发&#xff0c;访问本地的http://localhost:8080/services/ims?wsdl&#xff0c;正常访问 但是打成jar包&#xff0c;不管是linux还是window启动&#xff0c;都访问不到&#xff0c;报错…

双创竞赛项目申报:Java + Spring Boot的实战指南

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

2024前端面试总结—JS篇(文档持续更新中。。。)

1、Event Loop&#xff08;事件循环&#xff09;机制 JS是单线程的非阻塞语言 为什么是单线程&#xff08;如果js是多线程&#xff0c;那么两个线程同时对同一个Dom进行操作&#xff0c;一个增一个删&#xff0c;浏览器该如何执行&#xff1f;&#xff09; 非阻塞&#xff08;…

如何线上发布寒假作业,让学生在线确认签收?

老师们可以利用易查分制作一个寒假作业查询系统&#xff0c;在线发布学生的寒假作业&#xff0c;让学生本人在线上获取寒假作业&#xff1b;如果希望由学生本人进行签收&#xff0c;还可通过手写签名功能来进行确认&#xff0c;确保由学生本人收到寒假作业。 &#x1f4cc;使用…

Java项目要不要部署在Docker里?

部署Java项目有很多种方式&#xff0c;传统的方式是直接在物理机或虚拟机上部署应用&#xff0c;但为什么现在容器化部署变得越来越流行&#xff0c; 个人觉得原因有以下几个&#xff1a; 1、 环境一致性&#xff1a;使用Docker可以确保开发、测试和生产环境的一致性&#xff…

管理的四种风格

前言 管理的四种风格,一般的领导大概就是这几种管理模式,告知,辅导,参与,授权,还有就是乱搞式(神经病模式)。 一、告知式 告知式是指组织通过正式、明确的渠道,将信息传达给员工。这种方式通常用于传递基本的规章制度、工作流程、政策文件等。告知式的作用在于确保员…

Yalmip学习笔记

这里写自定义目录标题 基本用法变量定义关于大MBilevel programming 注&#xff1a;这篇文章主要是留给自己查漏补缺的&#xff0c;所以从来没有使用过yalmip的读者看着会觉得跳来跳去。 基本用法 建模开始前&#xff0c;使用yalmip(clear)清空Yalmip的内部数据库。 下面是一个…

Win10+wsl2+mmdetection3d(GPU)

2024部署mmdetection3d在win10wsl2 实现过程安装wsl2安装docker与VSCode插件连接其他问题 实现过程 安装WSL2 踩坑点&#xff1a; 基于发行版安装&#xff0c;无法更新wsl1&#xff0c;查证了当前的wi10的驱动是满足要求的&#xff0c;但是无法更新。所以一定要先去更新驱动&…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson13(买东西)(餐厅点餐事宜;询问有无座位;食物如何调理:牛排、咖啡等;菜单等相关)

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 13 At the Restaurant 在餐厅会话A会话B笔记餐厅询问有无座位&#xff1b;餐厅电话订座其他餐厅询问有无座位的问法 吸烟区与非吸烟区&#xff08;smo…

序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】

序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类IO流知识回顾④】 序列化流序列化和反序列化如何实现序列化ObjectOutputStreamObjectInputStream 序列化流 什么是序列化&#xff1f;如何实现序列化&#xff1f;什么是反序列化&#xff1f;需要了解的类…

蓝桥杯嵌入式——省赛模板构建

新建一个省赛模板文件夹,在里面存放上源工程和目标工程 打开STM32CubeMX新建工程 选择芯片为STM32G431RBT6 CubeMX配置时钟系统 NVIC中断优先级分组为组4 RCC的高速时钟配置为晶振

【AI视野·今日Robot 机器人论文速览 第七十七期】Mon, 15 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 15 Jan 2024 Totally 14 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Learning Joint Space Reference Manifold for Reliable Physical Assistance Authors Amirreza Razmjoo, Tilen Brecelj, Kri…

SpringClound项目相关

nacos本机模式非虚拟机启动也可正常连接 nacos中的配置中心相当于在application.yml中的相关配置&#xff0c;转移位置&#xff0c;内容同application.yml完全一样均可。 黑马项目导入后&#xff0c;依赖缺失&#xff1a; 首先尝试maven重新加载&#xff0c;控制台提示传递依…

高精度加法模板,包装结构体

本题链接&#xff1a;用户登录 题目&#xff1a; 样例&#xff1a; 输入 123 456 输出 579 模板结构体&#xff1a; struct BigInt {string values;inline BigInt Add(const BigInt &ta,const BigInt &tb){BigInt ans;ans.values "";string sa ta.values…

ETL怎么实现文件处理

在现代企业及各类组织的日常运作中&#xff0c;数据作为一种关键的信息资源&#xff0c;其管理和分析能力直接影响到决策效率与准确性。文件作为数据的主要载体&#xff0c;承载着从运营报告、客户记录、交易明细等各种类型的数据信息。这些海量且多样的文件数据在未经处理的情…

道理都懂,就是做不到,怎么办?

世界上最遥远的距离是什么&#xff1f; 我想&#xff0c;对许多人来说&#xff0c;多半是「知」与「行」之间的距离。 想一想&#xff0c;你有多少次发出感叹&#xff1a;这些我都知道&#xff0c;但我就是做不到&#xff0c;怎么办呢&#xff1f; 有多少次&#xff0c;你反复告…

matlab自定义函数实现图像小波变换

matlab中提供了小波变换函数lwt和ilwt&#xff0c;可以方便地实现提升小波变换。 我们按照小波变换的定义&#xff0c;粗糙地实现一个针对图像的小波变换&#xff0c;如下&#xff1a; % 使用方法&#xff1a; img imread(lena256.bmp); % 假设lena.png是灰度图像 subplot(2…

dom监听元素 从display: none到页面中

其实业务中还是会碰见这样的需求的&#xff0c;特别是一些框架内不&#xff0c;这个并不是很复杂&#xff0c;我们可以考虑如何去监听到 dom元素样式属性的变化就可以 很多童鞋可能对原生js的不够熟悉&#xff0c;现在大多数同学 只要会写简单的vue操作 就可以 做一些基础的前…

华为配置在用户物理位置变化时部署业务随行示例(V200R006C00、V200R007C00、V200R008C00)

配置在用户物理位置变化时部署业务随行示例&#xff08;V200R006C00、V200R007C00、V200R008C00&#xff09; 业务随行简介配置注意事项组网需求需求分析数据规划配置思路操作步骤配置文件 组网图形 图1 组网图 业务随行简介配置注意事项组网需求需求分析数据规划配置思路操作步…