dropwizard metrics - 基本使用介绍

【深入浅出Java性能调优】「底层技术原理体系」详细分析探索Java服务器性能监控Metrics框架的实现原理分析(Dropwizard度量基础案例指南) 在应用在线上运行时,经常需要处理大量的数据。在业务代码中,我们通常会非常关注某些方法的调用次数和响应时间等信息。这种场景通常需要使用metrics统计来实现。为了实现这样的功能,我们可以使用现有的度量工具库,而不必自己编写度量插件。其中,一个常用的度量工具库是Dropwizard Metrics。Metrics的核心是MetricRegistry类,它是应用程序的所有指标的容器。首先,我们需要定义并创建一个核心注册组件服务,用于管理和注册Metric度量组件。 阅读详情

之前在healthcheck中介绍了如何通过metrics lib往系统中加入一些简单的健康侦测,现在讲讲dropwizard metrics更重要的部分,记录系统的度量信息。dropwizard提供了多种度量方式:最简单记数counter,复杂点的有用于计算时间分布的histogram,用于计算速率的meter,以及同时有histogram和meter功能的timer。有兴趣可以去看看实现细节,类很少,很容易读懂。
Metrics的报告方式和healthcheck非常类似,库自生提供的各种报告渠道。也可以很容易自己扩展。
Metrics提供了各种包,可以帮助简化开发。其中metrics-servlet可以直接把metrics和healthcheck的信息在web request里面展示出来。
接下来给个使用的例子,对Web应用的请求进行度量,然后通过AdminServlet获取metrics和healthcheck信息。

  • 在maven中导入需要的包
 <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-core</artifactId>
            <version>${metrics.version}</version>
        </dependency>
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-servlets</artifactId>
            <version>${metrics.version}</version>
        </dependency>
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-json</artifactId>
            <version>${metrics.version}</version>
        </dependency>
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-healthchecks</artifactId>
            <version>${metrics.version}</version>
        </dependency>
  • 创建用来注册metrics和healtcheck的servlet
public class HealthCheckServletContextListener extends HealthCheckServlet.ContextListener{

    public static final HealthCheckRegistry HEALTH_CHECK_REGISTRY = new HealthCheckRegistry();

    @Override
    protected HealthCheckRegistry getHealthCheckRegistry() {
        return HEALTH_CHECK_REGISTRY;
    }
}
public class MetricsServletContextListener extends MetricsServlet.ContextListener {

    public static final MetricRegistry METRIC_REGISTRY = new MetricRegistry();

    @Override
    protected MetricRegistry getMetricRegistry() {
        return METRIC_REGISTRY;
    }


}
  • 在Spring Web action中创建timer,加入到MetricsServletContextListener的MetricRegistery中,对每个方法开始调用time得到context,结束执行context.stop
    private final Timer executions = MetricsServletContextListener.METRIC_REGISTRY.timer(MetricRegistry.name(SignupController.class, "executions"));

    @Autowired
    private UserService userService;

    @RequestMapping(method = RequestMethod.POST)
    public String register(@Valid User user, BindingResult bindingResult, RedirectAttributes redirectAttributes) {
        final Timer.Context context = executions.time();
        if (bindingResult.hasErrors()) {
            redirectAttributes.addFlashAttribute("user", user);
            redirectAttributes.addFlashAttribute(BindingResult.MODEL_KEY_PREFIX + "user", bindingResult);
            context.stop();
            return "redirect:/";
        }
        try {
            userService.registerUser(user);
            redirectAttributes.addFlashAttribute("username", user.getUsername());
            return "redirect:/";
        } catch (UserExistsException e) {
            return "redirect:/";
        } finally {
            context.stop();
        }
    }
  • 在Web.xml中配置AdminServlet访问路径,配置2个listener
    <listener>
        <listener-class>com.cloud.demo.HealthCheckServletContextListener </listener-class>
</listener>
<listener>
        <listener-class>com.cloud.demo.MetricsServletContextListener</listener-class>
</listener>
    <servlet>
        <servlet-name>metrics</servlet-name>
        <servlet-class>com.codahale.metrics.servlets.AdminServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>metrics</servlet-name>
        <url-pattern>/metrics/*</url-pattern>
    </servlet-mapping>

这样就可以通过/metrics/healthcheck或者/metrics/metrics查看系统度量数据。

记住:系统度量最重要的是要分析系统中需要什么样的度量信息,技术实现反而不是那么重要。
更多dropwizard的功能包可以参考使用手册

SCS 43. 利用Scissor算法从单细胞数据中挖掘临床表型关联的细胞亚群 本文详细介绍了Scissor算法在单细胞转录组数据分析中的应用,该算法能够精准挖掘与临床表型关联的细胞亚群。通过建立单细胞RNA测序数据与临床预测模型的直接关联,Scissor避免了传统聚类方法的局限性,为疾病机制研究和个性化医疗提供了新工具。文章还涵盖了数据预处理、模型选择、结果验证等实战技巧。 阅读详情

相关推荐

微信聊天记录解密,必须是root的手机

手机上安装x-plore软件,将/data/data目录的相关EnMicroMsg.db auth_info_key_prefs.xml拷贝到/storge/emulated/0目录后才可以拷贝到电脑。路径:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml。但是是加密过的 需要解密 解密密码生成规则是手机IMEI+微信UIN md5(32位小写)后的前7位。安卓手机要root测试版本微信要7或者8版本都可以。选择message表。

venus60的专栏 1004

Dropwizard-metric的使用

介绍dropwizard-metric的使用方式和一些自己的理解

看了就会 1820

【面试经验】大疆笔试-计算机视觉算法B卷

3、a=np.random.randn(3,3) b=np.random.randn(3,1) ,那么c=a*b的维度应该是:*是元素乘法或者torch.mul,@才是矩阵乘法或者torch.matmul,不会触发广播机制;8、将分辨率降低一半时,精标定内参(fx、fy、cx、cy、k1、k2、k3)焦距、光心、畸变系数将分别变成(fx、fy、cx/2、cy/2、k1、k2、k3),只能搜到光心变成一半,畸变系数不变。12、KLT算法在频闪光源、重复纹理、高速机动、环境照度低的情况下效果显著下降。

litterfinger的博客 1444

【监控指标】Dropwizard Metrics使用

Dropwizard Metricsmavan引用 简单用法 count主要用于普通计数 Timer其实才是最常用的统计,集中了Mate和Histogram的功能,可以统计耗时及最小最大值 Mate用于统计TPS Histogram用于耗时统计

此家伙很懒 757

CAD制图

CAD制图可以提高设计效率和准确性,并方便文档的存档和交流,是现代工程设计中不可或缺的一部分。·CAD三维开发是指使用计算机程序和工具来创建、编辑和操作三维模型、图形和设计的过程。它在工程、建筑、制造和游戏等领域广泛应用。CAD三维开发可能涉及到复杂的图形算法、性能优化、并行计算等方面的内容,因此需要深入学习和实践,以提高开发的效率和质量。

RZer的博客 1648

【STM32】从零构建串口IAP框架:BootLoader与App双向跳转实战解析

本文详细解析了STM32串口IAP框架的构建,重点阐述了BootLoader与App双向跳转的实战原理与实现步骤。内容涵盖Flash分区规划、中断向量表重定向、通信协议设计及固件升级流程,并针对跳转失败、程序跑飞等常见问题提供了解决方案,帮助开发者掌握产品级远程升级的核心技术。

wind6的博客 838

Dropwizard Metrics 指南

Dropwizard Metrics 指南 项目介绍 Dropwizard Metrics 是一个强大且灵活的Java性能监控工具包,它允许开发者轻松地收集、处理和展示应用程序的各种指标。这个库帮助您监视应用程序健康状况,通过实时数据来优化性能,并及时发现潜在的问题。Metrics 支持计数器、计量器、直方图和定时器等不同类型的度量标准,能够集成到各种监控系统中。 项目快速启动 要快速启动Dr...

gitblog_00848的博客 1103

图解ADAS电源系统架构:看懂这张图,搞懂前装摄像头的供电秘密!

别以为ADAS系统就是“摄像头 + SoC”,其实最难搞的是供电系统,尤其是要满足车规级ASIL-D安全等级时。供电时序、电压稳定性、电源监控、冗余通信链路,一个都不能少。😤一旦电源选型不对,轻则系统卡顿,重则全车失控,不是闹着玩的。

weixin_43199439的博客 672

java metrics 简书_Dropwizard Metrics使用

概述Metrics is a Java library which gives you unparalleled insight into what your code does in production.Metrics provides a powerful toolkit of ways to measure the behavior of critical components in yo...

weixin_29323365的博客 508

60、拓扑码:从理论到应用

本博客深入探讨了拓扑码的基本理论、构造方法及其在量子计算中的应用。重点介绍了颜色码的拓扑起源、编码量子比特的计算方法、弦算子的构造与性质、边界条件的影响、同调描述以及与统计模型相关的错误阈值分析。同时,还涵盖了拓扑码的历史发展、与其他拓扑码的关系、与凝聚态系统的联系,以及其在激发态和高维中的表现。博客展示了拓扑码在容错量子计算和未来量子信息领域的广阔前景。

o1p2q3r的博客 129

金砖大赛-第二届网络安全防护治理实战技能大赛全国总决赛WP

格式进行md4加密,然后将小写的md4密文进行作为flag信息进行提交,提交格式为flag{MD4小写},例如调用频率异常高的user_id是user_xxx,使用的非公开模型名称是model-name,具体调用次数为10,那么按照格式,对user_xxx:model-name:10进行md4加密后,提交范例为:flag{dd00cb9e393f4a9ac639294b3cfe4d6a}挖矿木马是通过远程脚本进行部署的,请登录到失陷的服务器上,找到并分析挖矿木马是从那个远程IP下载的。

Laffrey的专栏 239

metrics_FlexyPool如何支持Dropwizard Metrics包重命名

metrics 介绍 FlexyPool严重依赖Dropwizard (以前称为Codahale)度量标准来监视连接池的使用情况 。 集成到Dropwizard中后,程序包名称必然会被重命名 。 因此,4.0.0版本将使用io.dropwizard.metrics软件包名称代替com.codahale.metrics 。 挑战 除了明显的向后不兼容之外,此更改最具有挑战性的方面是Mav...

最佳 Java 编程 140

magic-api的鉴权机制配置 (附实战代码)

引入magic-api及相关数据库驱动依赖 配置yml文件和编辑器JS文件 实现登录鉴权逻辑,包括用户验证和Token处理 接口鉴权拦截器设计,确保接口访问安全性 文章提供了完整的代码示例,帮助开发者快速集成magic-api框架并实现权限控制功能。

码农研究僧的博客 227

java操作Dropwizard Metrics简单篇

系统监控一直都是很重要的内容,可以让应用主动通知你系统现在的允许状况。Java世界里面Dropwizard Metrics提供了系统监控的功能,个人觉得非常好用。 首先在pom.xml里面添加 io.dropwizard.metrics metrics-core 3.1.3 io.dropwizard.metrics metrics-health

最简单的东西,往往包含了最复杂的实现。 6476

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【metrics】将dropwizard metrics收集到 prometheus

prometheus提供了对dropwizard metrics的转换逻辑

不放糖的咖啡 1155

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Dropwizard Metrics 中的 Servlet 组件详解

Dropwizard Metrics 中的 Servlet 组件详解 概述 Dropwizard Metrics 提供了一系列实用的 Servlet 组件,用于监控和管理 Java 应用程序的运行状态。这些 Servlet 可以独立使用,也可以组合在 AdminServlet 中统一管理。本文将详细介绍这些 Servlet 的功能、配置和使用方法。 HealthCheckServlet - 健康检...

gitblog_00201的博客 348

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

最完整的Dropwizard Metrics主流框架集成指南

你还在为应用性能监控发愁吗?服务器响应变慢、内存泄漏、接口超时等问题是否频繁出现却找不到根源?本文将带你一站式掌握Dropwizard Metrics与主流Java框架的集成方案,让你轻松实现应用级 metrics 监控,实时掌握系统运行状态。读完本文你将获得: - 快速搭建 Metrics 监控体系的实操步骤 - SpringBoot/SpringMVC/Jetty 等框架的无缝集成方案 - 关...

gitblog_01037的博客 470

如何使用Spectator快速集成Dropwizard Metrics?新手必看教程

Spectator是Netflix开源的客户端指标收集库,提供了与Dropwizard Metrics等主流监控框架的无缝集成方案。本教程将详细介绍如何通过Spectator实现与Dropwizard Metrics的快速集成,帮助新手轻松上手指标收集与监控功能。 ## 📌 核心集成模块介绍 Spectator通过专用模块实现与Dropwizard Metrics的集成,主要包含两个版本:

gitblog_00982的博客 453

Dropwizard Metrics 终极指南:Graphite与Prometheus监控实战

Dropwizard Metrics是构建生产级RESTful Web服务的核心组件,提供了全面的性能指标收集与监控解决方案。本文将带您深入了解如何通过Dropwizard Metrics实现对应用的实时监控,并集成Graphite与Prometheus构建完整监控体系。 ## 📊 为什么选择Dropwizard Metrics? 在现代微服务架构中,实时监控应用性能至关重要。Dropwiz

gitblog_00685的博客 830

性能瓶颈终结者:Dropwizard Metrics监控实战指南

Dropwizard Metrics是一款强大的Java应用性能监控库,能够帮助开发者轻松捕获JVM和应用级指标,让你清晰了解系统运行状况。无论是跟踪请求速率、响应时间分布还是资源利用率,它都能提供精准的数据支持,是解决性能瓶颈的终极工具。 ## 为什么选择Dropwizard Metrics? 在现代应用开发中,性能问题往往隐藏在复杂的代码逻辑中。Dropwizard Metrics通过简洁

gitblog_00157的博客 455

FlexyPool如何支持Dropwizard Metrics包重命名

介绍 FlexyPool严重依赖Dropwizard (以前是Codahale)度量标准来监视连接池的使用情况 。 集成到Dropwizard中后,程序包名称必然会被重命名 。 因此,4.0.0版本将使用io.dropwizard.metrics软件包名称代替com.codahale.metrics 。 挑战 除了明显的向后不兼容之外,此更改最具有挑战性的方面是Maven依赖项只会看...

最佳 Java 编程 216

打造可监控的线上应用dropwizard-metrics

本文介绍一个非常好用的应用监控工具框架,大名鼎鼎的dropwizard之metrics。

小9的专栏 3103

metrics-spring完全指南:Spring与Dropwizard Metrics无缝集成的终极方案

`metrics-spring`是一款强大的工具,它能让Spring应用与Dropwizard Metrics库实现无缝集成,为开发者提供了便捷的XML和Java配置方式,轻松实现应用性能指标的收集与监控。 ## 🌟 核心功能:注解驱动的指标收集 `metrics-spring`最核心的优势在于其注解驱动的开发模式,通过简单的注解即可为Spring应用添加丰富的性能指标: - **@Tim

gitblog_00251的博客 702

三步搞定网盘直链下载加速

拿到网盘文件的真实下载地址,丢进下载工具全速拉取,这件事交给网盘直链下载助手(Online-disk-direct-link-download-assistant)。它是一个基于 JavaScript 的用户脚本,覆盖百度网盘、阿里云盘、天翼云盘、迅雷云盘等八大网盘。 ## 🔍 它到底做了什么 网盘网页点"下载"常被限速,而脚本做的是解析直链:调用网盘开放 API,把分享链接换掉文件的真实下

gitblog_00305的博客 753

dropwizard metrics - healthchecks

dropwizard metrics healthcheck基本使用

cloud的技术积累 3521
上一篇: log4j+slf4j迁移到log4j2+slf4j (Servlet3.0)
下一篇: Tomcat 定制JNDI URL Resource
开心的D哥
博客等级 码龄22年 63粉丝 110原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值