More stats

[?]
Jun 24, 2015, 11:19 AM
LE4VZIY5VZ52FOP5QQRIJINWIMWTAPRTZTGO77JXUEPGRPRSQYMAC

Dependencies

  • [2] PLOZBRTR Add command ‘hydra-queue-runner --status’ to show current status
  • [3] MB3TISH2 Rate-limit the number of threads copying closures at the same time
  • [4] DODOGD7M Send queue runner stats to statsd
  • [5] 5LBMP7GA Fix remote building
  • [6] HHOMBU7G hydra-queue-runner: Implement timeouts
  • [7] 7LB6QBXY Keep track of the number of build steps that are being built
  • [8] RYTQLATY Keep track of failed paths in the Hydra database
  • [9] 5AIYUMTB Basic remote building
  • [10] OCZ4LSGG Automatically retry aborted builds
  • [*] 24BMQDZA Start of single-process hydra-queue-runner
  • [*] PQFOMNTL hydra-queue-runner: More stats

Change contents

  • replacement in src/hydra-queue-runner/build-remote.cc at line 131
    [5.85][3.615:657](),[3.657][5.0:54](),[5.85][5.0:54]()
    TokenServer & copyClosureTokenServer,
    RemoteResult & result, counter & nrStepsBuilding)
    [5.85]
    [5.2925]
    TokenServer & copyClosureTokenServer, RemoteResult & result,
    counter & nrStepsBuilding, counter & nrStepsCopyingTo, counter & nrStepsCopyingFrom)
  • replacement in src/hydra-queue-runner/build-remote.cc at line 181
    [5.853][3.658:726]()
    copyClosureTo(store, from, to, inputs, copyClosureTokenServer);
    [5.853]
    [5.4064]
    {
    MaintainCount mc(nrStepsCopyingTo);
    copyClosureTo(store, from, to, inputs, copyClosureTokenServer);
    }
  • replacement in src/hydra-queue-runner/build-remote.cc at line 216
    [5.5027][5.5027:5074]()
    copyClosureFrom(store, from, to, outputs);
    [5.5027]
    [5.5074]
    {
    MaintainCount mc(nrStepsCopyingFrom);
    copyClosureFrom(store, from, to, outputs);
    }
  • replacement in src/hydra-queue-runner/build-remote.hh at line 26
    [5.295][3.755:797](),[3.797][5.177:232](),[5.295][5.177:232]()
    TokenServer & copyClosureTokenServer,
    RemoteResult & result, counter & nrStepsBuilding);
    [5.295]
    TokenServer & copyClosureTokenServer, RemoteResult & result,
    counter & nrStepsBuilding, counter & nrStepsCopyingTo, counter & nrStepsCopyingFrom);
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 260
    [5.523]
    [13.132]
    counter nrStepsCopyingTo{0};
    counter nrStepsCopyingFrom{0};
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1119
    [3.1265][3.1265:1307]()
    result, nrStepsBuilding);
    [3.1265]
    [5.1108]
    result, nrStepsBuilding, nrStepsCopyingTo, nrStepsCopyingFrom);
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1547
    [2.1221]
    [2.1221]
    root.attr("nrStepsCopyingTo", nrStepsCopyingTo);
    root.attr("nrStepsCopyingFrom", nrStepsCopyingFrom);
  • edit in src/script/hydra-send-stats at line 6
    [4.511]
    [4.511]
    use File::Slurp;
  • edit in src/script/hydra-send-stats at line 23
    [4.888]
    [4.888]
    gauge("hydra.queue.up", $json->{status} eq "up" ? 1 : 0);
  • edit in src/script/hydra-send-stats at line 30
    [4.1059]
    [4.1059]
    gauge("hydra.queue.steps.copying_to", $json->{nrStepsCopyingTo});
    gauge("hydra.queue.steps.copying_from", $json->{nrStepsCopyingFrom});
  • edit in src/script/hydra-send-stats at line 52
    [4.1911]
    [4.1911]
    my $meminfo = read_file("/proc/meminfo", err_mode => 'quiet') // "";
    $meminfo =~ m/Dirty:\s*(\d+) kB/;
    if (defined $1) {
    my $dirty = $1 / (1024.0 * 1024.0);
    gauge("hydra.mem.dirty", $dirty);
    }