mirror of
https://github.com/maximebf/php-debugbar.git
synced 2025-07-24 18:22:03 +02:00
Slow threshold highlight on queries (#790)
This commit is contained in:
@@ -22,6 +22,8 @@ class PDOCollector extends DataCollector implements Renderable, AssetProvider
|
|||||||
|
|
||||||
protected $durationBackground = false;
|
protected $durationBackground = false;
|
||||||
|
|
||||||
|
protected $slowThreshold;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \PDO $pdo
|
* @param \PDO $pdo
|
||||||
* @param TimeDataCollector $timeCollector
|
* @param TimeDataCollector $timeCollector
|
||||||
@@ -55,6 +57,16 @@ class PDOCollector extends DataCollector implements Renderable, AssetProvider
|
|||||||
$this->durationBackground = $enabled;
|
$this->durationBackground = $enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Highlights queries that exceed the threshold
|
||||||
|
*
|
||||||
|
* @param int|float $threshold miliseconds value
|
||||||
|
*/
|
||||||
|
public function setSlowThreshold($threshold)
|
||||||
|
{
|
||||||
|
$this->slowThreshold = $threshold;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@@ -162,7 +174,8 @@ class PDOCollector extends DataCollector implements Renderable, AssetProvider
|
|||||||
'end_memory_str' => $this->getDataFormatter()->formatBytes($stmt->getEndMemory()),
|
'end_memory_str' => $this->getDataFormatter()->formatBytes($stmt->getEndMemory()),
|
||||||
'is_success' => $stmt->isSuccess(),
|
'is_success' => $stmt->isSuccess(),
|
||||||
'error_code' => $stmt->getErrorCode(),
|
'error_code' => $stmt->getErrorCode(),
|
||||||
'error_message' => $stmt->getErrorMessage()
|
'error_message' => $stmt->getErrorMessage(),
|
||||||
|
'slow' => $this->slowThreshold && $this->slowThreshold <= $stmt->getDuration()
|
||||||
);
|
);
|
||||||
if ($timeCollector !== null) {
|
if ($timeCollector !== null) {
|
||||||
$timeCollector->addMeasure($stmt->getSql(), $stmt->getStartTime(), $stmt->getEndTime(), array(), $connectionName);
|
$timeCollector->addMeasure($stmt->getSql(), $stmt->getStartTime(), $stmt->getEndTime(), array(), $connectionName);
|
||||||
|
@@ -98,12 +98,20 @@ code.phpdebugbar-widgets-sql {
|
|||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow {
|
||||||
|
background-color: #ffe4e4;
|
||||||
|
}
|
||||||
|
|
||||||
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate {
|
div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate {
|
||||||
background-color: #F7EDED;
|
background-color: #fdfdcd;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.phpdebugbar[data-theme='dark'] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-slow {
|
||||||
|
background-color: #623100;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.phpdebugbar[data-theme='dark'] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate {
|
div.phpdebugbar[data-theme='dark'] div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate {
|
||||||
background-color: #473e00;
|
background-color: #565602;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar {
|
div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-toolbar {
|
||||||
|
@@ -74,6 +74,9 @@
|
|||||||
var filters = [], self = this;
|
var filters = [], self = this;
|
||||||
|
|
||||||
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) {
|
this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) {
|
||||||
|
if (stmt.slow) {
|
||||||
|
li.addClass(csscls('sql-slow'))
|
||||||
|
}
|
||||||
if (stmt.width_percent) {
|
if (stmt.width_percent) {
|
||||||
$('<div />').addClass(csscls('bg-measure')).append(
|
$('<div />').addClass(csscls('bg-measure')).append(
|
||||||
$('<div />').addClass(csscls('value')).css({
|
$('<div />').addClass(csscls('value')).css({
|
||||||
|
Reference in New Issue
Block a user