Phantom JS - 如何获得性能计时?

时间:2015-05-27 10:03:17

标签: javascript performance phantomjs performancecounter

使用PhantomJS,我想收集页面加载时间的性能计时。

我测试了这两种收集指标的方法

设定自己的时间

var page = require('webpage').create();   
var system = require('system');
var loadingTime;

loadingTime = Date.now();
page.open('http://crawlbin.com', function (status) {
     loadingTime = Date.now() - loadingTime;
     console.log('Loading time ' + loadingTime + ' msec');
     phantom.exit();
});

结果:加载时间499毫秒

使用W3C Navigation Timing

var page = require('webpage').create();   
var system = require('system');

page.open('http://crawlbin.com', function (status) {
     console.log(window.performance.timing.loadEventEnd - window.performance.timing.navigationStart); 
     phantom.exit();
});

结果:256

但我没有得到相同的结果。导航定时总是小于自己的定时,导航定时具有更低的值。

什么是最准确的测量?

1 个答案:

答案 0 :(得分:0)

令人遗憾的是,window.performance.navigationStart的方式在性能时间轴中设置有问题。我不知道足够的C ++来确定问题,但我已经打开了一个缺陷。

我知道这不是一个答案,但是如果您正在寻找的是loadEventEnd时间,那么您在第一个实例中捕获的内容就像客户时间的表示一样接近您和&#t; #39;重新尝试衡量。

作为参考,缺陷在这里 - https://github.com/ariya/phantomjs/issues/13093