PipelineEntry

PipelineEntry is responsible for recording performance data at key moments during the Lynx Pipeline, specifically for Framework Rendering and Pixel Pipeline. It inherits from PerformanceEntry.

The Lynx Pipeline refers to the complete process from the trigger of rendering to the final display. This process is divided into four main parts: Load, Parse, Framework Rendering (FrameworkPipeline), and Engine Rendering (PixelPipeline).

Due to the frequent triggering of the Lynx Pipeline, the framework only records the following two cases:

  1. Lynx Pipeline marked with __lynx_timing_flag, which generate performance data as PipelineEntry.
  2. Lynx Pipeline triggered by loading and executing a TemplateBundle, which generate performance data as LoadBundleEntry.

The following is the flowchart for PipelineEntry:

Example

This example demonstrates how to generate and retrieve PipelineEntry.

Instance properties

entryType

entryType: string;

The type of the performance event; the value for all instances of this class is fixed as pipeline.

name

name: string;

The specific name of the performance event; used to distinguish the source of the Pipeline trigger. Possible values include:

  • loadBundle
  • reloadBundleFromNative
  • reloadBundleFromBts
  • updateTriggeredByBts
  • updateTriggeredByNative
  • updateGlobalProps
  • setNativeProps

identifier

identifier: string;

A marker for a particular Lynx Pipeline. It can have the following two values:

  1. For Lynx Pipelines marked with __lynx_timing_flag, identifier equals the value of __lynx_timing_flag.
  2. For Lynx Pipelines triggered by loading and executing a TemplateBundle, identifier is an empty string.

pipelineStart

pipelineStart: number;

The timestamp for the start of the rendering pipeline. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

pipelineEnd

pipelineEnd: number;

The timestamp for the end of the rendering pipeline. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

mtsRenderStart

mtsRenderStart: number;

The timestamp for the start of executing the main thread scripts to build the Element Tree. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

mtsRenderEnd

mtsRenderEnd: number;

The timestamp for the end of executing the main thread scripts to build the Element Tree. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

resolveStart

resolveStart: number;

The timestamp for the start of calculating Element styles. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

resolveEnd

resolveEnd: number;

The timestamp for the end of calculating Element styles. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

layoutStart

layoutStart: number;

The timestamp for the start of layout calculations. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

layoutEnd

layoutEnd: number;

The timestamp for the end of layout calculations. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

paintingUiOperationExecuteStart

paintingUiOperationExecuteStart: number;

The timestamp for the start of executing UI operations related to painting. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

paintingUiOperationExecuteEnd

paintingUiOperationExecuteEnd: number;

The timestamp for the end of executing UI operations related to painting. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

layoutUiOperationExecuteStart

layoutUiOperationExecuteStart: number;

The timestamp for the start of executing UI operations related to layout. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

layoutUiOperationExecuteEnd

layoutUiOperationExecuteEnd: number;

The timestamp for the end of executing UI operations related to layout. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

paintEnd

paintEnd: number;

The timestamp for the end of completing the final pixelation based on UI and UITree. This timestamp is represented as a floating-point Unix timestamp (in milliseconds) with three decimal places. For example: 1739594612307.429.

frameworkPipelineTiming

frameworkPipelineTiming: FrameworkPipelineTiming[keyof FrameworkPipelineTiming];

Performance data for key stages in Framework Rendering. The type is FrameworkPipelineTiming.

Compatibility

LCD tables only load in the browser

Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.