diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-08-03 10:51:55 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-08-03 10:51:55 -0700 |
commit | c573de444fba4ff9a42127b4cfe97b85d1f89b70 (patch) | |
tree | b84b7290eb881c68d5df5c8a7c387bb9526178ae /FS/FS/Trace.pm | |
parent | aa59ea407bdb0368f0dcb36d48b69cdabf44da41 (diff) |
request tracing, RT#18719
Diffstat (limited to 'FS/FS/Trace.pm')
-rw-r--r-- | FS/FS/Trace.pm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/FS/FS/Trace.pm b/FS/FS/Trace.pm new file mode 100644 index 000000000..9ff39dd26 --- /dev/null +++ b/FS/FS/Trace.pm @@ -0,0 +1,35 @@ +package FS::Trace; + +use strict; +use Date::Format; +use File::Slurp; + +my @trace = (); + +sub log { + my( $class, $msg ) = @_; + push @trace, [ time, "[$$][". time2str('%r', time). "] $msg" ]; +} + +sub total { + $trace[-1]->[0] - $trace[0]->[0]; +} + +sub reset { + @trace = (); +} + +sub dump_ary { + map $_->[1], @trace; +} + +sub dump { + join("\n", map $_->[1], @trace). "\n"; +} + +sub dumpfile { + my( $class, $filename, $header ) = @_; + write_file( $filename, "$header\n". $class->dump ); +} + +1; |