Пытаюсь добавить метку к датчику прометея. Использование метода set работает нормально, но похоже, что я не могу правильно использовать метод set_function.
В результате я просто не вижу метрики шкалы, в которой я использовал метод set_function.
Результат (очищенный) выглядит следующим образом:
# HELP Test Test help
# TYPE Test gauge
Ожидается, что в третьей строке написано Test {color = red} 123.
Вставьте в код.
#!/usr/bin/env perl
use Net::Prometheus;
my $client = Net::Prometheus->new;
$client->new_gauge(name => "Test", help => "Test help", labels => [qw/color/])->set_function('red', sub { return 123 });
print $client->render;
Не уверен, что я делаю что-то не так или это ошибка?
Прометей new_gauge- ›new_function ()
МЕТОДЫ
набор
$ gauge- ›set ([@label_values], $ value)
$ child-› set ($ value)Устанавливает текущее значение для шкалы.
Если для датчика определены какие-либо метки, сначала необходимо указать их значения.
set_function
$ gauge- ›set_function ([@label_values], $ func)
$ child-› set_function ($ func)Устанавливает функцию обратного вызова, возвращающую значение для датчика. Если манометр снабжен меткой, каждая комбинация меток требует своей функции.
При вызове функции не будут переданы аргументы, и ожидается, что она вернет одно значение
use Net::Prometheus; my $c = Net::Prometheus->new(); $c->new_gauge(help=>'',name=>'Test3',labels=>['color']);->set('red',123);print $c->render
выводитTest3{color="red"} 123
. - person Corion   schedule 27.09.2018