private function assertProfile(RequestInterface $request, ResponseInterface $response)
{
if (!$this->logger) {
return;
}
try {
$profile = $this->blackfire->getProfile($response->getHeaderLine('X-Blackfire-Profile-Uuid'));
if ($profile->isErrored()) {
$this->logger->critical('Assertions errored', ['request' => $request->getHeaderLine('X-Request-Id')]);
} else {
if ($profile->isSuccessful()) {
$this->logger->debug('Assertions pass', ['request' => $request->getHeaderLine('X-Request-Id')]);
} else {
foreach ($profile->getTests() as $test) {
foreach ($test->getFailures() as $failure) {
$this->logger->error(sprintf('Assertion "%s" failed', $failure), ['request' => $request->getHeaderLine('X-Request-Id')]);
}
}
$this->logger->debug('Assertions fail', ['request' => $request->getHeaderLine('X-Request-Id')]);
}
}
} catch (BlackfireException $e) {
$this->logger->critical(sprintf('Profile is not available (%s)', $e->getMessage()), ['request' => $request->getHeaderLine('X-Request-Id')]);
}
}