当前位置: 首页 > 知识库问答 >
问题:

使用graphite函数和codahale计数器数据聚合每分钟计数

司马飞
2023-03-14

我们目前的生态系统是graphite/grafana,我们使用codahale metrics java库。

我定义了一个计数器

requestCounter = registry.counter(MetricNamespaces.REQUEST_COUNT);

每次点击我们的应用程序都会增加

requestCounter.inc();

我们通过codahale观察到的是,计数器是一个累加值。。。当我们查看grafana中的原始数据时,它在一段时间内是一个不断增加的值

我在graphite中使用了哪些函数,以便获得每分钟的请求计数

我试过这个

alias(summarize(perSecond(sumSeries(app.request.count.*)), 
'1m', 'sum',     false), 'Request Count')

还有这个

hitcount(perSecond(app.request.count.*), '1m')

这似乎是不对的,有人能建议什么是推荐的方式,以及如果我们可以让codahale只发送原始数据,而不是累积计数

共有1个答案

方茂
2023-03-14

如果您想查看计数器的速率,应使用graphite API的非负竞争性函数

nonnegativedevivative(sumSeries('app.request.count.*)

您需要注意的是,您还需要为您的指标配置graphite保留策略。否则,如果度量的分辨率不符合codahale发送的方式,则会得到奇怪的未标度结果。

例如——在我们公司,codahale被配置为每两秒发送一次数据。石墨保留策略是前6小时1秒,然后是10秒。如果我们试图查看超过6小时的结果,它们的缩放不正确。我在试图解决这个问题时实际上遇到了这个问题。当我有答案时,我会在这里更新。

 类似资料:
  • 我正在查找与url匹配但返回自定义对象的记录。 我有这个模型。。 我想查询该模型并匹配url,但返回如下响应: 我需要能够通过将记录的ip与过程中的变量进行比较,动态计算反应的ip是否为真。 一次尝试是 但我似乎无法集中IP并查看我的变量IP是否在该数组中。 谢谢你的帮助。我第一次问!

  • 问题内容: 考虑Oracle表。我想用顶薪与获得职工和。还假定没有“ empno”列,并且主键涉及许多列。您可以使用以下方法执行此操作: 这可行,但我必须重复测试deptno = 20和job =’CLERK’,这是我想避免的。有没有更优雅的方式编写此代码,也许使用?顺便说一句,如果这很重要,我正在使用Oracle。 问题答案: 以下内容经过了精心设计,但对于“ top x”查询而言,这是一个很好

  • 我有一个ECS服务向CloudWatch报告通过Codahale指标收集的指标。一些指标是计数,例如向外部服务发出的请求计数。每个服务实例都维护并向CloudWatch报告自己的计数。据我所知,这意味着CloudWatch中计数的值是每个服务的个人计数,无法查看(例如总数)。如果每个实例发出300个请求,那么报告的值将是300个,但无法将其相加为900个。 修复它的最佳方法是什么?将带有 ecs

  • 本文向大家介绍pandas数据分组groupby()和统计函数agg()的使用,包括了pandas数据分组groupby()和统计函数agg()的使用的使用技巧和注意事项,需要的朋友参考一下 数据分组 使用 groupby() 方法进行分组 group.size()查看分组后每组的数量 group.groups 查看分组情况 group.get_group('名字') 根据分组后的名字选择分组数据

  • SQL 合计函数 使用 SQL 合计函数 你可以确定数据组的各种统计。你可以把这些函数用于查询和合计表达式,条件是在具备 SQL特性的 QueryDef对象中或在创建基于SQL查询的 Recordset对象时。 Avg 函数 Count 函数 First, Last 函数 Min, Max 函数 StDev, StDevP 函数 Sum 函数 Var 和 VarP 函数

  • 使用 SQL 合计函数 你可以确定数据组的各种统计。你可以把这些函数用于查询和合计表达式,条件是在具备 SQL特性的 QueryDef对象中或在创建基于SQL查询的 Recordset对象时。