Make job times include time waiting in the queue.

This is a temporary fix. The real fix will track wait time and run time both.
This commit is contained in:
JoelKatz
2013-07-22 00:40:45 -07:00
parent 5eae0b4005
commit 0e787747d3
3 changed files with 11 additions and 8 deletions

View File

@@ -44,7 +44,9 @@ void JobQueue::addLimitJob (JobType type, const std::string& name, int limit, co
if (type != jtCLIENT) // FIXME: Workaround incorrect client shutdown ordering
assert (mThreadCount != 0); // do not add jobs to a queue with no threads
mJobSet.insert (Job (type, name, limit, ++mLastJob, mJobLoads[type], jobFunc));
std::pair< std::set <Job>::iterator, bool > it =
mJobSet.insert (Job (type, name, limit, ++mLastJob, mJobLoads[type], jobFunc));
it.first->peekEvent().start(); // start timing how long it stays in the queue
++mJobCounts[type].first;
mJobCond.notify_one ();
}