hydra-notify: initial scratch take of prometheus events
[?]
Aug 18, 2021, 6:08 PM
I7DFJWL64QNNEZVTYQYJO2YI6NYKMWXXBV2TG6G3YAVID5ANPZ2ACDependencies
- [2]
QEXFA5Y2hydra-notify: use Hydra::Event - [3]
M2JQG2SNFlake: add perlcritic deps - [4]
3AKZKWCRRunCommand: Test - [5]
32KJOERMTurn hydra-notify into a daemon - [6]
P4SME2BCAbstract over postgres' LISTEN/NOTIFY - [7]
4ZCUCACYhydra-notify: Fix processing notifications - [8]
WYELTQMOSeparate payload elements using \t - [*]
RWNXH3H2lastModified -> lastModifiedDate - [*]
IE2PRAQUhydra-queue-runner: Send build notifications - [*]
FN3QFV6Vhydra-notify: Create a helper for running each plugin on an event - [*]
CQZQE32VImprove handling of Perl's block eval errors
Change contents
- edit in flake.nix at line 473
ParallelForkManager - edit in src/script/hydra-notify at line 6
use HTTP::Server::PSGI; - edit in src/script/hydra-notify at line 13
use Parallel::ForkManager;use Prometheus::Tiny::Shared;use Time::HiRes qw( gettimeofday tv_interval );my $prom = Prometheus::Tiny::Shared->new;my $fork_manager = Parallel::ForkManager->new(1 );$fork_manager->start_child("metrics_exporter", sub {my $server = HTTP::Server::PSGI->new(host => "127.0.0.1",port => 9091,timeout => 5,); - edit in src/script/hydra-notify at line 27
$server->run($prom->psgi);}); - edit in src/script/hydra-notify at line 55
my $channelName = $event->{'channel_name'}; - edit in src/script/hydra-notify at line 59
$prom->inc("notify_plugin_executions", { channel => $channelName, plugin => ref $plugin }); - edit in src/script/hydra-notify at line 61
my $startTime = [gettimeofday()]; - edit in src/script/hydra-notify at line 63
$prom->histogram_observe("notify_plugin_runtime", tv_interval($startTime), { channel => $channelName, plugin => ref $plugin });$prom->inc("notify_plugin_success", { channel => $channelName, plugin => ref $plugin }); - edit in src/script/hydra-notify at line 68
$prom->inc("notify_plugin_error", { channel => $channelName, plugin => ref $plugin }); - edit in src/script/hydra-notify at line 88
$prom->inc("event_loop_iterations"); - replacement in src/script/hydra-notify at line 91
$prom->set("event_received", time()); - edit in src/script/hydra-notify at line 96
$prom->inc("notify_event", { channel => $channelName }); - edit in src/script/hydra-notify at line 104[13.1235][4.798]
$prom->inc("notify_event_error", { channel => $channelName });