小编Hid*_*yev的帖子

基于正则表达式对 Prometheus 查询中的标签进行分组

想象一下我有这样的指标:

sample_metric{type="some-type1-1234"} 2
sample_metric{type="some-type1-5678"} 1
sample_metric{type="some-type2-9876"} 4
sample_metric{type="some-type2-4321"} 3
Run Code Online (Sandbox Code Playgroud)

现在我想根据遵循相同模式的类型对指标值进行求和。因此,对于上面的例子,期望的结果是有 2 个和:

type1: 3
type2: 7
Run Code Online (Sandbox Code Playgroud)

这个问题与这个问题有点相似,但是就我而言,我事先不知道这些组。我只知道他们遵循的模式。有没有一种方法可以使用正则表达式通过一个查询来实现这一目标?

prometheus promql

8
推荐指数
1
解决办法
6568
查看次数

地图的std :: for_each()给出了无效的初始化错误

我是STL的新手,特别是算法库.我正在尝试迭代a std::multimap,其中键和值都是类型std::string,使用std::for_each()函数并执行一些任务.

这是我的std::multimap:

std::multimap<std::string, std::string> myMap;
for (int i = 0; i < 5; i++) {
    myMap.insert(std::make_pair("key", "value"));
}
Run Code Online (Sandbox Code Playgroud)

以下是for_each()功能线:

std::for_each(myMap.begin(), myMap.end(), ask);
Run Code Online (Sandbox Code Playgroud)

ask()功能定义如下:

void ask(std::pair<std::string, std::string>& entry) {
    // do something...
}
Run Code Online (Sandbox Code Playgroud)

该程序给我以下错误:

错误:从'std :: pair,std :: __ cxx11 :: basic_string>'类型的表达式初始化'std :: __ cxx11 :: basic_string&'类型的引用无效

我知道,问题出在for_each()功能线上,我认为这是因为ask()函数参数不正确.但据我所知,每个条目std::multimap都表示为a std::pair,所以ask()函数不应该以std::pair对象作为参数吗?

c++ stl c++11

2
推荐指数
1
解决办法
89
查看次数

标签 统计

c++ ×1

c++11 ×1

prometheus ×1

promql ×1

stl ×1