问题标签 [codahale-metrics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

java - 为什么度量实现需要性能度量库?

我有这个原始的怀疑。Java 有很多指标库,例如http://metrics.dropwizard.io/3.1.0/getting-started/这些与拥有原始数据类型和自己进行指标有何不同?例如,这提供了一种称为计数器的功能,可用于计数测量。但这与拥有一个局部整数变量并自己递增和递减它有什么不同呢?这不仅与这个库有关,还与所有的性能指标库有关。另一个功能是健康检查。它与具有相同目的的简单布尔变量有何不同?请指教。

0 投票
0 回答
3029 浏览

go - 戈朗断管

我有一个从 TCP 连接读取的代码段,在前几个连接之后,服务器正在输出损坏的管道,但是我的 go 代码中没有发生错误。发送消息的服务器的核心是 coda hale 指标库,更具体地说是PickledGraphite类。

这是正在阅读的 Go 代码:

我的代码仍在运行,我仍然可以执行nc命令并看到我的代码收到它,所以我不确定我是如何失去连接的。如果我删除该conn.SetReadDeadline()行,那么我的代码在第一条消息之后不再收到 EOF。提前致谢

0 投票
1 回答
151 浏览

apache-spark - 如何在 Apache Spark 中启用 ExecutorAllocationManagerSource 指标?

在 Apache Spark 中启用通用指标的文档有点薄:

在一个实例中,“源”指定一组特定的分组度量。有两种来源:

Spark 内部源,如 MasterSource、WorkerSource 等,它们将收集 Spark 组件的内部状态。每个实例都与自动添加的 Spark 源配对。

常见的来源,如 JvmSource,它将收集低级状态。这些可以通过配置选项添加,然后使用反射加载。

所有示例均采用以下形式:

然而,没有一个看似合理的变化允许我发布生成的指标ExecutorAllocationManagerSource

该类没有经过单元测试,我找不到任何其他文档或示例。

0 投票
2 回答
1443 浏览

java - 使用 DropWizard 计时器查找代码块的执行时间

我经历了这个问题DropWizard Metrics Meters vs Timers并理解了计时器的概念。但是有没有一种方法可以记录代码块的执行时间,每次调用它?我不想要这个计时器的平均速率和东西,因为这个方法并不经常被调用,但在调用时会花费相当多的时间。那么有没有办法可以打印每个调用的执行时间?另外我怎样才能得到以下问题的答案

  1. 如何调查值峰值的原因?
  2. 我如何知道 Max time 事件何时发生,以便我可以查看日志并查看可能的原因?

任何帮助将非常感激。

0 投票
1 回答
2386 浏览

java - Codahale 指标计数器每天重置和计数

使用 Codahale 指标有一种方法可以计算过去 24 小时(今天)。

生成如下报告:

请求数:

响应计数:

Meter 方法可以获取最后一秒、一分钟、十五个速率。但是如何获得最后一小时和今天的计数?

下面试过了:

0 投票
1 回答
95 浏览

java - 使用 Graphite 进行统计 - 来自无服务器基础架构

我从一个新应用程序开始,该应用程序旨在按照无服务器基础架构的理念以更“云”的方式运行,其中不再有“机器”的概念,而只是在某个地方运行的应用程序。

由于 Graphite 只知道“绝对”值,通常,服务器的主机名将被编码在度量路径中以处理并发。(例如applicationname.webserver_1.requestCount)。使用 Graphite 函数,可以在构建图形时轻松合并数据。

但是,当我在无服务器环境中运行时,经典意义上的主机名不再存在 - 每次重新启动或部署应用程序时,都会为其生成一个新的随机主机名。我现在想知道的是 - 如何最好地处理这个问题。我不能使用主机名,因为这样我很快就会得到数百个不同的主机名和一个完全无法使用的石墨后端。此用例中的最佳实践是什么?

作为旁注 - 这不仅用于测量计数器,还用于测量响应时间(将应用 p99 功能)。

我想使用 dropwizard-metrics(正式称为 codahale 指标)向 grahite 发送消息,但这应该只是一个实现细节。

非常感谢你的帮助。

0 投票
0 回答
1105 浏览

java - 如何在 Windows 中安装 Ganglia 以及如何从我的 Java 应用程序建立连接?

我在我的代码中集成了 Java Metrics,现在我需要在 Ganglia Web 界面中显示结果。我浏览了指定 Windows 支持的 Ganglia 页面,但没有提供任何安装程序可供下载http://ganglia.info/?p=42 和下载页面https://sourceforge.net/projects/ganglia/files /ganglia%20monitoring%20core/3.7.1/只提供一个 Linux 文件。

如果已经这样做的人可以为我提供 Ganglia Windows 安装的步骤以及如何将我的 JVM 实例连接到 Web 界面,我将不胜感激。

0 投票
0 回答
314 浏览

java - 如何通过 JMX 使用 Dropwizard Metrics 公开十进制值?

我正在开发一个进行音频识别的 java 应用程序。我需要知道识别数据包的平均数量,但在应用程序范围内,而不是在进程范围内。识别过程结束后,它会返回给我应用程序接收的数据包数量和识别的数据包数量(应用程序实际处理的数据包)。

考虑这个例子: Process 1 Received packets - 10 Recognized packets - 4 Avg Recog packets - 0,4 (recognized / received) Process 2 Received packets - 10 Recognized packets - 6 Avg Recog packets - 0,6 Total avg recog packets = avg(0,4 + 0,6) = 0,5

问题是,我试图使用直方图度量类型,但它只接受intlong更新方法中的值。我也尝试过使用 RatioGauge,但它没有“更新”方法,每次要更新值时都需要注销并注册它,从而丢失历史记录。

那么,我怎样才能公开这个十进制值呢?

0 投票
1 回答
3153 浏览

java - 使用 Dropwizard 指标报告 JVM 的 CPU 使用率

我使用Dropwizard 指标来衡量我的应用程序中的各种指标。它们是JVM 检测中的几个预定义报告器,但奇怪的是我找不到任何报告 CPU 使用情况的报告。

我可以创建自己的 Gauge(使用getThreadCpuTime或类似工具),但我最好的猜测是我遗漏了一些东西。

我在当前的实现中错过了它,还是比我最初想象的更复杂?

0 投票
0 回答
1030 浏览

dropwizard - dropwizard 指标:graphitereporter 无法报告字符串量规

我最近开始探索 dropwizard 指标中的各种选项,并使用 GraphiteReporter 将这些选项报告给安装在 VM 上的 Graphite

我创建了几个仪表、计时器和计数器,大部分数据都正确显示在石墨作曲家窗口上。但特别是在我创建具有字符串数据类型的仪表的情况下,例如:

“hostDetails”仪表不会反映在 Graphite 上。当我使用 ConsoleReporter 打印指标(在控制台中)时,所有指标(包括字符串仪表)都以正确的值打印在控制台中。

由于字符串仪表值打印在控制台中,这意味着仪表已正确创建,但不知何故它没有反映在 Graphite 中。我对 Integer 和 Long 数据类型仪表使用了类似的代码,并且在 Graphite 中正确报告了这些代码。请告知是否有人以前遇到过类似的问题或对所需的修复有一些见解。