Skip to content

Types

TypeScript interfaces and types exported or used by the package.

Interaction

ts
interface Interaction {
  id: string
  type: string
  startTime: number
  endTime?: number
}
PropertyTypeDescription
idstringResolved from data-rpm-id, data-rpm-group, id, aria-label, placeholder, data-testid, name, button/link text, or tag name (see Tracking Tags)
typestringEvent type: "click", "input", "submit"
startTimenumberperformance.now() when the event fired
endTimenumber?Optional; set when session closes

RenderEntry

ts
interface RenderEntry {
  component: string
  actualDuration: number
  baseDuration: number
  startTime: number
  commitTime: number
  phase: "mount" | "update" | "nested-update"
}
PropertyTypeDescription
componentstringProfiler id (component name)
actualDurationnumberTime spent rendering (ms)
baseDurationnumberEstimated duration without memoization
startTimenumberWhen render started
commitTimenumberWhen commit completed
phasestring"mount", "update", or "nested-update"

NetworkEntry

ts
interface NetworkEntry {
  url: string
  method: string
  status: number
  duration: number
  startTime: number
  endTime: number
}
PropertyTypeDescription
urlstringRequest URL
methodstringHTTP method (e.g. "GET", "POST")
statusnumberResponse status code; 0 on error
durationnumberRequest duration (ms)
startTimenumberStart timestamp
endTimenumberEnd timestamp

LongTaskEntry

ts
interface LongTaskEntry {
  name: string
  duration: number
  startTime: number
  attribution?: LongTaskAttribution[]
}
PropertyTypeDescription
namestringEntry name (e.g. "longtask")
durationnumberTask duration (ms)
startTimenumberWhen the task started
attributionLongTaskAttribution[]?Optional attribution data

FPSData

ts
interface FPSData {
  current: number
  min: number
  timestamp: number
}
PropertyTypeDescription
currentnumberFPS over the last sample window
minnumberMinimum FPS observed since start
timestampnumberSample timestamp

PerformanceSession

ts
interface PerformanceSession {
  id: string
  interaction: Interaction
  renders: RenderEntry[]
  network: NetworkEntry[]
  longTasks: LongTaskEntry[]
  fpsSamples: FPSData[]
  startTime: number
  endTime?: number
}

Groups all events (renders, network, long tasks, FPS) that occurred within the session window following a user interaction.


DevHUDProps

ts
interface DevHUDProps {
  children: ReactNode
  position?: "top-left" | "top-right" | "bottom-left" | "bottom-right"
  theme?: "light" | "dark"
  trackNetwork?: boolean
  trackLongTasks?: boolean
  trackFPS?: boolean
  sessionTimeout?: number
  forceEnabled?: boolean
}

Props for the DevHUD component. See Configuration for details.