Location: PHPKode > scripts > SimpleProfiler > simpleprofiler.php
<?php

    class profiler {

        private $count = 0;
        private $time = array();

        public function __construct() {
            return $this->start();
        }

        public function start() {
            $r = false;
            if (!isset($this->time[0])) {
                $this->add("start", microtime(true));
                $r = true;
            }
            return $r;
        }

        public function lap($id = "lap") {
            $r = false;
            if (isset($this->time[0])) {
                $rest = $this->count == 1 ? $this->time[0]['dur'] : $this->time[0]['dur'] + $this->time[$this->count-1]['dur'];
                $this->add($id, microtime(true) - $rest);
                if ($id == "end") {
                    array_shift($this->time);
                    $r = $this->time;
                    $this->__destruct();
                }
                else $r = true;
            }
            return $r;
        }

        private function add($id, $time) {
            $this->time[] = array("id" => $id, "dur" => $time);
            $this->count++;
        }

        public function stop() {
            return $this->lap("end");
        }

        public function __destruct() {
            $this->count = 0;
            $this->time = array();
        }

    }

?>
Return current item: SimpleProfiler