From 16999c8d50dc4ef79cc35d23320e0f5a2117f3c8 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 25 Aug 2015 16:34:00 -0700 Subject: [PATCH] Added jobqueue.pickup_root_age metric * This tracks the average age of the root job for jobs being run that have root jobs defined. Change-Id: Ifed709644cfa9ac60fc2b0cfd376142adebbaf68 --- includes/jobqueue/JobRunner.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/includes/jobqueue/JobRunner.php b/includes/jobqueue/JobRunner.php index 700a63dc34..130436293a 100644 --- a/includes/jobqueue/JobRunner.php +++ b/includes/jobqueue/JobRunner.php @@ -195,13 +195,20 @@ class JobRunner implements LoggerAwareInterface { $timeMs = intval( ( microtime( true ) - $jobStartTime ) * 1000 ); $timeMsTotal += $timeMs; + // Record how long jobs wait before getting popped $readyTs = $job->getReadyTimestamp(); if ( $readyTs ) { - // Record time to run for the job type $pickupDelay = $popTime - $readyTs; $stats->timing( 'jobqueue.pickup_delay.all', 1000 * $pickupDelay ); $stats->timing( "jobqueue.pickup_delay.$jType", 1000 * $pickupDelay ); } + // Record root job age for jobs being run + $root = $job->getRootJobParams(); + if ( $root['rootJobTimestamp'] ) { + $age = $popTime - wfTimestamp( TS_UNIX, $root['rootJobTimestamp'] ); + $stats->timing( "jobqueue.pickup_root_age.$jType", 1000 * $age ); + } + // Track the execution time for jobs $stats->timing( "jobqueue.run.$jType", $timeMs ); // Mark the job as done on success or when the job cannot be retried -- 2.20.1