public function RedisProfilerStorage::write in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php \Symfony\Component\HttpKernel\Profiler\RedisProfilerStorage::write()
Saves a Profile.
Parameters
Profile $profile A Profile instance:
Return value
bool Write operation successful
Overrides ProfilerStorageInterface::write
File
- vendor/
symfony/ http-kernel/ Profiler/ RedisProfilerStorage.php, line 161
Class
- RedisProfilerStorage
- RedisProfilerStorage stores profiling information in Redis.
Namespace
Symfony\Component\HttpKernel\ProfilerCode
public function write(Profile $profile) {
$data = array(
'token' => $profile
->getToken(),
'parent' => $profile
->getParentToken(),
'children' => array_map(function ($p) {
return $p
->getToken();
}, $profile
->getChildren()),
'data' => $profile
->getCollectors(),
'ip' => $profile
->getIp(),
'method' => $profile
->getMethod(),
'url' => $profile
->getUrl(),
'time' => $profile
->getTime(),
);
$profileIndexed = false !== $this
->getValue($this
->getItemName($profile
->getToken()));
if ($this
->setValue($this
->getItemName($profile
->getToken()), $data, $this->lifetime, self::REDIS_SERIALIZER_PHP)) {
if (!$profileIndexed) {
// Add to index
$indexName = $this
->getIndexName();
$indexRow = implode("\t", array(
$profile
->getToken(),
$profile
->getIp(),
$profile
->getMethod(),
$profile
->getUrl(),
$profile
->getTime(),
$profile
->getParentToken(),
$profile
->getStatusCode(),
)) . "\n";
return $this
->appendValue($indexName, $indexRow, $this->lifetime);
}
return true;
}
return false;
}