summaryrefslogtreecommitdiff
path: root/FS/FS/Trace.pm
blob: 9ff39dd26a05c0b3de19e906ad636368625f5e6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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;