PipelineEntry
PipelineEntry 负责记录 Lynx Pipeline 中框架渲染(Framework Rendering)和引擎渲染(Pixel Pipeline)关键时刻的性能数据,继承自 PerformanceEntry。
Lynx Pipeline 是指从渲染触发到最终显示的完整流程。该流程分为四个主要部分:加载(Load)、解析(Parse)、框架渲染(FrameworkPipeline)、引擎渲染(PixelPipeline)。
由于 Lynx Pipeline 触发频繁,框架仅统计以下两种情况:
- 被
__lynx_timing_flag标记的 Lynx Pipeline,产生的性能数据为PipelineEntry。 - 加载执行 TemplateBundle 触发的 Lynx Pipeline,产生的性能数据为
LoadBundleEntry。
以下是 PipelineEntry 的流程图:
示例
该示例展示了如何产生和获取 PipelineEntry。

实例属性
entryType
性能事件的类型,当前类所有实例的值均固定为 pipeline。
name
性能事件的具体名称,此处用于区分 Pipeline 的触发源,取值如下:
loadBundlereloadBundleFromNativereloadBundleFromBtsupdateTriggeredByBtsupdateTriggeredByNativeupdateGlobalPropssetNativeProps
identifier
某条 Lynx Pipeline 的标记。有以下两种取值情况:
- 被
__lynx_timing_flag标记的 Lynx Pipeline,identifier等于__lynx_timing_flag的值。 - 加载执行
TemplateBundle触发的 Lynx Pipeline,identifier为空字符串。
pipelineStart
渲染流水线的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
pipelineEnd
渲染流水线的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
mtsRenderStart
执行主线程脚本构建 Element Tree 的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
mtsRenderEnd
执行主线程脚本构建 Element Tree 的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
resolveStart
计算 Element 样式的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
resolveEnd
计算 Element 样式的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
layoutStart
布局计算的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
layoutEnd
布局计算的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
paintingUiOperationExecuteStart
执行绘制相关 UI 操作的开始时间戳。该时间戳是一个表示为 浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
paintingUiOperationExecuteEnd
执行绘制相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
layoutUiOperationExecuteStart
执行布局相关 UI 操作的开始时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
layoutUiOperationExecuteEnd
执行布局相关 UI 操作的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
paintEnd
基于 UI 和 UITree,完成最终像素化的结束时间戳。该时间戳是一个表示为浮点型的 Unix 时间戳(单位:毫秒),精确到小数点后三位。例如:1739594612307.429。
frameworkPipelineTiming
框架渲染中关键阶段的性能数据, 类型为 FrameworkPipelineTiming。
hostPlatformTiming
Lynx Pipeline 中不同平台特有的关键阶段的性能数据, 类型为 AndroidHostPlatformTiming | HarmonyHostPlatformTiming | IOSHostPlatformTiming。
actualFmp
从准备 TemplateBundle 至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:actualFmp = PipelineEntry.paintEnd - InitContainerEntry.prepareTemplateStart。
lynxActualFmp
从加载 TemplateBundle 至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:lynxActualFmp = PipelineEntry.paintEnd - LoadBundleEntry.loadBundleStart。
totalActualFmp
从用户打开页面至带有 __lynx_timing_flag="__lynx_timing_actual_fmp" 元件与标签渲染完成的耗时,数据类型为 PerformanceMetric。
计算公式为:totalActualFmp = PipelineEntry.paintEnd - InitContainerEntry.openTime。
兼容性
LCD tables only load in the browser