X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2FStatus.html;h=8dddd144e128b0c6ae701c99335ce04acf42f6ea;hb=260d39897ce64864c5e9d66dcc2f3cf24e1c5e39;hp=019470eb9c16542c3275e973a1772f1a8455575f;hpb=08cf05e4cb9a5367eae210205e38ce33a871b9e7;p=freeside.git diff --git a/httemplate/view/Status.html b/httemplate/view/Status.html index 019470eb9..8dddd144e 100644 --- a/httemplate/view/Status.html +++ b/httemplate/view/Status.html @@ -106,13 +106,47 @@ if ( _is_running('cdrd') ) { $s. 's'; } - $status{'CDR Processing'} = [ { 'title' => 'Current processing delay', 'value' => $delay, }, ]; + my $pr_delay = FS::Record->scalar_sql(' + SELECT AVG(end_date-start_date) + FROM queue_stat + GROUP BY statnum + ORDER BY statnum DESC + LIMIT 100 + '); + if ( $pr_delay ) { + my $h = int($delay/3600); + my $m = int( ($delay%3600) / 60 ); + my $s = $delay%60; + + $pr_delay = ( $h ? $h. 'h' : '' ). + ( $h||$m ? $m. 'm' : ''). + $s. 's'; + + } + $status{'CDR Processing'} = [ + { 'title' => 'Average billing time', + 'value' => $pr_delay, + }, + ]; + + my $24ago = time2str('%Y-%m-$d %X', time - 86400); + my $cdrs = FS::Record->scalar_sql(qq{ + SELECT COUNT(*) FROM cdr + WHERE ( freesidestatus IS NULL OR freesidestatus = '' ) + AND calldate > '$24ago' + }); + $status{'CDR Processing'} = [ + { 'title' => 'Unprocessed CDRs (last 24 hours)', + 'value' => $cdrs, + }, + ]; + } sub _is_running {