comparison Core/JobsEngine/JobsRegistry.cpp @ 3179:fca730c267d7

New primitives to set and refresh metrics
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 30 Jan 2019 17:12:15 +0100
parents 053e72ff9fc5
children 20826867141f
comparison
equal deleted inserted replaced
3178:6d558598d713 3179:fca730c267d7
1400 } 1400 }
1401 1401
1402 1402
1403 void JobsRegistry::GetStatistics(unsigned int& pending, 1403 void JobsRegistry::GetStatistics(unsigned int& pending,
1404 unsigned int& running, 1404 unsigned int& running,
1405 unsigned int& completed) 1405 unsigned int& success,
1406 unsigned int& failed)
1406 { 1407 {
1407 boost::mutex::scoped_lock lock(mutex_); 1408 boost::mutex::scoped_lock lock(mutex_);
1408 CheckInvariants(); 1409 CheckInvariants();
1409 1410
1410 pending = 0; 1411 pending = 0;
1411 running = 0; 1412 running = 0;
1412 completed = 0; 1413 success = 0;
1414 failed = 0;
1413 1415
1414 for (JobsIndex::const_iterator it = jobsIndex_.begin(); 1416 for (JobsIndex::const_iterator it = jobsIndex_.begin();
1415 it != jobsIndex_.end(); ++it) 1417 it != jobsIndex_.end(); ++it)
1416 { 1418 {
1417 JobHandler& job = *it->second; 1419 JobHandler& job = *it->second;
1418 1420
1419 switch (job.GetState()) 1421 switch (job.GetState())
1420 { 1422 {
1421 case JobState_Retry: 1423 case JobState_Retry:
1422 case JobState_Paused:
1423 case JobState_Pending: 1424 case JobState_Pending:
1424 pending ++; 1425 pending ++;
1425 break; 1426 break;
1426 1427
1428 case JobState_Paused:
1427 case JobState_Running: 1429 case JobState_Running:
1428 running ++; 1430 running ++;
1429 break; 1431 break;
1430 1432
1431 case JobState_Success: 1433 case JobState_Success:
1434 success ++;
1435 break;
1436
1432 case JobState_Failure: 1437 case JobState_Failure:
1433 completed ++; 1438 failed ++;
1434 break; 1439 break;
1435 1440
1436 default: 1441 default:
1437 throw OrthancException(ErrorCode_InternalError); 1442 throw OrthancException(ErrorCode_InternalError);
1438 } 1443 }