diff options
author | Yorhel <git@yorhel.nl> | 2010-03-10 10:55:12 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-03-10 10:55:12 +0100 |
commit | d7f850931451bf11538fea70b0dac212be346fc9 (patch) | |
tree | 68b6d92170d4cadb1fbbd237962692fb5b830c2d | |
parent | a4988cf068fa52dae3f0ff88d73564136e54f2d2 (diff) |
-rw-r--r-- | lib/YAWF.pm | 9 | ||||
-rw-r--r-- | lib/YAWF/DB.pm | 19 |
2 files changed, 15 insertions, 13 deletions
diff --git a/lib/YAWF.pm b/lib/YAWF.pm index 062cae6..4113760 100644 --- a/lib/YAWF.pm +++ b/lib/YAWF.pm @@ -45,7 +45,7 @@ sub init { $SIG{__WARN__} = sub { $YAWF::OBJ->log($_) for @_; }; # load optional modules - require Time::HiRes if $OBJ->debug; + require Time::HiRes if $OBJ->debug || $OBJ->{_YAWF}{log_slow_pages}; # load the modules $OBJ->load_modules; @@ -117,7 +117,7 @@ sub load_modules { sub handle_request { my $self = shift; - my $start = [Time::HiRes::gettimeofday()] if $self->debug; + my $start = [Time::HiRes::gettimeofday()] if $self->debug || $OBJ->{_YAWF}{log_slow_pages}; # put everything in an eval to catch any error, even # those caused by a YAWF core module @@ -201,8 +201,8 @@ sub handle_request { # log debug information in the form of: # > 12ms (SQL: 8ms, 2 qs) for http://beta.vndb.org/v10 - if($self->debug) { - + my $time = Time::HiRes::tv_interval($start)*1000 if $self->debug || $self->{_YAWF}{log_slow_pages}; + if($self->debug || ($self->{_YAWF}{log_slow_pages} && $self->{_YAWF}{log_slow_pages} < $time)) { # SQL stats (don't count the ping and commit as queries, but do count their time) my($sqlt, $sqlc) = (0); if($self->{_YAWF}{db_login}) { @@ -211,7 +211,6 @@ sub handle_request { for (@{$self->{_YAWF}{DB}{queries}}); } - my $time = Time::HiRes::tv_interval($start)*1000; $self->log(sprintf('>%4dms (SQL:%4dms,%3d qs) for %s', $time, $sqlt, $sqlc, $self->reqURI), 1); } diff --git a/lib/YAWF/DB.pm b/lib/YAWF/DB.pm index ec2500b..7a2dc1b 100644 --- a/lib/YAWF/DB.pm +++ b/lib/YAWF/DB.pm @@ -30,8 +30,11 @@ sub dbCheck { my $self = shift; my $info = $self->{_YAWF}{DB}; - $info->{queries} = [] if $self->debug; - my $start = [Time::HiRes::gettimeofday()] if $self->debug; + my $start; + if($self->debug || $self->{_YAWF}{log_slow_pages}) { + $info->{queries} = []; + $start = [Time::HiRes::gettimeofday()]; + } if(!$info->{sql}->ping) { warn "Ping failed, reconnecting"; @@ -40,7 +43,7 @@ sub dbCheck { $self->dbRollBack; push(@{$info->{queries}}, [ 'ping/rollback', Time::HiRes::tv_interval($start) ]) - if $self->{_YAWF}{debug}; + if $self->debug || $self->{_YAWF}{log_slow_pages}; } @@ -51,10 +54,10 @@ sub dbDisconnect { sub dbCommit { my $self = shift; - my $start = [Time::HiRes::gettimeofday()] if $self->debug; + my $start = [Time::HiRes::gettimeofday()] if $self->debug || $self->{_YAWF}{log_slow_pages}; $self->{_YAWF}{DB}{sql}->commit(); - $self->debug && push(@{$self->{_YAWF}{DB}{queries}}, - [ 'commit', Time::HiRes::tv_interval($start) ]); + push(@{$self->{_YAWF}{DB}{queries}}, [ 'commit', Time::HiRes::tv_interval($start) ]) + if $self->debug || $self->{_YAWF}{log_slow_pages}; } @@ -103,7 +106,7 @@ sub sqlhelper { # type, query, @list my $sqlq = shift; my $s = $self->{_YAWF}{DB}{sql}; - my $start = [Time::HiRes::gettimeofday()] if $self->debug; + my $start = [Time::HiRes::gettimeofday()] if $self->debug || $self->{_YAWF}{log_slow_pages}; $sqlq =~ s/\r?\n/ /g; $sqlq =~ s/ +/ /g; @@ -117,7 +120,7 @@ sub sqlhelper { # type, query, @list $q->rows; $q->finish(); - push(@{$self->{_YAWF}{DB}{queries}}, [ \@q, Time::HiRes::tv_interval($start) ]) if $self->debug; + push(@{$self->{_YAWF}{DB}{queries}}, [ \@q, Time::HiRes::tv_interval($start) ]) if $self->debug || $self->{_YAWF}{log_slow_pages}; $r = 0 if $type == 0 && (!$r || $r == 0); $r = {} if $type == 1 && (!$r || ref($r) ne 'HASH'); |