SpeedIndex在Dynatrace中是衡量网页加载速度的指标,类似于VisuallyComplete,但更细化。SpeedIndex是一个计算值,反映了整个页面的加载速度,同时考虑了所有重要元素的渲染时间。与VisuallyComplete不同,SpeedIndex指标考虑了渲染过程中的不同阶段,提供了更详细的性能信息。SpeedIndex是通过记录页面加载过程中每个时刻的视觉状态并将其与最终页面状态进行比较来计算的。这种比较计算页面上每个像素的变化量,并将这些值相加得出速度指数。SpeedIndex值越低,页面加载速度越快,用户体验越好。SpeedIndex是一个非常有用的指标,可以帮助开发人员了解网站的整体性能并确定需要优化的区域。它还可以与其他指标(如视觉完成度和首字节时间)结合使用,以提供更全面的性能分析。RUMJavaScript中的解决方案使用与WebPageTest相同的算法,但它使用视觉上完整的可见元素捕获。这些是“真正的”页面元素。屏幕截图比较(webpagetest.org)的优势在于可以直观地完整了解页面上的元素和时间。截图对比仅反映页面的视觉变化。因此,例如,如果有一个不断变化的旋转GIF,webpagetest.org的视觉完整性和速度索引时间将不准确。SpeedIndex通过衡量网页在某些标签之间的加载进度和在给定时间点保持未加载的元素的百分比来计算一个指数。对于XHR动作,DOM内容的观察从XHR动作的回调开始,到回调结束后50毫秒结束。对图像、样式表或IFrame等外部资源的任何更改都会导致RUMJavaScript向这些资源添加加载侦听器。这会将XHR操作时间延长到观察到的时间范围内添加的最后一个资源。
