我可以用正则表达式对石墨结果进行分组吗?

2024-05-15 05:47:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经使用graphite一段时间了,以便为我们的后端pythonic程序提供动力。作为使用它的一部分,我需要使用通配符对(使用sumSeries)不同的度量进行求和。在

问题是,我需要根据模式对它们进行分组;假设我有以下度量名称范围:

group.*.item.*

我需要对给定组的所有项的值求和(意思是:group.1.item.*group.2.item.*,等等)

不幸的是,我事先不知道现有组值的集合,所以我现在要做的是查询metrics/index.json,解析列表,并生成所需的查询(为在度量索引中找到的每个数字手动创建sumSeries(group.NUMBER.item.*))。在

我想知道是否有办法让graphite为我完成这项工作,并节省第一次往返的时间,因为通信和预处理的成本很高(整个过程需要一半以上的时间)

提前谢谢!在


Tags: 程序名称index度量时间模式grouppythonic
1条回答
网友
1楼 · 发布于 2024-05-15 05:47:38

如果您希望每个组都有一个单独的行,可以使用groupByNode函数。在

groupByNode(group.*.item.*, 1, "sumSeries")

其中“1”是要选择的节点(按0索引),“sumSeries”是为每个组提供数据的函数。在

您可以在这里阅读更多信息:http://graphite.readthedocs.io/en/latest/functions.html#graphite.render.functions.groupByNode

如果要将第二个节点限制为仅限数值,则可以使用字符范围。您可以通过在方括号[…]中指定范围来完成此操作。字符范围由两个用短划线(-)分隔的字符表示。在

^{pr2}$

您可以在这里阅读更多信息: http://graphite.readthedocs.io/en/latest/render_api.html#paths-and-wildcards

相关问题 更多 >

    热门问题