Skip to main content

Performance View

Analyze and optimize component render performance.

Overview

The Performance View provides detailed metrics and visualizations of component render performance, helping you identify bottlenecks.

API

import { PerformanceView } from 'react-dev-debugger/ui';

<PerformanceView
showRenderCount={true}
showRenderTime={true}
showFlameGraph={true}
warnThreshold={50}
sortBy="renderCount" // or "renderTime", "lastRender"
/>

Basic Example

import { PerformanceView } from 'react-dev-debugger/ui';

function DebugPanel() {
return (
<div>
<h2>Performance Metrics</h2>
<PerformanceView
showFlameGraph={true}
warnThreshold={30}
/>
</div>
);
}

Features

  • Render Count: How many times each component rendered
  • Render Time: Time taken for each render
  • Flame Graph: Visual performance profile
  • Performance Warnings: Alert on excessive renders
  • Comparison Mode: Compare before/after optimization
  • Export Data: Export metrics for analysis

Metrics

Live Playground

Performance Controls

Total Renders: 33

Performance Metrics

TodoList ⚠️
8 renders25ms avg
Last: 30msTotal: 200ms
App
5 renders12ms avg
Last: 15msTotal: 60ms
Sidebar
2 renders5ms avg
Last: 6msTotal: 10ms
Counter
15 renders4ms avg
Last: 5msTotal: 60ms
Header
3 renders3ms avg
Last: 2msTotal: 9ms
Summary
Total Components: 5
Slow Renders: 1
Avg Time: 10ms
Total Time: 339ms

PerformanceView Usage Example

import { PerformanceView } from 'react-dev-debugger/ui';

function DebugPanel() {
  return (
    <PerformanceView
      showRenderCount={true}
      showRenderTime={true}
      showFlameGraph={true}
      warnThreshold={20}
      sortBy="renderTime"
      onComponentClick={(component) => {
        console.log('Clicked:', component);
      }}
    />
  );
}

Component Metrics

<PerformanceView
metrics={[
'renderCount',
'avgRenderTime',
'maxRenderTime',
'totalRenderTime',
'lastRender',
]}
showPercentiles={true}
/>

Flame Graph

Visualize render hierarchy:

<PerformanceView
view="flamegraph"
colorScheme="performance" // red=slow, green=fast
minDuration={1} // Hide renders < 1ms
/>

Optimization Tips

The view provides suggestions:

  • Components rendering too often
  • Slow render durations
  • Missing memoization opportunities
  • Unnecessary prop updates

Next Steps