forked from lix-project/hydra
hydra-send-stats: add a --once option for testing
This commit is contained in:
parent
6bb180a0f2
commit
425c7ff17f
|
@ -6,6 +6,7 @@ use Hydra::Helper::Nix;
|
|||
use Net::Statsd;
|
||||
use File::Slurp;
|
||||
use JSON;
|
||||
use Getopt::Long qw(:config gnu_getopt);
|
||||
|
||||
STDERR->autoflush(1);
|
||||
binmode STDERR, ":encoding(utf8)";
|
||||
|
@ -65,6 +66,26 @@ sub sendQueueRunnerStats {
|
|||
gauge("hydra.queue.machines.in_use", scalar(grep { $_->{currentJobs} > 0 } (values %{$json->{machines}})));
|
||||
}
|
||||
|
||||
|
||||
sub showHelp {
|
||||
print <<EOF;
|
||||
Usage: $0 [--once]
|
||||
|
||||
Send stats to statsd. The --once flag can be used to send one round
|
||||
of stats and then exit.
|
||||
|
||||
Example:
|
||||
\$ $0 --once
|
||||
EOF
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $once = 0;
|
||||
|
||||
GetOptions("once" => \$once,
|
||||
"help" => sub { showHelp() }
|
||||
) or exit 1;
|
||||
|
||||
while (1) {
|
||||
eval {
|
||||
sendQueueRunnerStats();
|
||||
|
@ -78,5 +99,8 @@ while (1) {
|
|||
gauge("hydra.mem.dirty", $dirty);
|
||||
}
|
||||
|
||||
if ($once) {
|
||||
last;
|
||||
}
|
||||
sleep(30);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ use Test2::V0;
|
|||
my $db = Hydra::Model::DB->new;
|
||||
hydra_setup($db);
|
||||
|
||||
my ($res, $stdout, $stderr) = captureStdoutStderr(60, ("hydra-send-stats"));
|
||||
my ($res, $stdout, $stderr) = captureStdoutStderr(60, ("hydra-send-stats", "--once"));
|
||||
is($stdout, "", "hydra-send-stats stdout should be empty");
|
||||
is($stderr, "", "hydra-send-stats stderr should be empty");
|
||||
is($res, 0, "hydra-send-stats --once should exit zero");
|
||||
|
|
Loading…
Reference in a new issue