@zendesk/react-measure-timing-hooks
Version:
react hooks for measuring time to interactive and time to render of components
48 lines • 1.71 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ticketActivatedDefinition = void 0;
const TICKET_DISPOSE_EVENT_NAME = `ticket.dispose`;
const TICKET_NAVIGATED_AWAY_EVENT_NAME = `ticket.navigated-away`;
exports.ticketActivatedDefinition = {
name: 'ticket.activated',
type: 'operation',
relationSchemaName: 'ticket',
variants: {
cold_boot: { timeout: 60_000 },
},
captureInteractive: true,
requiredSpans: [
{
type: 'component-render',
name: 'OmniLog',
matchingRelations: ['ticketId'],
isIdle: true,
},
],
interruptOnSpans: [
{
type: 'mark',
name: TICKET_DISPOSE_EVENT_NAME,
matchingRelations: ['ticketId'],
},
{
type: 'mark',
name: TICKET_NAVIGATED_AWAY_EVENT_NAME,
matchingRelations: ['ticketId'],
},
],
debounceOnSpans: [
// debounce on anything that has matching ticketId relatedTo:
{ matchingRelations: ['ticketId'] },
// TODO: { type: 'measure', name: (name, relatedTo) => `ticket/${relatedTo.ticketId}/open` },
// metric from ember: ticket_workspace.module.js
({ span }) => span.type === 'measure' &&
span.name === `ticket/${span.relatedTo?.ticketId}/open`,
// debounce on element timing sentinels:
({ span }) => span.type === 'element' &&
span.name === `ticket_workspace/${span.relatedTo?.ticketId}`,
({ span }) => span.type === 'element' &&
span.name === `omnilog/${span.relatedTo?.ticketId}`,
],
};
//# sourceMappingURL=ticket.activated.js.map
;