xhprof: Guard against division by 0 when computing percentages
authorBryan Davis <bd808@wikimedia.org>
Thu, 4 Dec 2014 01:48:44 +0000 (18:48 -0700)
committerBryan Davis <bd808@wikimedia.org>
Thu, 4 Dec 2014 02:10:57 +0000 (19:10 -0700)
Change-Id: Icce3b5be1136c541dc87c44b01a42709f19ca885

includes/libs/Xhprof.php

index 990e2c3..98ff675 100644 (file)
@@ -267,13 +267,16 @@ class Xhprof {
                                foreach ( $stats as $name => $value ) {
                                        if ( $value instanceof RunningStat ) {
                                                $total = $value->m1 * $value->n;
+                                               $percent = ( isset( $main[$name] ) && $main[$name] )
+                                                       ? 100 * $total / $main[$name]
+                                                       : 0;
                                                $this->inclusive[$func][$name] = array(
                                                        'total' => $total,
                                                        'min' => $value->min,
                                                        'mean' => $value->m1,
                                                        'max' => $value->max,
                                                        'variance' => $value->m2,
-                                                       'percent' => 100 * $total / $main[$name],
+                                                       'percent' => $percent,
                                                );
                                        }
                                }