Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Platform
web
Type
TOOL
Builder
@github
GitHub
423 stars
Date

About

A Storybook addon that provides real-time performance monitoring for UI components. It tracks comprehensive metrics including frame timing, input responsiveness, memory usage, and React profiling to help developers optimize component performance.

What it does

It adds a dedicated panel beneath each Storybook story and gathers measurements through preview decorators. The standard entry combines browser instrumentation with React render profiling. A separate universal entry supports HTML, Vue, Svelte, and Web Components while hiding React-specific results.

Why it's ranked here

This is a strong choice for teams already using Storybook as a component laboratory. It covers browser behavior and React rendering in one interface, supplies a React-free option, documents thresholds and interpretation, and configures browser tests across Chromium, Firefox, and WebKit.

What's good

The framework split is thoughtful. Non-React users avoid a React dependency yet retain browser measurements, while React users gain mount, update-duration, and memoization data. Automatic panel registration keeps setup small. The build also validates exports and generated types outside watch mode.

Tradeoffs

Its value is tied to Storybook stories, so it does not replace production monitoring or application-wide performance analysis. React profiling disappears in universal mode. Repository development requires Node 22 or newer, and the supplied material describes interactive diagnosis rather than automated regression enforcement.

How to use it well

Use it while developing or troubleshooting components in Storybook. Compare stories, exercise interactions, and interpret the documented thresholds before optimizing. Choose the universal entry for non-React frameworks and the default entry for React profiling. Pair it with production telemetry or regression tooling when performance must be tracked beyond isolated stories.

Technical notes+

packages/storybook-addon-performance-panel/preset.ts registers manager.js through managerEntries, while packages/storybook-addon-performance-panel/manager.tsx creates the story-only ⚡ Performance panel. packages/storybook-addon-performance-panel/preview.ts composes withPerformanceMonitor and withReactProfiler; packages/storybook-addon-performance-panel/index-universal.ts instead loads preview-universal and exports the framework-agnostic decorator and parameter type. packages/storybook-addon-performance-panel/tsdown.config.ts emits ESM browser and Node entries, externalizes Storybook and React packages, generates declarations outside watch mode, and runs publint plus API type checks. packages/storybook-addon-performance-panel/vitest.config.ts separates Node tests from Playwright-backed browser tests across Chromium, Firefox, and WebKit. The root package.json declares npm workspaces, module semantics, and Node >=22.

Observed

License
MIT
Primary language
TypeScript, including TSX for the manager interface
Packaging
npm workspaces monorepo with package @github-ui/storybook-addon-performance-panel
Interface
Storybook addon panel with default, universal, and React component package entries
Framework support
Default React integration plus a React-free entry for HTML, Vue, Svelte, and Web Components
Module format
ESM builds for browser preview, manager, and Node preset entries
Test platforms
Node unit tests and Playwright browser tests configured for Chromium, Firefox, and WebKit
Development runtime
Root workspace declares Node.js 22 or newer

Read from README.md, package.json, packages/website/vite.config.ts, packages/storybook-config/index.ts, packages/storybook-config/githubTheme.ts, packages/storybook-addon-performance-panel/index.ts, packages/storybook-addon-performance-panel/preset.js, packages/storybook-addon-performance-panel/preset.ts, packages/storybook-addon-performance-panel/preview.ts, packages/storybook-addon-performance-panel/manager.tsx, packages/storybook-addon-performance-panel/index-react.ts, packages/storybook-addon-performance-panel/tsdown.config.ts, packages/storybook-addon-performance-panel/vitest.config.ts, packages/storybook-addon-performance-panel/index-universal.ts, packages/storybook-addon-performance-panel/preset-universal.ts.

What it can do

  • Monitor real-time component performance

    Storybook storiesLive performance metrics dashboard

  • Track frame timing performance

    UI component interactionsFrame rate and timing data

  • Measure input responsiveness

    User input events on componentsResponse time metrics

  • Monitor memory usage

    Component lifecycle and state changesMemory consumption reports

  • Profile React component performance

    React components and their render cyclesReact profiling data and optimization insights

  • Analyze non-React component performance

    Vanilla JavaScript UI componentsPerformance metrics for non-React projects

Tags

storybookperformancemonitoringreactui-componentsweb-performanceprofilingmetrics

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.