PHP code example of 2a / symfony-performance-analyzer
1. Go to this page and download the library: Download 2a/symfony-performance-analyzer library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
2a / symfony-performance-analyzer example snippets
return [
// ...
AA\PerformanceAnalyzer\PerformanceAnalyzerBundle::class => ['all' => true],
];
namespace App\Analyzer;
use AA\PerformanceAnalyzer\Model\AnalysisResult;
use AA\PerformanceAnalyzer\Model\PerformanceResult;
use AA\PerformanceAnalyzer\Service\Analyzer\AnalyzerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class CustomAnalyzer implements AnalyzerInterface
{
public function analyze(Request $request, Response $response, PerformanceResult $result): AnalysisResult
{
$analysisResult = new AnalysisResult();
if ($response->getStatusCode() >= 500) {
$analysisResult->addIssue('server_error', [
'message' => 'Server error detected',
'status_code' => $response->getStatusCode(),
'severity' => 'high'
]);
}
return $analysisResult;
}
}
namespace App\Collector;
use AA\PerformanceAnalyzer\Service\Collector\CollectorInterface;
class CustomCollector implements CollectorInterface
{
private array $data = [];
public function start(string $identifier): void
{
$this->data[$identifier] = ['start_time' => microtime(true)];
}
public function collect(string $identifier): array
{
return [
'custom_duration' => microtime(true) - $this->data[$identifier]['start_time']
];
}
}
bash
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate
bash
php bin/console assets:install --symlink
json
{
"logs": [
{
"route": "app_home",
"response_time": 100,
"memory_usage": 32,
"query_count": 5
}
],
"stats": {
"avg_response_time": 100,
"avg_memory_usage": 32,
"max_query_count": 10
},
"issues": [
{
"type": "high_complexity",
"message": "Complexity 12 > 10",
"severity": "high"
}
]
}
bash
php bin/console doctrine:query:sql "DROP TABLE performance_log, performance_stat"