Add some instrumentation to keep track of dispatcher cost

[?]
Mar 2, 2016, 1:18 PM
KQ3EGUQYAFZ25JSZCY4RI554LJ3ZWACBQFHL2HTYVXIVTBEJPMGAC

Dependencies

  • [2] RKW3XA4U Fix potential race in dispatcher wakeup
  • [3] 4I2HF4L3 Unindent
  • [*] MHVIT4JY Split hydra-queue-runner.cc more
  • [*] 24BMQDZA Start of single-process hydra-queue-runner
  • [*] PLOZBRTR Add command ‘hydra-queue-runner --status’ to show current status
  • [*] HJOEIMLR Refactor

Change contents

  • edit in src/hydra-queue-runner/builder.cc at line 12
    [5.350]
    [5.350]
    nrStepsStarted++;
  • edit in src/hydra-queue-runner/dispatcher.cc at line 35
    [5.15208]
    [5.15208]
    nrDispatcherWakeups++;
    auto now1 = std::chrono::steady_clock::now();
  • edit in src/hydra-queue-runner/dispatcher.cc at line 40
    [3.40]
    [5.15255]
    auto now2 = std::chrono::steady_clock::now();
    dispatchTimeMs += std::chrono::duration_cast<std::chrono::milliseconds>(now2 - now1).count();
  • edit in src/hydra-queue-runner/dispatcher.cc at line 54
    [2.394][3.493:528](),[3.493][3.493:528]()
    nrDispatcherWakeups++;
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 553
    [7.1319]
    [7.1319]
    root.attr("nrStepsStarted", nrStepsStarted);
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 565
    [7.1574]
    [7.1574]
    root.attr("dispatchTimeMs", dispatchTimeMs);
    root.attr("dispatchTimeAvgMs", nrDispatcherWakeups == 0 ? 0.0 : (float) dispatchTimeMs / nrDispatcherWakeups);
  • edit in src/hydra-queue-runner/state.hh at line 298
    [8.5602]
    [8.5602]
    counter nrStepsStarted{0};
  • edit in src/hydra-queue-runner/state.hh at line 311
    [8.6028]
    [8.6028]
    counter dispatchTimeMs{0};