Commit bd540e5d by duwenjun

性能分析

parent 44262997
......@@ -15,6 +15,7 @@ class Kernel extends HttpKernel
* @var array
*/
protected $middleware = [
\App\Http\Middleware\TideWaysProf::class, // 接口性能分析中间件
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
EnableCrossRequestMiddleware::class,
];
......
<?php
namespace App\Http\Middleware;
use Closure;
class TideWaysProf
{
public function handle($request, Closure $next)
{
$tideways_enable = get_resource_config_section('app', 'frq_api')['tideways_enable'];
if ($tideways_enable && function_exists('tideways_xhprof_enable')) {
list($usec, $sec) = explode(" ", microtime());
$startTime = (float)$sec + (float)$usec; // 程序开始时间
tideways_xhprof_enable();
$response = $next($request);
if (function_exists('tideways_xhprof_disable')){
list($usec, $sec) = explode(" ", microtime());
$endTime = (float)$sec + (float)$usec;
$data = tideways_xhprof_disable();
if (($endTime - $startTime) > 0.5) {
file_put_contents(sys_get_temp_dir() . uniqid() . ".frq_api" . str_replace('/', "-", $request->path()) . '.xhprof', serialize($data));
}
}
return $response;
} else {
return $next($request);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment