Performance
This page documents the Performance CDP domain supported by Lynx DevTool.
Experimental reference
This generated reference is still being completed.
- CDP events are not included yet.
- Some Lynx extensions are listed but do not yet have detailed documentation.
- Method descriptions are not automatically verified against the implementation and may be incomplete or inaccurate.
Verify behavior against the implementation and the linked upstream CDP reference before relying on it.
Overview
- Scope:
instance - CDP domain: Performance
Standard Methods
Lynx Extensions
Performance.getAllPerformanceEntries
Returns DevTool-recorded Lynx performance entries for the current page.
- Origin:
lynx-extension - Source:
devtool/lynx_devtool/agent/domain_agent/inspector_performance_agent.cc
Parameters
No parameters.
Returns
Notes
- Dispatches through LynxDevToolMediator to InspectorUIExecutor on the UI thread.
- The executor reads LynxShell::GetAllPerformanceEntries() and wraps the converted array as result.entries.
- PerformanceController only caches pipeline entries when LynxEnv DevTool is enabled. This is independent of the CDP Performance.enable method.
- The method returns an empty entries array when there are no cached entries.
- Cached entries are cleared by PerformanceController::ResetStateBeforeReload().
- The entry object is extensible. Fields beyond entryType, instanceId, name, frameworkRenderingTiming, and hostPlatformTiming are owned by the Timing API and may vary by pipeline type.
- The native implementation does not read request params.
- If the shell has already been destroyed, the current handler sends a response with the request id and no result object.
Examples
Read recorded performance entries
Request:
Response:
Performance.getAllTimingInfo
Returns all Lynx timing information for the current page in microseconds.
- Origin:
lynx-extension - Source:
devtool/lynx_devtool/agent/domain_agent/inspector_performance_agent.cc
Parameters
No parameters.
Returns
Notes
- Dispatches through LynxDevToolMediator to InspectorUIExecutor on the UI thread.
- The executor reads LynxShell::GetAllTimingInfo() and uses that object directly as the CDP result.
- TimingHandler returns TimingInfo::GetAllTimingInfoAsMicrosecond(), so timestamp and duration values in timing maps are microseconds.
- The nested timing maps are extensible. Their keys are produced by the Timing API and may vary by page lifecycle, pipeline type, platform, and frontend framework markers.
- The native implementation does not read request params and does not require the CDP Performance.enable method.
- If the shell has already been destroyed, the current handler sends a response with the request id and no result object.
Examples
Read all timing info
Request:
Response: