Skip to content

Commit 9d5c0f1

Browse files
authored
Add ServerTiming headers for TimeData Collector
See https://ma.ttias.be/server-timings-chrome-devtools/
1 parent 0718804 commit 9d5c0f1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/LaravelDebugbar.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,8 @@ public function modifyResponse(Request $request, Response $response)
611611
}
612612
}
613613

614+
$this->addServerTimingHeaders($response);
615+
614616
return $response;
615617
}
616618

@@ -906,4 +908,23 @@ protected function addClockworkHeaders(Response $response)
906908
$response->headers->set('X-Clockwork-Version', 1, true);
907909
$response->headers->set('X-Clockwork-Path', $prefix .'/clockwork/', true);
908910
}
911+
912+
/**
913+
* Add Server-Timing headers for the TimeData collector
914+
*
915+
* @see https://www.w3.org/TR/server-timing/
916+
* @param Response $response
917+
*/
918+
protected function addServerTimingHeaders(Response $response)
919+
{
920+
if ($this->hasCollector('time')) {
921+
$collector = $this->getCollector('time');
922+
923+
foreach ($collector->collect()['measures'] as $k => $m) {
924+
$headers[] = sprintf('%d=%F; "%s"', $k, $m['duration'], str_replace('"', "'", $m['label']));
925+
}
926+
927+
$response->headers->set('Server-Timing', $collector->getServerTimingHeaders(), false);
928+
}
929+
}
909930
}

0 commit comments

Comments
 (0)