Keep track of wait time per system type
[?]
Aug 17, 2015, 1:45 PM
TTBLPQAJKPRC6W23QIFTPI2MM4VYR3D3CR6F7U53WU5GJDAYJW4ACDependencies
- [2]
5N7LVAJNKeep track of requiredSystemFeatures in the machine stats - [3]
RQUAATWBAdd status dump facility - [4]
HJOEIMLRRefactor - [5]
4I2HF4L3Unindent - [6]
EYR3EW6JKeep stats for the Hydra auto scaler - [7]
MHVIT4JYSplit hydra-queue-runner.cc more - [8]
WE5Q2NVIAllow build to be bumped to the front of the queue via the web interface - [9]
46ADBTMQStart steps in order of ascending build ID - [10]
UPNGFCXGFor completeness, re-implement meta.schedulingPriority - [11]
IK2UBDAURevive jobset scheduling - [*]
24BMQDZAStart of single-process hydra-queue-runner
Change contents
- edit in src/hydra-queue-runner/dispatcher.cc at line 19
step_->runnableSince = std::chrono::system_clock::now(); - replacement in src/hydra-queue-runner/dispatcher.cc at line 147
std::unordered_map<std::string, unsigned int> runnablePerType;struct RunnablePerType{unsigned int count{0};std::chrono::seconds waitTime{0};};std::unordered_map<std::string, RunnablePerType> runnablePerType; - replacement in src/hydra-queue-runner/dispatcher.cc at line 167
runnablePerType[step->systemType]++;auto & r = runnablePerType[step->systemType];r.count++; - edit in src/hydra-queue-runner/dispatcher.cc at line 174
r.waitTime += std::chrono::duration_cast<std::chrono::seconds>(now - step_->runnableSince); - replacement in src/hydra-queue-runner/dispatcher.cc at line 230
assert(runnablePerType[step->systemType]);runnablePerType[step->systemType]--;auto & r = runnablePerType[step->systemType];assert(r.count);r.count--; - replacement in src/hydra-queue-runner/dispatcher.cc at line 255
for (auto & i : runnablePerType)(*machineTypes_)[i.first].runnable = i.second;for (auto & i : runnablePerType) {auto & j = (*machineTypes_)[i.first];j.runnable = i.second.count;j.waitTime = i.second.waitTime;} - edit in src/hydra-queue-runner/dispatcher.cc at line 262
lastDispatcherCheck = std::chrono::system_clock::to_time_t(now); - replacement in src/hydra-queue-runner/dispatcher.cc at line 326
machineType.lastActive = time(0);machineType.lastActive = std::chrono::system_clock::now(); - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 487
if (i.second.runnable > 0)nested2.attr("waitTime", i.second.waitTime.count() +i.second.runnable * (time(0) - lastDispatcherCheck)); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 491
nested2.attr("lastActive", i.second.lastActive);nested2.attr("lastActive", std::chrono::system_clock::to_time_t(i.second.lastActive)); - edit in src/hydra-queue-runner/state.hh at line 178
/* The time at which this step became runnable. */system_time runnableSince; - replacement in src/hydra-queue-runner/state.hh at line 330
time_t lastActive{0};system_time lastActive;std::chrono::seconds waitTime; // time runnable steps have been waiting - edit in src/hydra-queue-runner/state.hh at line 345
std::atomic<time_t> lastDispatcherCheck{0};