如何从performance.window.performance.timing输出中获取性能KPI?

问题描述

尝试使用puppeteer框架获取UI Performance KPI,我有以下脚本

const puppeteer = require('puppeteer');
const select = require('puppeteer-select');

(async () => {
    const launchOptions = {
        headless: false,executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',args: ['--start-maximized','--disable-web-security','--disable-features=IsolateOrigins,site-per-process'],defaultviewport: null
    };
    const browser = await puppeteer.launch(launchOptions);
    const url = "http://app.contries/user_interface";
    const page = await browser.newPage();
    try {
        //Launch URL
        await page.goto(url);
        const performanceTiming = JSON.parse(
            await page.evaluate(() => JSON.stringify(window.performance.timing))
        );
        console.log(performanceTiming);

    } catch (error) {
        console.error(error);
    } finally {

        await page.waitFor(10000);
        console.log("Closing the browser session")
        await browser.close();
    }
})();

上面这段脚本的输出是:

connectStart: 1600180693460,navigationStart: 1600180692020,loadEventEnd: 1600180700487,domloading: 1600180697154,secureConnectionStart: 0,fetchStart: 1600180692021,domContentLoadedEventStart: 1600180700039,responseStart: 1600180697148,responseEnd: 1600180697215,domInteractive: 1600180700038,domainLookupEnd: 1600180693460,redirectStart: 0,requestStart: 1600180693764,unloadEventEnd: 0,unloadEventStart: 0,domComplete: 1600180700205,domainLookupStart: 1600180693460,loadEventStart: 1600180700205,domContentLoadedEventEnd: 1600180700089,redirectEnd: 0,connectEnd: 1600180693764

如何从上述输出获取以下KPI:

  1. 标题时间
  2. 开始渲染的时间
  3. 互动时间
  4. DNS查找时间
  5. 连接时间
  6. 一个字节的时间
  7. 最后一个字节的时间
  8. 总体等待

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...