Saves a Profile.
Profile $profile A Profile instance:
Boolean Write operation successful
Overrides ProfilerStorageInterface::write
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(),
)) . "\n";
return $this
->appendValue($indexName, $indexRow, $this->lifetime);
}
return true;
}
return false;
}