File: summary2gp.pl

package info (click to toggle)
smtpfeed 1.02-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 824 kB
  • ctags: 765
  • sloc: ansic: 13,150; sh: 230; perl: 133; makefile: 97
file content (77 lines) | stat: -rwxr-xr-x 2,318 bytes parent folder | download | duplicates (6)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#! /usr/local/bin/perl

# summary2gp.pl : generate input data for gnuplot from summary of log.

# Usage: cat summary* | summary2gp.pl

open (GP1, ">gp-data.1") || die("gp-data.1");
open (GP2, ">gp-data.2") || die("gp-data.2");
open (GP3, ">gp-data.3") || die("gp-data.3");
open (GP4, ">gp-data.4") || die("gp-data.4");
open (GP5, ">gp-data.5") || die("gp-data.5");
open (GP6, ">gp-data.6") || die("gp-data.6");

while (<>) {
	chop;
	next if (/^#/);
	@data = split(',');

#	next if ($data[9] > 3000);	# ignore too slow completion
#	next if ($data[6] < 0);		# ignore tsendmail=-1
	next if ($data[2] < 10);	# ignore too small recipients
	next if ($data[4] < 10);	# ignore too small transactions
	$data[6] = 0 if ($data[6] < 0);

	# par recipient
	printf GP1 "%d, %d, %d, %d, %d, %d, %d\n",
		$data[2], $data[6], $data[7], $data[8], $data[9],
		$data[6] + $data[7] + $data[8],
		$data[6] + $data[7] + $data[9];

	# par transaction
	printf GP2 "%d, %d, %d, %d, %d, %d, %d\n",
		$data[4], $data[6], $data[7], $data[8], $data[9],
		$data[6] + $data[7] + $data[8],
		$data[6] + $data[7] + $data[9];

	# average par recipient
	printf GP3 "%d, %f, %f, %f, %f, %f, %f\n",
		$data[2],
		$data[6] / $data[2], $data[7] / $data[2],
		$data[8] / $data[2], $data[9] / $data[2],
		($data[6] + $data[7] + $data[8]) / $data[2],
		($data[6] + $data[7] + $data[9]) / $data[2];

	# average par transaction
	printf GP4 "%d, %f, %f, %f, %f, %f, %f\n",
		$data[4],
		$data[6] / $data[4], $data[7] / $data[4],
		$data[8] / $data[4], $data[9] / $data[4],
		($data[6] + $data[7] + $data[8]) / $data[4],
		($data[6] + $data[7] + $data[9]) / $data[4];

	($time1, $time2) = split(' ', $data[0]);
	($M, $D) = split('/', $time1);
	($h, $m, $s) = split(':', $time2);
	$M -= 8;	# XXX
	$x = ((($M * 31 + $D) * 24 + $h) * 60 + $m) * 60 + $s;

	# par recipient
	printf GP5 "%d, %f, %f, %f, %f, %f, %f\n",
		$x,
		$data[6] / $data[2], $data[7] / $data[2],
		$data[8] / $data[2], $data[9] / $data[2],
		($data[6] + $data[7] + $data[8]) / $data[2],
		($data[6] + $data[7] + $data[9]) / $data[2];

	# par transaction
	printf GP6 "%d, %f, %f, %f, %f, %f, %f\n",
		$x,
		$data[6] / $data[4], $data[7] / $data[4],
		$data[8] / $data[4], $data[9] / $data[4],
		($data[6] + $data[7] + $data[8]) / $data[4],
		($data[6] + $data[7] + $data[9]) / $data[4];

}

exit 0;