+ public function getZeroEntry() {
+ return array(
+ 'cpu' => 0.0,
+ 'cpu_sq' => 0.0,
+ 'real' => 0.0,
+ 'real_sq' => 0.0,
+ 'count' => 0
+ );
+ }
+
+ public function getErrorEntry() {
+ $entry = $this->getZeroEntry();
+ $entry['count'] = 1;
+ return $entry;
+ }
+
+ public function updateEntry( $name, $elapsedCpu, $elapsedReal ) {
+ $entry =& $this->mCollated[$name];
+ if ( !is_array( $entry ) ) {
+ $entry = $this->getZeroEntry();
+ $this->mCollated[$name] =& $entry;
+ }
+ $entry['cpu'] += $elapsedCpu;
+ $entry['cpu_sq'] += $elapsedCpu * $elapsedCpu;
+ $entry['real'] += $elapsedReal;
+ $entry['real_sq'] += $elapsedReal * $elapsedReal;
+ $entry['count']++;
+ }
+