# Always expect worst case!
my $status = -1;
eval {
+ my @stats = ();
my $handler = sub {
- my $c = $class->prepare($r);
+ my $c = $class->prepare($r);
+ $c->{stats} = \@stats;
my $action = $c->req->action;
my $namespace = '';
$namespace = ( join( '/', @{ $c->req->args } ) || '/' )
( $elapsed, $status ) = $class->benchmark($handler);
$elapsed = sprintf '%f', $elapsed;
my $av = sprintf '%.3f', 1 / $elapsed;
- $class->log->info( "Request took $elapsed" . "s ($av/s)" );
+ $class->log->info( "Request took $elapsed" . "s ($av/s)", @stats );
}
else { $status = &$handler }
};
my @params;
for my $key ( keys %{ $c->req->params } ) {
my $value = $c->req->params->{$key} || '';
- push @params, " $key=$value";
+ push @params, " $key=$value";
}
- $c->log->debug( 'Parameters', @params );
+ $c->log->debug( 'Parameters are', @params );
}
$c->prepare_uploads;
return $c;
eval {
if ( $c->debug )
{
- my $action = $c->actions->{reverse}->{"$code"} || "$code";
+ my $action = $c->actions->{reverse}->{"$code"};
+ $action = "/$action" unless $action =~ /\-\>/;
my ( $elapsed, @state ) =
$c->benchmark( $code, $class, $c, @{ $c->req->args } );
- $c->log->info( sprintf qq/Processing "$action" took %fs/, $elapsed )
- if $c->debug;
+ push @{ $c->{stats} },
+ _prettify( $action, '', sprintf( '%fs', $elapsed ) );
$c->state(@state);
}
else { $c->state( &$code( $class, $c, @{ $c->req->args } ) ) }
if ( $flags{regex} =~ /^"(.*)"$/ ) { $flags{regex} = $1 }
}
- my $reverse = $prefix ? "$method ($prefix)" : $method;
+ my $reverse = $prefix ? "$prefix/$method" : $method;
if ( $flags{local} || $flags{global} || $flags{path} ) {
my $path = $flags{path} || $method;
$self->setup_actions($comp);
}
my @comps;
- push @comps, " $_" for keys %{ $self->components };
+ push @comps, " $_" for keys %{ $self->components };
$self->log->debug( 'Loaded components', @comps )
if ( @comps && $self->debug );
my $actions = $self->actions;
$walker->( $walker, $self->tree, \@messages, '' );
$self->log->debug(@messages) if ( $#messages && $self->debug );
@messages = ('Loaded plain actions');
- for my $plain ( keys %{ $actions->{plain} } ) {
+ for my $plain ( sort keys %{ $actions->{plain} } ) {
my ( $class, $code ) = @{ $actions->{plain}->{$plain} };
push @messages, _prettify( "/$plain", $class, $code );
}
$self->log->debug(@messages) if ( $#messages && $self->debug );
@messages = ('Loaded regex actions');
- for my $regex ( keys %{ $actions->{regex} } ) {
+ for my $regex ( sort keys %{ $actions->{regex} } ) {
my ( $class, $code ) = @{ $actions->{regex}->{$regex} };
push @messages, _prettify( $regex, $class, $code );
}
}
sub _prettify {
- my ( $action, $class, $code ) = @_;
+ my ( $val1, $val2, $val3 ) = @_;
formline
-' @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @|||||||||||||| ',
- $action, $class, $code;
+' @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>>>> ',
+ $val1, $val2, $val3;
my $formatted = $^A;
$^A = '';
return $formatted;