本文整理汇总了PHP中loadPageRunData函数的典型用法代码示例。如果您正苦于以下问题:PHP loadPageRunData函数的具体用法?PHP loadPageRunData怎么用?PHP loadPageRunData使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了loadPageRunData函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ProcessAVIVideo
/**
* Convert an AVI video capture into the video frames the WPT is expecting
*
* @param mixed $testPath
* @param mixed $run
* @param mixed $cached
*/
function ProcessAVIVideo(&$test, $testPath, $run, $cached)
{
$cachedText = '';
if ($cached) {
$cachedText = '_Cached';
}
$videoFile = "{$testPath}/{$run}{$cachedText}_video.avi";
$crop = '';
if (!is_file($videoFile)) {
$videoFile = "{$testPath}/{$run}{$cachedText}_video.mp4";
}
if (!is_file($videoFile)) {
$crop = ',crop=in_w:in_h-80:0:80';
$videoFile = "{$testPath}/{$run}{$cachedText}_appurify.mp4";
}
// trim the video to align with the capture if we have timestamps for both
$renderStart = null;
if (array_key_exists('appurify_tests', $test) && is_array($test['appurify_tests']) && array_key_exists($run, $test['appurify_tests']) && is_array($test['appurify_tests'][$run])) {
require_once 'page_data.inc';
$page_data = loadPageRunData($testPath, $run, $cached);
if (isset($page_data) && is_array($page_data) && array_key_exists('render', $page_data)) {
$renderStart = $page_data['render'];
}
}
if (is_file($videoFile)) {
$videoDir = "{$testPath}/video_{$run}" . strtolower($cachedText);
if (!is_file("{$videoDir}/video.json")) {
if (is_dir($videoDir)) {
delTree($videoDir, false);
}
if (!is_dir($videoDir)) {
mkdir($videoDir, 0777, true);
}
$videoFile = realpath($videoFile);
$videoDir = realpath($videoDir);
if (strlen($videoFile) && strlen($videoDir)) {
if (Video2PNG($videoFile, $videoDir, $crop)) {
$startOffset = DevToolsGetVideoOffset($testPath, $run, $cached, $endTime);
FindAVIViewport($videoDir, $startOffset, $viewport);
EliminateDuplicateAVIFiles($videoDir, $viewport);
$lastImage = ProcessVideoFrames($videoDir, $renderStart, $viewport);
$screenShot = "{$testPath}/{$run}{$cachedText}_screen.jpg";
if (isset($lastImage) && is_file($lastImage)) {
//unlink($videoFile);
if (!is_file($screenShot)) {
copy($lastImage, $screenShot);
}
}
}
}
$videoInfo = array();
if (isset($viewport)) {
$videoInfo['viewport'] = $viewport;
}
file_put_contents("{$videoDir}/video.json", json_encode($videoInfo));
}
}
}
示例2: GenerateHAR
/**
* Generate a HAR file for the given test
*
* @param mixed $testPath
*/
function GenerateHAR($id, $testPath, $options)
{
$json = '{}';
if (isset($testPath)) {
$pageData = null;
if (isset($options["run"]) && $options["run"]) {
if (!strcasecmp($options["run"], 'median')) {
$raw = loadAllPageData($testPath);
$run = GetMedianRun($raw, $options['cached'], $median_metric);
if (!$run) {
$run = 1;
}
unset($raw);
}
$pageData[$run] = array();
if (isset($options['cached'])) {
$pageData[$run][$options['cached']] = loadPageRunData($testPath, $run, $options['cached']);
if (!isset($pageData[$run][$options['cached']])) {
unset($pageData);
}
} else {
$pageData[$run][0] = loadPageRunData($testPath, $run, 0);
if (!isset($pageData[$run][0])) {
unset($pageData);
}
$pageData[$run][1] = loadPageRunData($testPath, $run, 1);
}
}
if (!isset($pageData)) {
$pageData = loadAllPageData($testPath);
}
// build up the array
$harData = BuildHAR($pageData, $id, $testPath, $options);
$json_encode_good = version_compare(phpversion(), '5.4.0') >= 0 ? true : false;
$pretty_print = false;
if (isset($options['pretty']) && $options['pretty']) {
$pretty_print = true;
}
if (isset($options['php']) && $options['php']) {
if ($pretty_print && $json_encode_good) {
$json = json_encode($harData, JSON_PRETTY_PRINT);
} else {
$json = json_encode($harData);
}
} elseif ($json_encode_good) {
if ($pretty_print) {
$json = json_encode($harData, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
} else {
$json = json_encode($harData, JSON_UNESCAPED_UNICODE);
}
} else {
$jsonLib = new Services_JSON();
$json = $jsonLib->encode($harData);
}
}
return $json;
}
示例3: postProcessRun
public function postProcessRun()
{
$testerError = null;
$secure = false;
$haveLocations = false;
loadPageRunData($this->testRoot, $this->run, $this->cached);
$steps = $this->countSteps();
for ($i = 1; $i <= $steps; $i++) {
$rootUrls = UrlGenerator::create(true, "", $this->id, $this->run, $this->cached, $i);
$stepPaths = new TestPaths($this->testRoot, $this->run, $this->cached, $i);
$requests = getRequestsForStep($stepPaths, $rootUrls, $secure, $haveLocations, true, true);
if (isset($requests) && is_array($requests) && count($requests)) {
getBreakdownForStep($stepPaths, $rootUrls, $requests);
} else {
$testerError = 'Missing Results';
}
if (is_dir(__DIR__ . '/../google') && is_file(__DIR__ . '/../google/google_lib.inc')) {
require_once __DIR__ . '/../google/google_lib.inc';
ParseCsiInfoForStep($stepPaths, true);
}
GetDevToolsCPUTimeForStep($stepPaths);
}
return $testerError;
}
示例4: ScreenShotTable
//.........这里部分代码省略.........
if ($interval > 1000) {
$checked = ' checked=checked';
}
echo "<input type=\"radio\" name=\"ival\" value=\"5000\"{$checked} onclick=\"this.form.submit();\"> 5 sec<br>";
echo "</td>";
// fill in the end-point selection
echo "<td>";
if (!strcasecmp($endTime, 'aft')) {
$endTime = 'visual';
}
$checked = '';
if (!strcasecmp($endTime, 'visual')) {
$checked = ' checked=checked';
}
echo "<input type=\"radio\" name=\"end\" value=\"visual\"{$checked} onclick=\"this.form.submit();\"> Visually Complete<br>";
$checked = '';
if (!strcasecmp($endTime, 'all')) {
$checked = ' checked=checked';
}
echo "<input type=\"radio\" name=\"end\" value=\"all\"{$checked} onclick=\"this.form.submit();\"> Last Change<br>";
$checked = '';
if (!strcasecmp($endTime, 'doc')) {
$checked = ' checked=checked';
}
echo "<input type=\"radio\" name=\"end\" value=\"doc\"{$checked} onclick=\"this.form.submit();\"> Document Complete<br>";
$checked = '';
if (!strcasecmp($endTime, 'full')) {
$checked = ' checked=checked';
}
echo "<input type=\"radio\" name=\"end\" value=\"full\"{$checked} onclick=\"this.form.submit();\"> Fully Loaded<br>";
echo "</td></tr>";
?>
</table>
</form>
</div>
<?php
// display the waterfall if there is only one test
$end_seconds = $filmstrip_end_time / 1000;
if (count($tests) == 1) {
$data = loadPageRunData($tests[0]['path'], $tests[0]['run'], $tests[0]['cached']);
$secure = false;
$haveLocations = false;
$requests = getRequests($tests[0]['id'], $tests[0]['path'], $tests[0]['run'], $tests[0]['cached'], $secure, $haveLocations, true, true);
InsertWaterfall('', $requests, $tests[0]['id'], $tests[0]['run'], $tests[0]['cached'], $data, "&max={$end_seconds}&mime=1&state=1&cpu=1&bw=1");
echo '<br><br>';
} else {
$waterfalls = array();
foreach ($tests as &$test) {
$waterfalls[] = array('id' => $test['id'], 'label' => $test['name'], 'run' => $test['run'], 'cached' => $test['cached']);
}
$labels = '';
if (array_key_exists('hideurls', $_REQUEST) && $_REQUEST['hideurls']) {
$labels = '&labels=0';
}
InsertMultiWaterfall($waterfalls, "&max={$end_seconds}&mime=1&state=1&cpu=1&bw=1{$labels}");
}
?>
<div id="advanced" style="display:none;">
<h3>Advanced Visual Comparison Configuration</h3>
<p>There are additional customizations that can be done by modifying the <b>tests</b> parameter in the comparison URL directly.</p>
<p>URL structure: ...compare.php?tests=<Test 1 ID>,<Test 2 ID>...</p>
<p>The tests are displayed in the order listed and can be customized with options:</p>
<table>
<tr><td>Custom label</td><td>-l:<label></td><td>110606_MJ_RZEY-l:Original</td></tr>
<tr><td>Specific run</td><td>-r:<run></td><td>110606_MJ_RZEY-r:3</td></tr>
<tr><td>Repeat view</td><td>-c:1</td><td>110606_MJ_RZEY-c:1</td></tr>
<tr><td>Specific End Time</td><td>-e:<seconds></td><td>110606_MJ_RZEY-e:1.1</td></tr>
</table>
<br>
<p>You can also customize the background and text color by passing HTML color values to <b>bg</b> and <b>text</b> query parameters.</p>
<p>Examples:</p>
<ul>
<li><b>Customizing labels:</b>
http://www.webpagetest.org/video/compare.php?tests=110606_MJ_RZEY-l:Original,110606_AE_RZN5-l:No+JS</li>
<li><b>Compare First vs. Repeat view:</b>
http://www.webpagetest.org/video/compare.php?tests=110606_MJ_RZEY, 110606_MJ_RZEY-c:1</li>
<li><b>White background with black text:</b>
http://www.webpagetest.org/video/compare.php?tests=110606_MJ_RZEY, 110606_MJ_RZEY-c:1&bg=ffffff&text=000000</li>
</ul>
<input id="advanced-ok" type=button class="simplemodal-close" value="OK">
</div>
<?php
}
// EMBED
// scroll the table to show the first thumbnail change
$scrollPos = $firstFrame * ($maxThumbWidth + 6);
?>
<script language="javascript">
var thumbWidth = <?php
echo "{$maxThumbWidth};";
?>
var scrollPos = <?php
echo "{$scrollPos};";
?>
document.getElementById("videoDiv").scrollLeft = scrollPos;
</script>
<?php
}
}
示例5: header
<?php
header("Content-type: image/png");
include 'common.inc';
include 'object_detail.inc';
include 'contentColors.inc';
include 'connectionView.inc';
include 'page_data.inc';
$pageData = loadPageRunData($testPath, $run, $cached);
$mime = $_GET['mime'];
// get all of the requests
$secure = false;
$haveLocations = false;
$requests = getRequests($id, $testPath, $run, $cached, $secure, $haveLocations, false);
$mimeColors = requestColors($requests);
$summary = array();
$connections = getConnections($requests, $summary);
$options = array('id' => $id, 'path' => $testPath, 'run' => $run, 'cached' => $cached, 'cpu' => true, 'bw' => true);
$im = drawImage($connections, $summary, $url, $mime, $mimeColors, false, $pageData, $options);
// spit the image out to the browser
imagepng($im);
imagedestroy($im);
示例6: SpeedIndex
function SpeedIndex($testPath, $run, $cached, $testInfo)
{
$speed_index = '';
$pageData = loadPageRunData($testPath, $run, $cached, null, $testInfo);
$startOffset = array_key_exists('testStartOffset', $pageData) ? intval(round($pageData['testStartOffset'])) : 0;
$progress = GetVisualProgress($testPath, $run, $cached, null, null, $startOffset);
if (isset($progress) && is_array($progress) && array_key_exists('SpeedIndex', $progress)) {
$speed_index = $progress['SpeedIndex'];
}
return $speed_index;
}
示例7: loadPageRunData
echo '">';
?>
<br>
</div>
<br>
<?php
include './ads/optimization_middle.inc';
?>
<br>
<h2>Details:</h2>
<?php
require 'optimization.inc';
require_once 'page_data.inc';
$pageData = loadPageRunData($testPath, $run, $cached, null, $test['testinfo']);
require_once 'object_detail.inc';
$secure = false;
$haveLocations = false;
$requests = getRequests($id, $testPath, $run, $cached, $secure, $haveLocations, false);
dumpOptimizationReport($pageData, $requests, $id, $run, $cached, $test);
echo '<p></p><br>';
include './ads/optimization_bottom.inc';
echo '<br>';
dumpOptimizationGlossary($settings);
?>
<?php
include 'footer.inc';
?>
</div>
示例8: header
<?php
header("Content-type: image/png");
include 'common.inc';
require_once 'object_detail.inc';
require_once 'page_data.inc';
require_once 'waterfall.inc';
$page_data = loadPageRunData($testPath, $run, $cached, $requests);
$is_mime = (bool) @$_REQUEST['mime'];
$is_state = (bool) @$_REQUEST['state'];
$use_dots = !isset($_REQUEST['dots']) || $_REQUEST['dots'] != 0;
$show_labels = !isset($_REQUEST['labels']) || $_REQUEST['labels'] != 0;
$rowcount = array_key_exists('rowcount', $_REQUEST) ? $_REQUEST['rowcount'] : 0;
// Get all of the requests;
$is_secure = false;
$has_locations = false;
$use_location_check = false;
if (!isset($requests)) {
$requests = getRequests($id, $testPath, $run, $cached, $is_secure, $has_locations, $use_location_check);
} else {
// not multisteps enabled
$requests = $requests[$run][$cached];
fixRequests($requests, $id, $testPath, $run, $cached, $is_secure, $has_locations, $use_location_check);
}
if (@$_REQUEST['type'] == 'connection') {
$is_state = true;
$rows = GetConnectionRows($requests, $show_labels);
} else {
$rows = GetRequestRows($requests, $use_dots, $show_labels);
}
$page_events = GetPageEvents($page_data);
示例9: getOptimizationDetails
/**
* Parse the page data and load the optimization-specific details
*
* @param mixed $testPath
* @param mixed $run
* @param mixed $cached
* @param mixed $includeObject
*/
function getOptimizationDetails($testPath, $run, $cached, $includeObject)
{
$opt = null;
$pageData = loadPageRunData($testPath, $run, $cached);
if ($pageData) {
$opt = array();
// put them in rank-order
$opt['keep-alive'] = array();
$opt['gzip'] = array();
$opt['image_compression'] = array();
$opt['caching'] = array();
$opt['combine'] = array();
$opt['cdn'] = array();
$opt['cookies'] = array();
$opt['minify'] = array();
$opt['e-tags'] = array();
// get the scores
$opt['keep-alive']['score'] = $pageData['score_keep-alive'];
$opt['gzip']['score'] = $pageData['score_gzip'];
$opt['image_compression']['score'] = $pageData['score_compress'];
$opt['caching']['score'] = $pageData['score_cache'];
$opt['combine']['score'] = $pageData['score_combine'];
$opt['cdn']['score'] = $pageData['score_cdn'];
$opt['cookies']['score'] = $pageData['score_cookies'];
$opt['minify']['score'] = $pageData['score_minify'];
$opt['e-tags']['score'] = $pageData['score_etags'];
// define the labels for all of them
$opt['keep-alive']['label'] = 'Enable keep-alive';
$opt['gzip']['label'] = 'Compress Text';
$opt['image_compression']['label'] = 'Compress Images';
$opt['caching']['label'] = 'Cache static content';
$opt['combine']['label'] = 'Combine js and css files';
$opt['cdn']['label'] = 'Use a CDN';
$opt['cookies']['label'] = 'No cookies on static content';
$opt['minify']['label'] = 'Minify javascript';
$opt['e-tags']['label'] = 'Disable E-Tags';
// flag the important ones
$opt['keep-alive']['important'] = true;
$opt['gzip']['important'] = true;
$opt['image_compression']['important'] = true;
$opt['caching']['important'] = true;
$opt['combine']['important'] = true;
$opt['cdn']['important'] = true;
// apply grades
foreach ($opt as &$item) {
$grade = 'N/A';
$weight = 0;
if (isset($item['score'])) {
$weight = 100;
if ($item['score'] >= 90) {
$grade = 'A';
} elseif ($item['score'] >= 80) {
$grade = 'B';
} elseif ($item['score'] >= 70) {
$grade = 'C';
} elseif ($item['score'] >= 60) {
$grade = 'D';
} elseif ($item['score'] >= 0) {
$grade = 'F';
} else {
$weight = 0;
}
}
$item['grade'] = $grade;
$item['weight'] = $weight;
}
}
return $opt;
}
示例10: testLoadPageRunData
public function testLoadPageRunData()
{
echo $this->resultPath . "\n";
$pageRunData = loadPageRunData($this->resultPath, 1, 0);
$this->assertArraySubset($this->expectedData, $pageRunData);
}
示例11: array
require_once __DIR__ . '/include/TestInfo.php';
require_once __DIR__ . '/include/TestRunResults.php';
require_once __DIR__ . '/include/RunResultHtmlTable.php';
require_once __DIR__ . '/include/UserTimingHtmlTable.php';
require_once __DIR__ . '/include/WaterfallViewHtmlSnippet.php';
require_once __DIR__ . '/include/ConnectionViewHtmlSnippet.php';
require_once __DIR__ . '/include/RequestDetailsHtmlSnippet.php';
require_once __DIR__ . '/include/RequestHeadersHtmlSnippet.php';
require_once __DIR__ . '/include/AccordionHtmlHelper.php';
$options = null;
if (array_key_exists('end', $_REQUEST)) {
$options = array('end' => $_REQUEST['end']);
}
$testInfo = TestInfo::fromFiles($testPath);
$testRunResults = TestRunResults::fromFiles($testInfo, $run, $cached, null, $options);
$data = loadPageRunData($testPath, $run, $cached, $options, $test['testinfo']);
$isMultistep = $testRunResults->countSteps() > 1;
$page_keywords = array('Performance Test', 'Details', 'Webpagetest', 'Website Speed Test', 'Page Speed');
$page_description = "Website performance test details{$testLabel}";
?>
<!DOCTYPE html>
<html>
<head>
<title>WebPagetest Test Details<?php
echo $testLabel;
?>
</title>
<?php
$gaTemplate = 'Details';
include 'head.inc';
?>
示例12: View
<td>
<div id="tableRequestsRv_div" style="width: 100%;"></div>
</td>
<td>
<div id="tableBytesRv_div" style="width: 100%;"></div>
</td>
</tr>
</table>
<div style="text-align:center;">
<h3 name="connection">Connection View (Repeat View)</h3>
<map name="connection_map_rv">
<?php
$mimeColors = requestColors($requestsRv);
$summary = array();
$connections = getConnections($requestsRv, $summary);
$pageData = loadPageRunData($testPath, $run, 1);
$options = array('id' => $id, 'path' => $testPath, 'run' => $run, 'cached' => $cached, 'cpu' => true);
$map = drawImage($connections, $summary, $url, $mime, $mimeColors, true, $pageData, $options);
foreach ($map as $entry) {
if ($entry['request'] !== NULL) {
$index = $entry['request'] + 1;
$title = $index . ': ' . $entry['url'];
echo '<area href="#request' . $index . '" alt="' . $title . '" title="' . $title . '" shape=RECT coords="' . $entry['left'] . ',' . $entry['top'] . ',' . $entry['right'] . ',' . $entry['bottom'] . '">' . "\n";
} else {
echo '<area href="#request" alt="' . $entry['url'] . '" title="' . $entry['url'] . '" shape=RECT coords="' . $entry['left'] . ',' . $entry['top'] . ',' . $entry['right'] . ',' . $entry['bottom'] . '">' . "\n";
}
}
?>
</map>
<table border="1" cellpadding="2px" cellspacing="0" style="width:auto; font-size:70%; margin-left:auto; margin-right:auto;">
<tr>
示例13: array
<?php
include 'common.inc';
require_once 'object_detail.inc';
require_once 'page_data.inc';
require_once 'waterfall.inc';
$options = null;
if (array_key_exists('end', $_REQUEST)) {
$options = array('end' => $_REQUEST['end']);
}
$data = loadPageRunData($testPath, $run, $cached, $options);
$page_keywords = array('Performance Test', 'Details', 'Webpagetest', 'Website Speed Test', 'Page Speed');
$page_description = "Website performance test details{$testLabel}";
?>
<!DOCTYPE html>
<html>
<head>
<title>WebPagetest Test Details<?php
echo $testLabel;
?>
</title>
<?php
$gaTemplate = 'Details';
include 'head.inc';
?>
<style type="text/css">
div.bar {
height:12px;
margin-top:auto;
margin-bottom:auto;
}
示例14: tbnDrawChecklist
/**
* Draw the checklist image
*
* @param resource $img
*/
function tbnDrawChecklist(&$img)
{
global $id;
global $testPath;
global $run;
global $cached;
global $url;
include 'optimizationChecklist.inc';
$is_secure = false;
$has_locations = false;
$requests = getRequests($id, $testPath, $run, $cached, $is_secure, $has_locations, false);
$page_data = loadPageRunData($testPath, $run, $cached);
$img = drawChecklist($url, $requests, $page_data);
if (!$requests || !$page_data) {
$failed = true;
}
}
示例15: loadAllPageData
$pageData;
if (isset($_REQUEST["run"]) && $_REQUEST["run"]) {
if (!strcasecmp($_REQUEST["run"], 'median')) {
$raw = loadAllPageData($testPath);
$run = GetMedianRun($raw, $cached, $median_metric);
if (!$run) {
$run = 1;
}
unset($raw);
}
$pageData[$run] = array();
if (isset($cached)) {
$pageData[$run][$cached] = loadPageRunData($testPath, $run, $cached);
} else {
$pageData[$run][0] = loadPageRunData($testPath, $run, 0);
$pageData[$run][1] = loadPageRunData($testPath, $run, 1);
}
} else {
$pageData = loadAllPageData($testPath);
}
// build up the array
$result = BuildResult($pageData);
// spit it out as json
$filename = '';
if (@strlen($url)) {
$parts = parse_url($url);
$filename = $parts['host'];
}
if (!strlen($filename)) {
$filename = "pagetest";
}