& /Elements/Header, Title => 'Time to Resolve in Queue' &> <& /RTx/Statistics/Elements/Tabs, Title => 'Time to Resolve, by ticket in Queue:' . $QueueObj->Name() &>
This page displays the same information as the Time to Resolve chart, but in a scattergraph format and only for the previous 7 calendar days. It only displays data for tickets which have been resolved. Each division on the Days axis is one day and the granularity of this chart is 30 minutes.
%Statistics::DebugInit($m); <%ARGS> $Queue => undef %ARGS> <%INIT> use RTx::Statistics; my @days = qw(Sun Mon Tue Wed Thu Fri Sat); my $n = 0; my @data = ([]); my @msgs; my @counts; Statistics::DebugClear(); Statistics::DebugLog("TimeToResolve/index.html ARGS:\n"); for my $key (keys %ARGS) { Statistics::DebugLog("ARG{ $key }=" . $ARGS{$key} . "\n"); } my $QueueObj = new RT::Queue($session{'CurrentUser'}); #if (!defined $queue) { # $QueueObj->Load($Statistics::TimeToResolveGraphQueue); # $queue = $QueueObj->Id(); #} else { $QueueObj->Load($Queue); #} my $tix = new RT::Tickets($session{'CurrentUser'}); $tix->LimitQueue (VALUE => $Queue) if $Queue; $tix->LimitStatus(VALUE => "resolved"); $tix->UnLimit; if ($tix->Count) { while (my $t = $tix->RT::SearchBuilder::Next) { # BLOODY HACK my $when = $t->ResolvedObj->Unix - $t->CreatedObj->Unix; next unless $when > 0; # Doubly bloody hack my $max = (60*60*24*2) / 1800; my $x = int($when / 1800); $counts[$x > $max ? $max : $x]++; } } %INIT>