# Get updated performance statistics

Start from base library version 2.12.0. Please remaining backward compatible.

If you want to know setData Incurs the overhead of interface updates, you can use the Update Performance Statistics interface. It returns a timestamp of the major update step occurring in each update, which can be used to roughly estimate the performance of a custom component (or page) update. For example:

Component({
  attached() { // The call cannot be made earlier than attached
    this.setUpdatePerformanceListener({withDataPaths: true}, (res) => {
      console.log(res)
    })
  }
})

setUpdatePerformanceListener Method to accept a options Objects and callback functions listener As parameters.

Among them, options Object contains the following fields:

field type Introductions
withDataPaths Boolean Whether to return the changed Data Field Information

listeners Return to carry a res Object that represents an object that is defined once by the setData Triggered Update process According to the setData Depending on the timing of the call, the update process can be broadly divided into three categories:

  1. **Basic update ** , it has a unique updateProcessId
  2. Subupdate , which is a substep of another basic update and also has the only updateProcessId ♪ but there's another ♪ parentUpdateProcessId
  3. Merged Updated , which is merged into another basic update or sub-update process and cannot be counted independently.

Every successful setData Calls will result in an update process that makes listener Call back once. However setData It is difficult to determine what kind of update process is triggered, and the performance of the update is not necessarily related to the specific type of update, but their return value parameters are different.

res Contains the following fields in

field type Introductions
updateProcessId Number This update process. ID
parentUpdateProcessId Number For a child update, returns the update process to which it belongs ID
isMergedUpdate Boolean Whether the update is merged, and if so, updateProcessId Represents the update process to be merged into ID
dataPaths Array This update Data Field information, only the withDataPaths Set to true It will return.
pendingStartTimestamp Number The timestamp when this update enters the waiting queue
updateStartTimestamp Number The timestamp at the start of the update operation
updateEndTimestamp Number The timestamp at the end of the update operation

Dxplaination:

  • setUpdatePerformanceListener Will only activate the statistics of the current component or page, parentUpdateProcessId There may be other components or page update process ID If you want to know all the updates in the page, you need to call the setUpdatePerformanceListener
  • Statistics itself has a little overhead. If you want to disable statistics, call the setUpdatePerformanceListener The second parameter is passed listener for null Just...