This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static function getPageSpeedInsights($url) { | |
$apiUrl = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed"; | |
/*$queryParams = http_build_query([ | |
'url' => $url, | |
'key' => 'YOUR_API_KEY' // If you plan on using the API in an automated way and making multiple queries per second, you'll need an API key | |
]);*/ | |
$queryParams = http_build_query([ | |
'url' => $url | |
]); | |
$ch = curl_init("$apiUrl?$queryParams"); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
$response = curl_exec($ch); | |
curl_close($ch); | |
return json_decode($response, true); | |
} | |
private static function measurePageLoadTime() { | |
echo "<h2>TEST measurePageLoadTime</h2>"; | |
$url = "url of website you want to measure"; | |
echo "Started measurePageLoadTime for $url...<br>"; | |
//Display the above message immediately, without waiting for operations to finish: | |
ob_flush(); | |
flush(); | |
$start_time = microtime(true); | |
$result = self::getPageSpeedInsights($url); | |
$end_time = microtime(true); | |
if (isset($result['lighthouseResult']['audits']['first-contentful-paint']['displayValue'])) { | |
$fcpValue = $result['lighthouseResult']['audits']['first-contentful-paint']['displayValue']; | |
echo "First Contentful Paint: $fcpValue"; | |
} else { | |
echo "First Contentful Paint data not available."; | |
} | |
echo "<br>Total time [s]: " . number_format($end_time - $start_time, 2) . "<br>"; | |
} |
No comments:
Post a Comment