Chrome 开发工具之Timeline

认识Timeline

接下来开始详细的分析下每个标记处的作用(有几个还没标记出来的也有介绍,顺序是按照面板从左到右,从上到下)

记录按钮

是否需要对当前页面的运行进行记录,当打开记录按钮开始执行记录过程的时候,该按钮显示红色

清除按钮

按下后会清除之前的记录信息,瞬间白板

捕获列表

捕获满足后面所列出的条件的相关事件,在这个的右边有选择框供选择

js概况

js函数执行的信息,主要展现在事件调用瀑布图中

如图所示,我们能够看到函数的调用(这里截取了一段短时间内的事件瀑布图)

信息记录和记忆线

当打开状态时,记录在记录过程中如js堆内存、Node节点数等数据的记忆线

如下图,在该记忆线上移动鼠标,会在图的下面出现对应时间点时的各项指标数据

当打开memory时,会在NET下面产生一个HEAP展示图,该图展示了js堆内存的使用情况,如图

绘制信息

记录paint过程的信息,可以在paint profile细节面板中查看,记录绘制信息有产生一定的性能损耗

录制截屏和截屏列表

和network的捕获截屏是一样的,会产生一定的性能损耗,详情可查看http://item.taobao.com/item.htm?id=41222768202

垃圾回收

针对记录过程所产生的垃圾进行回收,释放浏览器内存

FPS信息

页面活动时的FPS变化信息,通常设备的屏幕的刷新频率是60FPS,超过的话,则有可能产生卡顿现象,可参考http://item.taobao.com/item.htm?id=41222768202

效果如下图,有两个地方可以显示FPS信息,当FPS过大时,会显示红色的长条,代表有个长帧。我们也可以观察到,上下两个区域的分红条状出现的时间点和持续的时间段是同步的。

CPU信息

记录浏览器内核的运行情况,以曲线区域图的形式展示。黄色的表示对js的操作所占内存(js代码评估及函数调用),蓝色表示对html操作所占的内存(主要是html编译),紫色表示对css操作所占的内存(css样式计算等),灰色表示其他操作所占的内存

展示效果如下图所示:

网络请求信息

网络资源请求信息,以不同颜色的条状表示不同的资源。黄色表示是script文件,蓝色表示是html文件,紫色表示是css文件,绿色表示是媒体文件,灰色表示各种其他文件~

若希望看network的详细情况,建议参考http://item.taobao.com/item.htm?id=41222768202

效果如图:

推荐将FPS.CPU.NET合起来看,如下:

事件瀑布图

各种事件的信息大集合,24K钛合金狗眼已闪瞎,第一行代表随着时间推移而发生的事件,下面各行是第一行事件的子项,由下面的各项组成第一行的整体事件。瀑布图的信息与CPU使用情况相符合,可从下图中看出

具体效果如图所示(为方便查看,这里截取一段时间内的事件瀑布图)

当记录一个网站加载过程时,在事件瀑布面板会有三条虚线,绿色的表示第一次开始绘制页面,蓝色线代表DOM已加载完成,红色线表示页面加载完(包括资源引用)

效果图:

最新版本的chrome在js profile选择框前面加了个network选择框,当选择network时,会将此处作为network信息面板,可通过鼠标悬浮network面板上的条状来查看没个资源的请求情况

如图所示,最新版本的chrome-timeline面板

细节展示

展示所选事件的各项细节信息

http://item.taobao.com/item.htm?id=41222768202

所选事件的一个信息汇总

我们可以先在时间轴上选取一段区域,看看有些什么:

然后在事件瀑布图中选中一个事件看看:

可以看出,该汇总会将选中目标的内容大致信息展示出来。

bottom-up  http://item.taobao.com/item.htm?id=41222768202

根据事件耗时长短,反向列出事件列表,有分类可选(通过类型、域、子域、URL分类列出),面板右边也有详细介绍,不过基本和左边相似,就不多介绍了。

效果图如下:

可以看出耗时最长的是html编译及其所花费的时间,其次是一个XHR请求...在这个面板的左上角还有分组筛选,将列表数据分别以activity、category、domain、subdomain、url归类到一起。

call-tree(事件调用的树形图)  http://item.taobao.com/item.htm?id=41222768202

可在树形图中查看各项事件的子项信息,及各子项的信息,同样也有分组筛选,规则同上,面板右边同上

效果如图所示(和bottom-up基本相同,不同的是事件调用跟踪信息更详细的列在了树形图上):

而同一个事件在bottom-up里是这样的,简化了很多:

event-log(事件日志)

明确列出各项事件的详细信息,可以进行关键字筛选,所耗时间筛选,事件类型筛选等,右边是详细信息,可看到函数调用栈的跟踪信息。

效果如图所示:

layers

展示刷新到某帧时的页面,可让开发者明确页面每一帧的渲染情况

注意:在paint选择框勾选的情况下可用 http://item.taobao.com/item.htm?id=41222768202

面板召唤过程:

1.选择所选区块

2.选择长帧,出现layers面板

3.在layers面板浪起来

可以看到页面在这个长帧阶段后的绘制情况,旋转可看层级立体图,右侧也有列出当前帧的详细信息,如size大小、为啥要合并(什么是合并?

paint profiler

页面绘制过程

注意:在paint选择框勾选的情况下可用

面板召唤过程:

1.选择一个paint事件,出现paint profiler面板

2.在paint profiler面板浪起来

绘制过程中可以选择一段区域,看这段区域内的页面绘制结果是什么样的,比如,在这个列表中,首先是导航的绘制,然后是右侧文章内容,然后是左侧几个小窗div的绘制。文字描述,相对图形来说的,只是给列出了选中区域的绘制事件列表及绘制信息,可点开看详细内容,比如有textsize、left、top等属性

时间: 2024-10-27 07:07:14

Chrome 开发工具之Timeline的相关文章

Chrome 开发工具指南

Chrome 开发工具指南 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具.开发者工具允许网页开发者深入浏览器和网页应用程序的内部.该工具可以有效地追踪布局问题,设置 JavaScript 断点并可深入理解代码的最优化策略. 适用人群 这篇教程将会带你从头开始使用学习如何利用 Google 提供的组件进行 Chrome 上的相关开发调试工作. 通过本教程,你将学会如何使用这些工具,并且学会如何通过它来分析调试提供的 Demo . 学习前提 在你继续本教程之前,你必须对

chrome开发者工具浅析--timeline

一.概述                                                                                                                用户都希望他们访问的web应用是可交互且运行流畅的.因此,作为web开发者,也要在这方面多花点功夫.我们所做的页面,不但要能被快速加载,还要能流畅运行:页面的滚动要快速响应手指的动作,动画和交互效果更要如丝般顺滑. 这样一来,想要编写高性能的web站点就需要充分了解浏

Chrome开发工具

你可能已经熟悉了Chrome开发工具的基本功能.: DOM检查器.样式面板和JavaScript控制台. 但也有一些不太为人所知的特性可以显著提高你调试或开发应用的速度. 黑色主题 Chrome开发工具的内置了黑色主题.你可以通过点击开发工具窗口右上角的三点图标,之后点击进入设置页面,切换主题. 有时候我觉得黑色主题让我的眼睛更舒服,并且黑色主题显然看起来更酷一些 :) 选择模式 Chrome开发者工具提供了很多选择元素的方法,其中最快捷的方法就是使用选择模式. 该功能通过点击调试面板左上角的按

Chrome 开发工具 Workspace 使用(转)

前端开发中我们经常要在浏览器中做一些细节调整,比如对 CSS 的微调,最快的方式当然是直接在 Chrome 的开发者工具中调整,但问题在于在控制台中调试好的数值我们还需要再在 CSS 源码中再写一次,效率就低了不少.而 Chrome 的 Workspace 工具就能帮助我们把调试工具中修改的内容自动保存到相应的文件中. 方法也挺简单,下面以调试一个 CSS 文件为例: 打开需要调试的页面,再开启调试工具(F12.alt + command + i),切换到 Sources 选项卡,在 CSS 资

Chrome 开发工具之Sources

Sources面板主要用于查看web站点的资源列表及javascript代码的debug 熟悉面板 了解完面板之后,下面来试试这些功能都是如何使用的. 文件列表 展示当前页面内所引用资源的列表,和平常的文件tree一样. 内容区域 可在该区域查看打开的文件的脚本,也可以在区域内下断点,打断指定执行代码行. 断点方式: 1.在脚本中写入debugger 2.在Sources面板文件内标注断点. debugger: var num = 1; console.log(num); debugger; 效

Chrome 开发者工具的Timeline和Profiles提高Web应用程序的性能[转]

我们都希望创建高性能的Web应用程序.由于我们的应用程序变得越来越复杂,我们可能想要支持丰富的画面以及理想的60帧/秒,这能保证我们的应用程序响应灵敏且生动流畅. 知道如何衡量和提高性能,是一个有用的技能,在这短短的文章中,我会带您简单回顾关于如何通过 Chrome DevTools的 Timeline和Profiles做到这一点. 看!这是一个美丽的GIF动画.这标志着这篇文章这里开始展开:) 记录 Timeline工具栏提供了对于在装载你的Web应用的过程中,时间花费情况的概览,这些应用包括

Chrome开发工具Network没有显示完整的http request和response对话

Chrome开发工具Network没有显示完整的http request和response对话 这几天看<http defintion guide>介绍Authorization和www-Authorization的机制时不是很理解,因此自己动手做实验,从而发现了Chrome开发工具Network一点有趣的小问题,特此记录. Authorization和www-Authorization是http header,用于对客户端用户的身份认证,过程如下图. (1)client向server发出re

Chrome 开发者工具的Timeline和Profiles提高Web应用程序的性能

Chrome 开发者工具的Timeline和Profiles提高Web应用程序的性能 二.减少 HTTP 的请求数    当用户浏览页面时,如果我们在用户第一次访问时将一些信息一次性加载到客户端缓存,用户访问其他页面时是可以大大提高页面访问速度的,因为每一次发生http请求是要产生服务器开销的,常用的方法有:合并css,js,并作为外部引用,这样就可以减少访问其他页面时再次加载.目前大多数的网站都采用将页面所用到的图片全部放在一张大图上,这样只要访问网站,图片就全部加载到客户端缓存起来了.不过也

chrome开发工具指南(一)

注意:如果你是一个网页开发者同时想要获得最新版本的开发工具,那么你应该使用谷歌浏览器(金丝雀)Canary 版. Chrome 开发者工具 打开Chrome 开发者工具 选择浏览器位于浏览器窗口右上方的菜单栏的工具目录,选择开发者工具选项. 右击页面任何位置并选择审查元素. 开发工具将会在浏览器的下方打开. 有一些快捷键也可以用来打开开发工具: Ctrl + Shift + I ( 或在 Mac 上使用 Cmd + Opt+ I). Ctrl + Shift + J ( 或在 Mac 上使用 C