Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganlia、Graphite结合,方便的提供图形化接口。基本使用方式直接将core包(目前稳定版本3.0.1)导入pom文件即可,配置如下:
<dependency>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>3.0.1</version>
</dependency>
core包主要提供如下核心功能:
Metrics Registries类似一个metrics容器,维护一个Map,可以是一个服务一个实例。
支持五种metric类型:Gauges、Counters、Meters、Histograms和Timers。
可以将metrics值通过JMX、Console,CSV文件和SLF4J loggers发布出来。
五种Metrics类型:
1. Gauges
Gauges是一个最简单的计量,一般用来统计瞬时状态的数据信息,比如系统中处于pending状态的job。测试代码
复制代码
package com.netease.test.metrics;
import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.JmxReporter;
import com.codahale.metrics.MetricRegistry;
import java.util.Queue;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
/**
* User: hzwangxx
* Date: 14-2-17
* Time: 14:47
* 测试Gauges,实时统计pending状态的job个数
*/
public class TestGauges {
/**
* 实例化一个registry,最核心的一个模块,相当于一个应用程序的metrics系统的容器,维护一个Map
*/
private static final MetricRegistry metrics = new MetricRegistry();
private static Queue<String> queue = new LinkedBlockingDeque<String>();
/**
* 在控制台上打印输出
*/
private static ConsoleReporter reporter = ConsoleReporter.forRegistry(metrics).build();
public static void main(String[] args) throws InterruptedException {
reporter.start(3, TimeUnit.SECONDS);
//实例化一个Gauge
Gauge<Integer> gauge = new Gauge<Integer>() {
@Override
public Integer getValue() {
return queue.size();
}
};
//注册到容器中
metrics.register(MetricRegistry.name(TestGauges.class, "pending-job", "size"), gauge);
//测试JMX
JmxReporter jmxReporter = JmxReporter.forRegistry(metrics).build();
jmxReporter.start();
//模拟数据
for (int i=0; i<20; i++){
queue.add("a");
Thread.sleep(1000);
}
}
}
分享到:
相关推荐
(appmetrics-破折号)提供了一个非常易于使用的基于Web的仪表板,以显示正在运行的Node.js应用程序的性能指标。 如果要将仪表板添加到应用程序创建的所有HTTP服务器,则只需添加: // Before all other 'require...
gh度量命令行工具,用于计算请求请求和给定GitHub存储库的发布指标用法使用作用域仓库。 使用npx运行该工具: GITHUB_TOKEN=<your> npx @figify/gh-metrics --a <account> --r <repository> 或直线: npx @figify/gh...
Jasome(JAH-suhm,韵律很棒)是一种源代码分析器,仅基于源代码就可以从项目中挖掘内部质量指标。 这使Jasome与类似的工具区分开来,因为它不需要首先编译甚至编译该项目。 大多数分析器仅在成功编译的项目上工作...
metrics, node.js的度量库 浮点度量 codahale库度量的node.js 端口: https://github.com/codahale/metrics指标为测量关键系统在生产中运行时的行为提供了测试工具包。许可证MIT许可证( MIT ) 版权( c
此任务与日志记录非常相似,不同之处在于指标的唯一目的是记录准备好由特定工具分析的结构化文件。 对度量的结构没有严格的要求,但可能表示度量的最接近的数据结构是字符串到对象的映射。 该映射中的每个对象值...
更好的py-motmetrics库提供了Python的度量实现,用于使用更好的错误分析工具和示例对多个对象跟踪器(MOT)进行基准测试。 虽然对单个对象跟踪器进行基准测试非常简单,但是要测量多个对象跟踪器的性能,需要仔细...
度量工具 这是的报告器,该将指标发布到 ,一个基于云的指标工具。示例用法如果您使用的是 maven,请添加以下依赖项 <dependency> <groupId>...
它已合并到,请改用它,除非您对幕后工作感到好奇或想要自定义工具链 Gotcha 指标 元 执照 安装 npm i @financial-times/n-auto-metrics --save 用法 设置 /* app.js */ import { metrics } from 'n-express' ; ...
Mutex:System Metrics Analyzer是一个命令行实用工具,用于可视化我们系统的实时运行状况,该运行状况着重于通过系统文件获取数据,处理和转储数据,从而突出显示Linux系统体系结构的功能。 该项目的主要目标是...
Metrics 是一个 Java 库,可让您深入了解代码在生产中的作用。 Metrics 提供了一个强大的工具包,用于衡量生产环境中关键组件的行为。 借助 Jetty、Logback、Log4j、Apache HttpClient、Ehcache、JDBI、Jersey 等...
RL可靠性指标RL可靠性度量标准库提供了一组度量标准,用于测量强化学习(RL)算法的可靠性。 该库还提供了统计工具,用于计算置信区间并比较这些指标上的算法。 作为输入,此库接受一组RL训练曲线或一组已经受过训练...
安装$ npm install cloudwatch-metrics或者$ npm install cloudwatch-metrics --save用法初始化默认情况下,该库会将指标记录到us-east-1区域,并从AWS开发工具包的读取AWS凭证。 如果要更改这些值,可以调用...
rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM:activerecord mongoid mongomapper和以下模板引擎:rails_best_practices rails_best_practices是用于...
该项目将提供一个工具,以不同的粒度帮助可视化指标和系统演进,从而使安全分析人员能够发现系统中的潜在问题。 此外,我们旨在提供进一步的证据来证明在预测错误(特别是安全漏洞)方面的有用指标。 为了说明这...
信息安全度量程序工具包:ISMP程序开发方法,程序开发示例项目计划,包括程序章程,策略和流程的文档集,包括度量标准存储库表的表集,度量标准跟踪器表。 在线InfoSec Metrick银行:安全度量的在线
该工具是一个CLI(命令行)工具,可以调用该工具从PostgreSQL数据库集群中提取统计数据并创建指标。 CLI可在长时间运行的进程模式下运行,该模式将定期将收集的指标向前发送。 默认的度量标准格式是兼容的JSON,由...
为了避免在从一个供应商转到另一个供应商时重写整个度量,我们决定创建一个小的抽象层,该层以统一的方式公开相似的指标。 然后,我们可以配置一个特定的提供程序以正确显示度量。 默认情况下,即使未配置任何提供...
C代码源度量标准-从C代码收集简单度量标准的工具(希望将来会支持C ++)。 度量标准可以提供对代码的大小和复杂性的洞察力(两者都可能对有效测试和维护代码的能力产生潜在影响)。 其中一些指标非常简单(并且...
指标指标是通过跟踪任意指标的工具。 在“,我们喜欢数据! 我们还将Slack用于我们的许多日常通信中。 Metrics应用程序使我们能够跟踪各种数据,而无需离开我们的正常工作流程。它是如何工作的? 我们使用Slack的来...
CK4J 一个轻量级工具,用于从编译的 Java 类中测量 Chidamber 和 Kemerer 指标。