check_leak
  • Overview
  • Repository
  • Tickets
  • Statistics
  • Projects

Repository

Improved output, make some explicit sclar conversions

Parent commits : ddd3f4d119c7484f275b4d777f9b14245040ca1f,
Children commits : 1986b0c2354a44e73ade3e3945e0e57b2e319696,

By Laurent Defert on 2009-06-20 16:24:11
Improved output, make some explicit sclar conversions

Browse content
Difference with parent commit ddd3f4d119c7484f275b4d777f9b14245040ca1f
Files modified:
check_leak_update
--- 
+++ 
@@ -97,7 +97,7 @@
 }
 
 sub is_zero {
-	return $_[0] < 2 && $_[0] > -2;
+	return $_[0] < 1 && $_[0] > -1;
 }
 
 # Comput the average leak rate and filter peaks
@@ -106,19 +106,30 @@
 	my @filtered = ();
 	if( defined $dleak_rate{$p} ) {
 		for(my $i = 0; $i < @{ $leak_rate{$p}{'leak'} } - 1; $i++) {
-			if(($i < @{ $dleak_rate{$p} } && is_zero($dleak_rate{$p}[$i]))
+			if(($i < scalar(@{ $dleak_rate{$p} }) && is_zero($dleak_rate{$p}[$i]))
 			&& ($i > 1 && is_zero($dleak_rate{$p}[$i - 1]))) {
+				#if($p == 7033) {
+				#	printf "%i %i\t\t%f %f\n", $i, scalar(@{ $dleak_rate{$p} }), $dleak_rate{$p}[$i], $dleak_rate{$p}[$i-1];
+				#}
 				push @filtered, $leak_rate{$p}{'leak'}[$i];
 			} else {
 				#print "filtered point for $p : $leak_rate{$p}{'leak'}[$i]\n";
 			}
 		}
-		if(@filtered > 0 && sum( @filtered ) != 0) {
-			printf "%6i : %10i : %s\n", $p, sum( @filtered ) / @filtered, $table{$p}{"cmd"};
+		if(scalar(@filtered) > 0) {
+			my $leak_rate = sum( @filtered ) / scalar(@filtered);
+			if($leak_rate >= 1.0) {
+				$leak_avg{$p} = $leak_rate;
+				#printf "%6i : %10i : %s / %f %f\n", $p, $leak_rate, $table{$p}{"cmd"}, sum( @filtered ), scalar(@filtered);
+			}
 		}
 	}
 }
 
+# Display leaking process
+foreach my $p (sort { $leak_avg{$a} <=> $leak_avg{$b} } keys %leak_avg) {
+	printf "Process %i is leaking %i o/s (%s)\n", $p, $leak_avg{$p}, $table{$p}{"cmd"};
+}
 
 
 # Save the datas:

Generated with KisssPM