Actions

API16

JProfiler

From Joomla! Documentation

Revision as of 17:47, 22 March 2010 by Doxiki (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

[Edit Descripton] 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

libraries/joomla/error/profiler.php

Methods

Method name Description
__construct Constructor
mark Output a time mark
getMemory Get information about current memory usage.
getBuffer Get all profiler marks.
getInstance Returns the global Profiler object, only creating it if it doesn't already exist.
getmicrotime Get the current time.

Importing

jimport( 'joomla.error.profiler' );

[Edit See Also] SeeAlso:JProfiler

Examples

<CodeExamplesForm />

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
)

This example was originally contributed by User:Artyom.


Chris Davenport 13:22, 17 April 2011 (CDT) Edit comment