statsd: add a chance to set hostname and port in hydra.conf
[?]
Feb 6, 2016, 2:44 AM
5DXGOH6QPIMK5CBZ6G3MN7UOIJRGFA3MP7C6FAFWLB7V2TAS33FACDependencies
- [2]
5MVWRWHThydra-evaluator: Don't use the "timeout" command - [3]
3JXCTKECAdd markdown files for documentation - [4]
2JJP7673tests: move to t, allow `yath test` from root - [5]
WQXF2T3Dhydra-evaluator: Don't require $HYDRA_CONFIG - [6]
JAH3UPWASupport revision control systems via plugins - [7]
IN272KZW* Automatically keep all builds in the latest successful release in - [8]
A63IHCMX* Register GC roots properly. - [9]
I6QMKSISMove getBaseUrl - [10]
CUFVKLLARemove Hydra::Helper::nix::txn_do from the Perl code - [*]
2GK5DOU7* Downloading closures. - [*]
AFTXA575* $HYDRA_DATA environment variable. - [*]
N22GPKYT* Put info about logs / build products in the DB. - [*]
WVD3YYONhydra-evaluator: Add some debug code - [*]
DODOGD7MSend queue runner stats to statsd
Change contents
- edit in doc/manual/src/installation.md at line 189
Statsd Configuration--------------------By default, Hydra will send stats to statsd at `localhost:8125`. Point Hydra to a different server via:```<statsd>host = alternative.hostport = 18125</statsd>``` - replacement in doc/manual/src/installation.md at line 249[3.15610]
- replacement in src/lib/Hydra/Helper/Nix.pm at line 18
getSCMCacheDirgetSCMCacheDir getStatsdConfig - edit in src/lib/Hydra/Helper/Nix.pm at line 58
# Return hash of statsd configuration of the following shape:# (# host => string,# port => digit# )sub getStatsdConfig {my ($config) = @_;my $cfg = $config->{statsd};my %statsd = defined $cfg ? ref $cfg eq "HASH" ? %$cfg : ($cfg) : ();return {"host" => %statsd{'host'} // 'localhost',"port" => %statsd{'port'} // 8125,}} - edit in src/script/hydra-eval-jobset at line 35
my $statsdConfig = Hydra::Helper::Nix::getStatsdConfig($config);$Net::Statsd::HOST = $statsdConfig->{'host'};$Net::Statsd::PORT = $statsdConfig->{'port'}; - edit in src/script/hydra-send-stats at line 12[16.580][16.580]
my $config = getHydraConfig();my $statsdConfig = Hydra::Helper::Nix::getStatsdConfig($config);$Net::Statsd::HOST = $statsdConfig->{'host'};$Net::Statsd::PORT = $statsdConfig->{'port'}; - file addition: Config[4.697]
- file addition: statsd.t[0.986]
use strict;use Setup;my %ctx = test_init(hydra_config => q|<statsd>host = foo.barport = 18125</statsd>|);require Hydra::Helper::Nix;use Test2::V0;is(Hydra::Helper::Nix::getStatsdConfig(Hydra::Helper::Nix::getHydraConfig()), {'host' => "foo.bar",'port' => 18125}, "Reading specific configuration from the hydra.conf works");is(Hydra::Helper::Nix::getStatsdConfig(), {'host' => "localhost",'port' => 8125}, "A totally empty configuration yields default options");is(Hydra::Helper::Nix::getStatsdConfig({"statsd" => {}}), {'host' => "localhost",'port' => 8125}, "A empty statsd block yields default options");is(Hydra::Helper::Nix::getStatsdConfig({"statsd" => {'host' => "statsdhost"}}), {'host' => "statsdhost",'port' => 8125}, "An overridden statsd host propogates, but the other defaults are returned");is(Hydra::Helper::Nix::getStatsdConfig({"statsd" => {'port' => 5218}}), {'host' => "localhost",'port' => 5218}, "An overridden statsd port propogates, but the other defaults are returned");is(Hydra::Helper::Nix::getStatsdConfig({"statsd" => {'host' => 'my.statsd.host','port' => 5218}}), {'host' => "my.statsd.host",'port' => 5218}, "An overridden statsd port and host propogate");done_testing;