X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=edca221d5998b0794fa5a53662b59f6d652514b8;hb=43ebabf558e7c5bbae6f16c67b2caf5275c72f1c;hp=66021fa57a8567a3dd53dc1a1ab4a730cce4aefa;hpb=b01f0c69c9821968a297b36d64eed9193287455a;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 66021fa..edca221 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -65,7 +65,7 @@ __PACKAGE__->stats_class('Catalyst::Stats'); # Remember to update this in Catalyst::Runtime as well! -our $VERSION = '5.7011'; +our $VERSION = '5.7012'; sub import { my ( $class, @arguments ) = @_; @@ -1266,24 +1266,35 @@ sub _stats_start_execute { } } + my $uid = "$code" . $c->counter->{"$code"}; + # is this a root-level call or a forwarded call? if ( $callsub =~ /forward$/ ) { # forward, locate the caller if ( my $parent = $c->stack->[-1] ) { - $c->stats->profile(begin => $action, - parent => "$parent" . $c->counter->{"$parent"}); + $c->stats->profile( + begin => $action, + parent => "$parent" . $c->counter->{"$parent"}, + uid => $uid, + ); } else { # forward with no caller may come from a plugin - $c->stats->profile(begin => $action); + $c->stats->profile( + begin => $action, + uid => $uid, + ); } } else { # root-level call - $c->stats->profile(begin => $action); + $c->stats->profile( + begin => $action, + uid => $uid, + ); } return $action; @@ -1291,7 +1302,7 @@ sub _stats_start_execute { sub _stats_finish_execute { my ( $c, $info ) = @_; - $c->stats->profile(end => $info); + $c->stats->profile( end => $info ); } =head2 $c->_localize_fields( sub { }, \%keys );