JProfiler

From Joomla! Documentation

Jump to: navigation, search

JProfiler is a class for performance analysis of your code. It allows to trace:

  • execution time of a particular code part;
  • memory amount used by your script at a specific program point.

A JProfiler object allows you to make performance marks at specified parts of your script. It stores this marks in a buffer and provides operations for accessing it. Mark is a string with the following structure:

Application Start: 0.000 seconds, 0.10 MB
\_________/ \___/  \___________/  \_____/
     |        |          |           |
   prefix   label       time       memory

Where:

  • prefix -- serves as an identifier for distinct JProfiler objects (see below);
  • label -- the name of a performance mark;
  • time -- time from a JProfiler object creation to a mark setting;
  • memory -- memory allocated to your script in a moment when a performance mark is setting.

The JProfiler class provides getInstance method that we can call statically. It serves for organisation of a global access point for distinct JProfiler objects. It stores an array of created objects and gives access to them on the grounds of a prefix which can be provided as an argument. Also, if an object with demanded prefix is absent, then getInstance method will create it.

Contents

Availability

Joomla 1.5 Joomla 1.6

Defined in

/joomla/error/profiler.php

Methods

JProfiler methods on api.joomla.org

Importing

jimport( 'joomla.error.profiler' );

Example

$p = JProfiler::getInstance('Application');
 
$p->mark('Start');
$a = str_repeat("hello world!\n", 100000);
$p->mark('Middle');
unset($a);
$p->mark('Stop');
 
print_r($p->getBuffer());

would output

Array
(
    [0] => Application Start: 0.000 seconds, 0.10 MB
    [1] => Application Middle: 0.005 seconds, 1.34 MB
    [2] => Application Stop: 0.005 seconds, 0.10 MB
)

See also

Personal tools