gpt4 book ai didi

asp.net - Glimpse 如何计算服务器、线路和客户端的时间?

转载 作者:行者123 更新时间:2023-12-04 14:14:04 28 4
gpt4 key购买 nike

Glimpse 的 HUD 提供了一个非常有用的时间 View ——它们似乎与各种浏览器的网络捕获开发工具联系在一起。

如果我采用自定义 HttpModule 的简单实现如此处详述 by Phil Haack ,我得到了完全不同的服务器处理时间。收到的时间总是远低于 Glimpse 报告的时间。然而,Glimpse 更接近于浏览器工具时间。

Glimpse 显然使用了一种更复杂的技术来计算这个。

  • Glimpse 如何计算服务器处理时间的持续时间?
  • 走线时间是如何准确计算的?
  • 我想客户端计时都是基于对 Javascript 事件的监听。这样对吗?
  • 最佳答案

    如果你看看 glimpse.hud.js文件,它是发送到客户端的sketch.js 客户端文件的一部分,然后您将看到所有计时都基于Navigation Timing API由浏览器实现。

    Glimpse 在 HUD 中显示的时间是根据该 API 提供的时间计算的。所以首先 Glimpse 掌握这些时间

    var timingsRaw = (window.performance 
    || window.mozPerformance
    || window.msPerformance
    || window.webkitPerformance
    || {}).timing;

    之后它开始计算时间,这些时间可以为在哪里寻找性能问题提供一些额外的值(value)(是服务器上的问题,客户端上的问题......)
    processTimings = function (details) {
    var result = {},
    networkPre = calculateTimings('navigationStart', 'requestStart'),
    networkPost = calculateTimings('responseStart', 'responseEnd'),
    network = networkPre + networkPost,
    server = calculateTimings('requestStart', 'responseStart'),
    browser = calculateTimings('responseEnd', 'loadEventEnd'),
    total = network + server + browser;
    ...
    };

    calculateTimings = function (startIndex, finishIndex) {
    return timingsRaw[finishIndex] - timingsRaw[startIndex];
    };

    如您所见,这也适用于服务器显示的时间,这解释了为什么您在服务器上有效计算的时间低于 Glimpse 显示的时间。

    备注 :当然,这些时间的计算方式仅适用于 HTTP 选项卡上 HUD 中显示的时间。例如,Timeline 选项卡中显示的时间是在服务器上计算的,因为它们显示服务器上不同处理步骤之间的时间,显然浏览器无法对这些时间进行计时。

    我希望这回答了你的问题。

    关于asp.net - Glimpse 如何计算服务器、线路和客户端的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18640408/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com