projects
/
MojoFacets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make profile optional
[MojoFacets.git]
/
lib
/
MojoFacets.pm
diff --git
a/lib/MojoFacets.pm
b/lib/MojoFacets.pm
index
5e91832
..
ee69548
100644
(file)
--- a/
lib/MojoFacets.pm
+++ b/
lib/MojoFacets.pm
@@
-14,22
+14,30
@@
use Time::HiRes qw(time);
sub save_tx {
my ($self,$tx) = @_;
sub save_tx {
my ($self,$tx) = @_;
-
warn "
# before_dispatch req ",dump($tx->req->url, $tx->req->params);
+
# warn "#
# before_dispatch req ",dump($tx->req->url, $tx->req->params);
my $parts = $tx->req->url->path->parts;
my $parts = $tx->req->url->path->parts;
- warn "#
#
parts ",dump( $parts );
+ warn "# parts ",dump( $parts );
if ( $parts->[0] eq 'data' ) {
if ( $parts->[0] eq 'data' ) {
+ if ( my $params = $tx->req->params ) {
- my $path = '/tmp/changes/';
- mkdir $path unless -e $path;
- $path .= sprintf '%.4f.%s', time(), join('.', @$parts);
- store $tx->req->params, $path;
- # $self->log->info( "$path ", -s $path, " bytes\n" );
- warn "$path ", -s $path, " bytes\n";
+ warn "# params ",dump($params);
+ my $time = time();
+ if ( my $time_travel = $params->param('time') ) {
+ warn "# time-travel to $time_travel from ", $tx->remote_address;
+ $time = $time_travel;
+ }
+
+ my $path = '/tmp/actions/';
+ mkdir $path unless -e $path;
+ $path .= sprintf '%.4f.%s', $time, join('.', @$parts);
+
+ store $params, $path;
+ warn "$path ", -s $path, " bytes\n";
+ }
}
}
}
}
-
# This method will run once at server start
sub startup {
my $self = shift;
# This method will run once at server start
sub startup {
my $self = shift;
@@
-38,7
+46,7
@@
sub startup {
my $r = $self->routes;
# Default route
my $r = $self->routes;
# Default route
- $r->route('/:controller/:action/:id')->to('data#index', id =>
1
);
+ $r->route('/:controller/:action/:id')->to('data#index', id =>
0
);
# $self->plugin( 'request_timer' );
# $self->plugin( 'request_timer' );
@@
-49,6
+57,13
@@
sub startup {
save_tx( $self, $tx );
}
);
save_tx( $self, $tx );
}
);
+
+ eval 'use MojoFacets::Plugin::NYTProf';
+ if ( $@ ) {
+ warn "profile disabled: $@" if $@;
+ } else {
+ MojoFacets::Plugin::NYTProf->register( $self );
+ }
}
}