Download .zip |
Info | Documentation | View files (8) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2018-03-16 (5 months ago) | Not yet rated by the users | Total: 41 | All time: 9,295 This week: 497 |
Version | License | PHP version | Categories | |||
emoretti_kronos 1.0 | MIT/X Consortium ... | 5 | PHP 5, Time and Date, Statistics, Debug, P... |
Description | Author | |
This package can calculate the time PHP code takes to execute. |
Kronos is a PHP library, which allows to calculate the execution time of a page and code blocks (called CheckPoint), with an accuracy up to 1 ?s
Install the latest version with
$ composer require emoretti/kronos ^dev-master
no configuration needed
Create an instance of Kronos()
class in the start of your page, passing the page "alias" name and optionally
the initial float timestamp (If not passed kronos calculate for you the timestamp).<br />
At the end of page call the method setMainEnd()
optionally passing the ending float timestamp (If not passed kronos calculate for you the timestamp).<br />
Finally you can call the method getReport()
to render under your page a final report, or call the method getReportRaw()
to get the array with all the data.<br />
The getReport()
accept in input a dateFormat in PHP style,
<?php
use emoretti\kronos\Kronos;
$myKronos = new Kronos("pageAlias");
[... YOUR CODE ...]
[... YOUR CODE ...]
$myKronos->setMainEnd(microtime(true));
$myKronos->getReport(); // OR $myKronos->getReportRaw();
?>
After declare the instance of Kronos()
<br /><br />
In the middle of your code (where you want), you can insert a checkpoint, which allows you to create other statistics.<br />
To create a checkpoint use the methods startCheckPoints()
and stopCheckPoints()
passing the checkpoint alias (it will be the key of your checkpoint), and optionally the float timestamp (If not passed kronos calculate for you the timestamp).<br />
<?php
use emoretti\kronos\Kronos;
$myKronos = new Kronos("pageAlias");
[... YOUR CODE ...]
$myKronos->startCheckPoints("FirstCheckPoint",microtime(true));
usleep(mt_rand(500, 3000));
$myKronos->stopCheckPoints("FirstCheckPoint",microtime(true));
[... YOUR CODE ...]
$myKronos->setMainEnd(microtime(true));
$myKronos->getReport(); // OR $myKronos->getReportRaw();
?>
Kronos results can be:
1. Rendered in bottom of the examined page
$myKronos->getReport();
2. Returned in array structure (or json if you pass the first argument true)
`
php
\\Array structure output
$myKronos->getReportRaw();
\\Json structure output
$myKronos->getReportRaw(true);
```
3. Saved in a file (the file will have a json inside)
$myKronos->saveReportData(__DIR__ . "/report.json");
<br /><br />If you save data for get the report later, you can render that use the static method `Kronos::renderReport()` passing $reportName and $reportData
```php
use emoretti\kronos\Kronos;
require_once("src/Kronos.php");
Kronos::renderReport("TestReport", file_get_contents(__DIR__."/report.json"));
```
Kronos will render the data through is template engine KronosTemplate()
, by default the template is: src/template/KronosTemplate.php
(it use Bootstrap.min.css) , you can modify it as you want (
Be careful not to change the variable names in the template)
You can specify your prefered date format for those methods:
Kronos will try automatically to determine his execution time, it will be presented automatically in the final report, may be usefull to determine how time it is used by the class itself.<br /> N.B. Kronos attempts to calculate its execution time. But these times are to be considered as APPROXIMATE. Remember that : 0.001 ms == 1 µs (In 1 ?s the light runs exactly 299.792458 meters).
Ettore Moretti - <info@ettoremoretti.com> - <https://twitter.com/emoretticom> - <https://www.facebook.com/emoretticom/>
href-count is licensed under the MIT License - see the LICENSE
file for details
Files |
File | Role | Description | ||
---|---|---|---|---|
src (3 files, 1 directory) | ||||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
README.md | Doc. | Example script |
Files | / | src |
File | Role | Description | ||
---|---|---|---|---|
template (2 files) | ||||
Kronos.php | Class | Class source | ||
KronosReport.php | Class | Class source | ||
KronosTemplate.php | Class | Class source |
Files | / | src | / | template |
File | Role | Description |
---|---|---|
bootstrap.min.css | Data | Auxiliary data |
KronosTemplate.php | Example | Example script |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.