hydra-evaluator: Send statistics to statsd
[?]
Jul 10, 2015, 2:40 PM
NS7SND6RF6X3CVSVP7MLAQQZFA64E63YKFFABPEAGEPHX6PNWBOQCDependencies
- [2]
4JE45C3CForce creation of a new uncached eval if jobs have been removed - [3]
RX5IIZMTUse Email::MIME instead of Email::Simple - [4]
WVD3YYONhydra-evaluator: Add some debug code - [5]
QMW24O5SAdd support for Guile & Guix. - [6]
5SHCWE7X* Prevent repeated evaluation of a jobset with the same inputs. This - [7]
IMQRX4MPhydra-eval-jobs: Use JSON instead of XML - [8]
S5PV6IIM* Represent jobs explicitly in the DB. - [9]
POPU2ATH* hydra_scheduler: use eval-jobs. - [10]
7ZHHVD6Q* Inputs of type "build" must now be declared explicitly. - [11]
SRBU2RAEWarn against multiple jobs with the same name - [12]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [13]
BTOXLRG3* Record the input containing the Nix expression (release.nix) in the - [14]
FDE3BJAP* Refactoring. - [15]
S6OISBQ3* Mark the "current" builds in a jobset, i.e. those corresponding to - [16]
3XTHEUMP* Implemented the clone feature. - [17]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [18]
WQXF2T3Dhydra-evaluator: Don't require $HYDRA_CONFIG - [19]
JOYONH2KPrevent multiple builds with the same (job, outPath) tuple from being added - [20]
X27GNHDV* Basic job info in the database. - [21]
SS4TZXNUDistinguish between permanent evaluation errors and transient input errors - [*]
N22GPKYT* Put info about logs / build products in the DB. - [*]
ZDENAYQI* email notification of evaluation errors to project owner (if desired) - [*]
RXVJFQ5AEvaluator cleanups - [*]
NI5BVF2V* In job inputs of type "build", allow the project and jobset names of
Change contents
- edit in src/script/hydra-evaluator at line 15
use Net::Statsd;use Time::HiRes qw(clock_gettime CLOCK_REALTIME); - replacement in src/script/hydra-evaluator at line 107
my $checkoutStart = time;my $checkoutStart = clock_gettime(CLOCK_REALTIME); - edit in src/script/hydra-evaluator at line 111
Net::Statsd::increment("hydra.evaluator.checkouts");my $checkoutStop = clock_gettime(CLOCK_REALTIME);Net::Statsd::timing("hydra.evaluator.checkout_time", int(($checkoutStop - $checkoutStart) * 1000)); - edit in src/script/hydra-evaluator at line 117
Net::Statsd::increment("hydra.evaluator.failed_checkouts"); - edit in src/script/hydra-evaluator at line 125
my $checkoutStop = time; - edit in src/script/hydra-evaluator at line 134
Net::Statsd::increment("hydra.evaluator.unchanged_checkouts"); - replacement in src/script/hydra-evaluator at line 142
my $evalStart = time;my $evalStart = clock_gettime(CLOCK_REALTIME); - replacement in src/script/hydra-evaluator at line 144[5.465]→[5.5550:5575](∅→∅),[5.2680]→[5.5550:5575](∅→∅),[5.11666]→[5.5550:5575](∅→∅),[5.7096]→[5.5550:5575](∅→∅)
my $evalStop = time;my $evalStop = clock_gettime(CLOCK_REALTIME);Net::Statsd::timing("hydra.evaluator.eval_time", int(($evalStop - $evalStart) * 1000)); - edit in src/script/hydra-evaluator at line 163
my $jobsetChanged = 0;my $dbStart = clock_gettime(CLOCK_REALTIME); - replacement in src/script/hydra-evaluator at line 184
my $jobsetChanged =$jobsetChanged = - replacement in src/script/hydra-evaluator at line 191
, checkouttime => abs($checkoutStop - $checkoutStart), evaltime => abs($evalStop - $evalStart), checkouttime => abs(int($checkoutStop - $checkoutStart)), evaltime => abs(int($evalStop - $evalStart)) - edit in src/script/hydra-evaluator at line 259
my $dbStop = clock_gettime(CLOCK_REALTIME); - edit in src/script/hydra-evaluator at line 262
Net::Statsd::timing("hydra.evaluator.db_time", int(($dbStop - $dbStart) * 1000));Net::Statsd::increment("hydra.evaluator.evals");Net::Statsd::increment("hydra.evaluator.cached_evals") unless $jobsetChanged; - edit in src/script/hydra-evaluator at line 288[5.1452][26.2189]
my $startTime = clock_gettime(CLOCK_REALTIME); - edit in src/script/hydra-evaluator at line 293[26.2247][5.1453]
my $stopTime = clock_gettime(CLOCK_REALTIME);Net::Statsd::timing("hydra.evaluator.total_time", int(($stopTime - $startTime) * 1000));