1
0
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:
Barry vd. Heuvel
2025-02-01 16:16:50 +01:00
parent fc4f376cfc
commit 6a5b4e773e
2 changed files with 17 additions and 10 deletions

View File

@@ -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,
);
}

View File

@@ -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 />'),