* wip * wip * Ok * Deleted unused code * Fixed lint * Minor fixes * Minor fixes * Minor Fixes * Minor merge fixes * Ok * Fix storybook tests * Removed console.log * Fix login * asd * Fixed storybook * Added await * Fixed await * Added sleep for failing test * Fix sleep * Fix test * Fix tests --------- Co-authored-by: Charles Bochet <charles@twenty.com>
43 lines
803 B
TypeScript
43 lines
803 B
TypeScript
import { Profiler } from 'react';
|
|
import { Interaction } from 'scheduler/tracing';
|
|
|
|
type OwnProps = {
|
|
id: string;
|
|
children: React.ReactNode;
|
|
};
|
|
|
|
export function TimingProfiler({ id, children }: OwnProps) {
|
|
function handleRender(
|
|
id: string,
|
|
phase: 'mount' | 'update',
|
|
actualDuration: number,
|
|
baseDuration: number,
|
|
startTime: number,
|
|
commitTime: number,
|
|
interactions: Set<Interaction>,
|
|
) {
|
|
console.debug(
|
|
'TimingProfiler',
|
|
JSON.stringify(
|
|
{
|
|
id,
|
|
phase,
|
|
actualDuration,
|
|
baseDuration,
|
|
startTime,
|
|
commitTime,
|
|
interactions,
|
|
},
|
|
null,
|
|
2,
|
|
),
|
|
);
|
|
}
|
|
|
|
return (
|
|
<Profiler id={id} onRender={handleRender}>
|
|
{children}
|
|
</Profiler>
|
|
);
|
|
}
|