JProfiler

From Joomla! Documentation
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
{{incomplete}}
+
{{review}}
  
 
'''JProfiler''' is a class for performance analysis of your code. It allows to trace:
 
'''JProfiler''' is a class for performance analysis of your code. It allows to trace:
 
* execution time of a particular code part;
 
* execution time of a particular code part;
 
* memory amount used by your script at a specific program point.
 
* 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:
 +
 +
<pre>
 +
Application Start: 0.000 seconds, 0.10 MB
 +
\_________/ \___/  \___________/  \_____/
 +
    |        |          |          |
 +
  prefix  label      time      memory
 +
</pre>
 +
 +
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.
  
 
===Defined in===
 
===Defined in===
 
/joomla/error/profiler.php
 
/joomla/error/profiler.php
 +
 +
===Methods===
 +
[http://api.joomla.org/Joomla-Framework/Error/JProfiler.html#sec-methods JProfiler methods on api.joomla.org]
  
 
===Importing===
 
===Importing===

Revision as of 19:06, 19 December 2008


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

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
Namespaces

Variants
Actions
Navigation
Joomla! Sites
Toolbox