mirror of
https://github.com/maximebf/php-debugbar.git
synced 2025-07-23 17:51:56 +02:00
Group timeline
This commit is contained in:
@@ -73,15 +73,17 @@ class TimeDataCollector extends DataCollector implements Renderable
|
||||
* @param string $name Internal name, used to stop the measure
|
||||
* @param string|null $label Public name
|
||||
* @param string|null $collector The source of the collector
|
||||
* @param string|null $group The group for aggregates
|
||||
*/
|
||||
public function startMeasure($name, $label = null, $collector = null)
|
||||
public function startMeasure($name, $label = null, $collector = null, $group = null)
|
||||
{
|
||||
$start = microtime(true);
|
||||
$this->startedMeasures[$name] = array(
|
||||
'label' => $label ?: $name,
|
||||
'start' => $start,
|
||||
'memory' => $this->memoryMeasure ? memory_get_usage(false) : null,
|
||||
'collector' => $collector
|
||||
'collector' => $collector,
|
||||
'group' => $group,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -117,7 +119,8 @@ class TimeDataCollector extends DataCollector implements Renderable
|
||||
$this->startedMeasures[$name]['start'],
|
||||
$end,
|
||||
$params,
|
||||
$this->startedMeasures[$name]['collector']
|
||||
$this->startedMeasures[$name]['collector'],
|
||||
$this->startedMeasures[$name]['group']
|
||||
);
|
||||
unset($this->startedMeasures[$name]);
|
||||
}
|
||||
@@ -130,8 +133,9 @@ class TimeDataCollector extends DataCollector implements Renderable
|
||||
* @param float $end
|
||||
* @param array $params
|
||||
* @param string|null $collector
|
||||
* @param string|null $group
|
||||
*/
|
||||
public function addMeasure($label, $start, $end, $params = array(), $collector = null)
|
||||
public function addMeasure($label, $start, $end, $params = array(), $collector = null, $group = null)
|
||||
{
|
||||
if (isset($params['memoryUsage'])) {
|
||||
$memory = $this->memoryMeasure ? $params['memoryUsage'] : 0;
|
||||
@@ -149,7 +153,8 @@ class TimeDataCollector extends DataCollector implements Renderable
|
||||
'memory' => $memory ?? 0,
|
||||
'memory_str' => $this->getDataFormatter()->formatBytes($memory ?? 0),
|
||||
'params' => $params,
|
||||
'collector' => $collector
|
||||
'collector' => $collector,
|
||||
'group' => $group,
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -506,13 +506,15 @@ if (typeof(PhpDebugBar) == 'undefined') {
|
||||
|
||||
for (var i = 0; i < data.measures.length; i++) {
|
||||
var measure = data.measures[i];
|
||||
var group = measure.group || measure.label;
|
||||
|
||||
if(!aggregate[measure.label])
|
||||
aggregate[measure.label] = { count: 0, duration: 0, memory : 0 };
|
||||
if(!aggregate[group]) {
|
||||
aggregate[group] = { count: 0, duration: 0, memory : 0 };
|
||||
}
|
||||
|
||||
aggregate[measure.label]['count'] += 1;
|
||||
aggregate[measure.label]['duration'] += measure.duration;
|
||||
aggregate[measure.label]['memory'] += (measure.memory || 0);
|
||||
aggregate[group]['count'] += 1;
|
||||
aggregate[group]['duration'] += measure.duration;
|
||||
aggregate[group]['memory'] += (measure.memory || 0);
|
||||
|
||||
var m = $('<div />').addClass(csscls('measure')),
|
||||
li = $('<li />'),
|
||||
|
Reference in New Issue
Block a user