Implement Performance.measure support for RN (JS side)

Summary:
Changelog: [Internal]

This adds JS side implementation (including the API) for the `Performance.measure` functionality, [as described in the corresponding standard](https://www.w3.org/TR/user-timing/#measure-method).

The JS part is separated from the C++ implementation (further down the stack) to help the review being more focused.

Reviewed By: mdvacca

Differential Revision: D41733190

fbshipit-source-id: 72b69f6bb332aed4b9477a186b0e818b62009220
This commit is contained in:
Ruslan Shestopalyuk
2022-12-06 17:34:24 -08:00
committed by Facebook GitHub Bot
parent 7a9ed166aa
commit d8bcab2be7
6 changed files with 141 additions and 6 deletions
@@ -14,6 +14,17 @@ import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
export interface Spec extends TurboModule {
+mark?: (name: string, startTime: number, duration: number) => void;
+clearMarks?: (markName?: string) => void;
+measure?: (
name: string,
startTime: number,
endTime: number,
duration?: number,
startMark?: string,
endMark?: string,
) => void;
+clearMeasures?: (measureName?: string) => void;
}
export default (TurboModuleRegistry.get<Spec>('NativePerformanceCxx'): ?Spec);