3 # Takes the output of a cachegrind or countmem run and produces statev events
8 print "E;$name;$value\n"
11 while( defined($line = <STDIN>) ) {
12 if($line =~ m/.* I\s+refs:\s+([0-9\,]+).*/) {
15 result("instructions", $irefs);
17 if($line =~ m/.* D\s+refs:\s+[0-9,]*\s+\(\s*([0-9,]+)\s+rd\s+\+\s+([0-9,]+).*/) {
22 result("reads", $reads);
23 result("writes", $writes);
25 if($line =~ m/.* D1\s+misses:\s+[0-9,]*\s+\(\s*([0-9,]+)\s+rd\s+\+\s+([0-9,]+).*/) {
30 result("l1readmisses", $reads);
31 result("l1writemisses", $writes);
33 if($line =~ m/.* L2d\s+misses:\s+[0-9,]*\s+\(\s*([0-9,]+)\s+rd\s+\+\s+([0-9,]+).*/)
39 result("l2readmisses", $reads);
40 result("l2writemisses", $writes);
43 if($line =~ m/== ([a-zA-Z0-9\-]+)\s+([0-9,]+).*/) {
47 result($name, $value);