On Sat, 2008-04-12 at 10:45 +0100, Richard Jones wrote: > > I think you probably want $c->stats->report, but can't think why you're > > calling this directly as it is invoked in finalize() if -Debug or -Stats > > is set. See perldoc Catalyst::Stats. > > > > Because I never got round to delving into Catalyst::Stats or > Tree::Simple inner workings. I copy/pasted the example from > http://www.onemogin.com/blog/559-adding-action-timings-to-your-output.html > into my Root::end() method and it just worked. > > At least it did until I removed the -Debug flag. And then tried to > recover functionality by updating Catalyst::Stats to the latest version, > which also updated Catalyst itself (I was using an earlier 5.70x). So > I've no idea in which module(s) the change occurred to stop the process > working. Maybe someone more familiar with these modules could offer a clue?
Following the example in the blog post, the solution is to set -Stats and change your Root::end() method to something like: @report = $stats->report; $c->stash->{'action_stats'} = [EMAIL PROTECTED]; and then adjust your template as now you're getting an array of arrays rather than an array of hashrefs. Prior to 5.7012, $c->stats was an internal object (in so far as it was not documented as part of the API) so anyone manipulating it directly does so at their own risk. Catalyst::Stats was introduced to define an interface for the stats object so that one could safely override the default implementation if they wished; the default implementation also introduced profiling methods that were not there before. -- Jon Schutz My tech notes http://notes.jschutz.net Chief Technology Officer http://www.youramigo.com YourAmigo _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/