Variable PerformanceUtilsConst

PerformanceUtils: {
    clearMarksAndMeasures(): void;
    createPerformanceObserver(callback, entryTypes): PerformanceObserver;
    getCumulativeLayoutShift(): Promise<number>;
    getDomContentLoadedTime(): Promise<number>;
    getFirstContentfulPaint(): Promise<number>;
    getFirstInputDelay(): Promise<number>;
    getLargestContentfulPaint(): Promise<number>;
    getPageLoadTime(): Promise<number>;
    getTimeToFirstByte(): Promise<number>;
    mark(name): void;
    measureExecutionTime<T>(fn, iterations?): {
        result: T;
        time: number;
        averageTime: number;
    };
    measure(startMark, endMark): null | PerformanceEntry;
    throttle<T>(fn, limit): ((...args) => void);
} = ...

Type declaration

  • clearMarksAndMeasures:function
    • Clears all performance marks and measures

      Returns void

  • createPerformanceObserver:function
    • Creates a performance observer

      Parameters

      • callback: ((entries) => void)

        Function to call when performance entries are observed

          • (entries): void
          • Parameters

            • entries: PerformanceObserverEntryList

            Returns void

      • entryTypes: string[]

        Types of entries to observe

      Returns PerformanceObserver

      Performance observer

  • getCumulativeLayoutShift:function
    • Gets the cumulative layout shift

      Returns Promise<number>

      Promise resolving to CLS score

  • getDomContentLoadedTime:function
    • Gets the DOM content loaded time

      Returns Promise<number>

      Promise resolving to DOM content loaded time in milliseconds

  • getFirstContentfulPaint:function
    • Gets the first contentful paint time

      Returns Promise<number>

      Promise resolving to FCP time in milliseconds

  • getFirstInputDelay:function
    • Gets the first input delay

      Returns Promise<number>

      Promise resolving to FID time in milliseconds

  • getLargestContentfulPaint:function
    • Gets the largest contentful paint time

      Returns Promise<number>

      Promise resolving to LCP time in milliseconds

  • getPageLoadTime:function
    • Gets the page load time

      Returns Promise<number>

      Promise resolving to page load time in milliseconds

  • getTimeToFirstByte:function
    • Gets the time to first byte (TTFB)

      Returns Promise<number>

      Promise resolving to TTFB in milliseconds

  • mark:function
    • Creates a performance mark

      Parameters

      • name: string

        Name of the mark

      Returns void

  • measureExecutionTime:function
    • Measures the execution time of a function

      Type Parameters

      • T

      Parameters

      • fn: (() => T)

        Function to measure

          • (): T
          • Returns T

      • iterations: number = 1

        Number of iterations to run

      Returns {
          result: T;
          time: number;
          averageTime: number;
      }

      Object containing execution time statistics

      • result: T
      • time: number
      • averageTime: number
  • measure:function
    • Measures the time between two marks

      Parameters

      • startMark: string

        Name of the start mark

      • endMark: string

        Name of the end mark

      Returns null | PerformanceEntry

      Object containing measurement details

  • throttle:function
    • Throttles a function

      Type Parameters

      • T extends ((...args) => any)

      Parameters

      • fn: T

        Function to throttle

      • limit: number

        Time limit in milliseconds

      Returns ((...args) => void)

      Throttled function

        • (...args): void
        • Parameters

          • Rest ...args: Parameters<T>

          Returns void