IE调试网页之七:使用探查器工具分析代码性能 (Windows)

简介:

  F12 开发人员工具提供了内置脚本探查器,你可以利用它分析在 Windows Internet Explorer 9 中运行的 JavaScript 代码的性能。本主题介绍此工具的功能以及如何使用它检查脚本的性能。

  分析脚本

  要开始操作,请在 Internet Explorer 9 中打开你要分析的页面。在 Internet Explorer 9 中,按 F12 以打开 F12 工具,然后单击“探查器”选项卡。

  探查器让你能够开始和停止分析,并提供了一些有关函数、函数的运行次数以及每个函数运行的时间的视图或报告。

  当你第一次单击“探查器”选项卡时,网格是空的。单击“开始分析”按钮,然后运行你要在浏览器中分析的代码。如果你要从网页的初次加载开始,请单击“刷新”以运行页面上的代码。在需要停止收集数据并查看结果时,单击“停止分析”。 要只分析某个代码部分,请单击“开始分析”,仅在浏览器中运行相应的代码部分(如从某个按钮单击调用的某个函数),然后单击“停止分析”。

  查看分析报告

  单击“停止分析”时,会从探查器工具自动生成报告。每个探查器会话都是一个独立的报告,因此,你可以运行任意次数的分析(例如,针对脚本的多个部分)或修改值,以及再次分析相同部分。默认情况下仅显示最新的探查器报告,但你可以单击“当前报告”下拉列表来查看其他报告。

  可以通过函数视图或调用树视图这两种方法查看报告。“函数”视图按照函数运行顺序显示所有函数。“调用树”视图显示函数的层次结构,以便你可以更轻松地查看父项和子项的关系。

F12 工具的包含函数视图的分析选项卡的屏幕截图

  分析数据类型

  探查器最多从分析中返回 12 列数据。在报告中,你可以右键单击列的顶部,然后添加或删除列。 下表显示了可用的数据。

列标题 显示的内容
函数 正在分析的函数的名称。
计数 调用此函数的总次数。
包含时间(毫秒) 在此函数中经过的运行时间长度。其中包括从此函数调用的子函数或外部函数中花费的时间。
包含时间百分比 在此函数中经过的运行时间百分比。其中包括从此函数调用的子函数或外部函数中花费的时间。
排除时间(毫秒) 在此函数中经过的运行时间长度。其中排除从此函数调用的子函数或外部函数中花费的时间。
排除时间百分比 在此函数中经过的运行时间百分比。其中排除从此函数调用的子函数或外部函数中花费的时间。
平均时间(毫秒) 在此函数及其子函数和外部函数中花费的平均时间。
最大时间(毫秒) 在此函数及其子函数和外部函数中花费的最大时间。
最小时间(毫秒) 在此函数及其子函数和外部函数中花费的最小时间。
函数类型 函数的类型 - DOM、用户、内置。
URL 定义此函数的源文件的 URL。
行号 此函数的开头在源代码中的行号。

  包含时间和排除时间会给出有关代码中的问题的一些迹象。包含时间提供了此函数、由其调用的或其子函数调用的任何函数的总体时间。排除时间仅显示在特定函数内实际花费的时间。有可能一个函数的包含时间非常高,而排除时间很少。例如:

function bar() {
// do some work for a 250 milliseconds
}

function foo() {
// do some work for 200 milliseconds and then call bar()
bar();
}

function main() {
//do some work for 50 milliseconds then call foo()
foo();
}

  在此示例中,首先调用 "main()" 函数(工作时间为 50 毫秒),然后调用 "foo()"(花费 200 毫秒),然后调用 "bar()"(在完成之前工作 250 毫秒)。下面的图表演示了包含时间和排除时间可能显示的值。

函数 包含时间 排除时间
main() 500 毫秒 50 毫秒
foo() 450 毫秒 200 毫秒
bar() 250 毫秒 250 毫秒

  每个函数的包含时间是运行该函数花费的时间加上运行它后面的函数(子函数)花费的所有时间。排除时间仅仅是运行当前函数花费的时间。函数链中的最后一个函数 "bar()" 显示的包含时间和排除时间是相同的。

  搜索报告和报告排序

  你可以使用 F12 工具右上角的“搜索”框在报告中搜索特定函数。在“搜索”框中键入全部或部分名称,然后单击“搜索”按钮或按 Enter。将突出显示搜索关键字的所有实例,并且报告会滚动到第一个匹配项。通过按 Enter 或 Shift + Enter,或单击“下一个”或“上一个”结果按钮,可在匹配项之间导航。

F12 工具搜索的“下一个”按钮和“上一个”按钮的图片

  在“调用树”视图中搜索时,匹配的函数上方的所有父函数都会展开。

  单击任意可见列的标题以按该数据进行排序。再次单击标题可切换升序和降序。还可在“探查器”选项卡中右键单击数据区域,单击“排序方式”,然后选择所需的列。

  在“调用树”报告视图中排序时,仅对顶级函数的值进行排序。子函数仍保留其层次结构顺序。

  复制和保存报告

  通过选择行并按 Ctrl+C,或通过右键单击并单击“复制”,可复制探查器报告中的所有或部分信息。要选择所有行,请按Ctrl + A,然后按 Ctrl+C

  要直接导出到一个逗号分隔 (.csv) 文件,请单击“导出”图标(在“开始分析”按钮旁边。)导出函数将保存所有行(包括标题),而复制和粘贴仅包括选中的行,而不包括标题。



本文转自Artwl博客园博客,原文链接:http://www.cnblogs.com/artwl/,如需转载请自行联系原作者

相关文章
|
10月前
|
关系型数据库 虚拟化 UED
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
407 7
Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具
|
5月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
280 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
11月前
|
网络协议 Linux 网络安全
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
远程登录Linux服务器是管理和维护服务器的重要手段,尤其在远程办公、云服务管理等场景中不可或缺。通过工具如XShell,用户可以方便地进行远程管理。SSH协议确保了数据传输的安全性,命令行界面提高了操作效率。配置XShell连接CentOS时,需确保Linux系统开启sshd服务和22端口,并正确设置主机地址、用户名和密码。此外,调整字体和配色方案可优化使用体验,解决中文显示问题。
486 21
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
|
11月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
779 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
11月前
|
监控 Ubuntu Linux
Windows11 WSL2 Ubuntu编译安装perf工具
通过以上步骤,你已经在Windows 11的WSL2中成功编译并安装了 `perf`工具。尽管在WSL2中可能会遇到一些限制,但大部分基本性能分析功能应当可以正常使用。使用 `perf`进行性能分析,可以帮助你更好地理解和优化系统及应用程序的性能。
875 14
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
348 32
|
Web App开发 C# Windows
一款.NET开源的Windows资源管理器标签页工具
一款.NET开源的Windows资源管理器标签页工具
228 5
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
464 2
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(一)
452 2
|
XML 网络安全 数据格式
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
Kali渗透测试:Windows事件管理工具wevtutil的使用方法(二)
311 1