import { useStore } from "App/mstore"; import React from 'react'; import { observer } from 'mobx-react-lite'; import { CodeBlock } from 'UI'; import DocLink from 'Shared/DocLink/DocLink'; import ToggleContent from 'Shared/ToggleContent'; const ProfilerDoc = () => { const { integrationsStore, projectsStore } = useStore(); const sites = projectsStore.list; const siteId = integrationsStore.integrations.siteId const projectKey = siteId ? sites.find((site) => site.id === siteId)?.projectKey : sites[0]?.projectKey const usage = `import OpenReplay from '@openreplay/tracker'; import trackerProfiler from '@openreplay/tracker-profiler'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); // .start() returns a promise tracker.start().then(sessionData => ... ).catch(e => ... ) //... export const profiler = tracker.use(trackerProfiler()); //... const fn = profiler('call_name')(() => { //... }, thisArg); // thisArg is optional`; const usageCjs = `import OpenReplay from '@openreplay/tracker/cjs'; import trackerProfiler from '@openreplay/tracker-profiler/cjs'; //... const tracker = new OpenReplay({ projectKey: '${projectKey}' }); //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach // .start() returns a promise tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... export const profiler = tracker.use(trackerProfiler()); //... const fn = profiler('call_name')(() => { //... }, thisArg); // thisArg is optional }`; return (

Profiler

The profiler plugin allows you to measure your JS functions' performance and capture both arguments and result for each function call.
Installation
Usage

Initialize the tracker and load the plugin into it. Then decorate any function inside your code with the generated function.

Usage
} second={} />
); }; ProfilerDoc.displayName = 'ProfilerDoc'; export default observer(ProfilerDoc);