react/react · warning · Error

getProfilingData not supported by this renderer

Error message

getProfilingData not supported by this renderer

What it means

Thrown by the Flight (React Server Components) DevTools renderer. RSC/Flight inspection is read-only and has no commit/profiling timeline, so getProfilingData — which returns recorded profiling samples — is not implementable. The renderer stubs it to throw so a profiling request against a Flight renderer fails loudly rather than returning empty data.

Source

Thrown at packages/react-devtools-shared/src/backend/flight/renderer.js:188

      return null;
    },
    getSuspenseNodeIDForHostInstance() {
      return null;
    },
    getInstanceAndStyle() {
      return {
        instance: null,
        style: null,
      };
    },
    getOwnersList() {
      return null;
    },
    getPathForElement() {
      return null;
    },
    getProfilingData() {
      throw new Error('getProfilingData not supported by this renderer');
    },
    handleCommitFiberRoot() {},
    handleCommitFiberUnmount() {},
    handlePostCommitFiberRoot() {},
    hasElementWithId() {
      return false;
    },
    inspectElement(
      requestID: number,
      id: number,
      path: Array<string | number> | null,
    ) {
      return {
        id,
        responseID: requestID,
        type: 'not-found',
      };
    },

View on GitHub (pinned to 22e4f993c7)

Solutions

  1. Profile a client-side (createRoot) renderer instead — Flight/RSC is not profileable.
  2. Ensure the app also exposes a client renderer so DevTools can attach profiling to it.
  3. In automation, skip getProfilingData for renderers that do not support it.
  4. Recognize this is expected behavior, not a crash to fix.

Example fix

// before: requesting a profile from any attached renderer
const data = renderer.getProfilingData();
// after: only from profileable renderers
if (renderer.supportsProfiling) {
  const data = renderer.getProfilingData();
}
Defensive patterns

Strategy: validation

Validate before calling

// Flight/RSC renderers are read-only and not profileable. Skip them.
function isProfileable(renderer) {
  // Flight renderer exposes getEnvironmentNames but throws on getProfilingData;
  // a fiber renderer implements a real getProfilingData.
  return Boolean(renderer && renderer.supportsProfiling !== false &&
    typeof renderer.inspectElement === 'function' &&
    !/flight/i.test(renderer.renderer?.packageName || ''));
}

if (isProfileable(renderer)) {
  const data = renderer.getProfilingData();
}

Type guard

function isProfileableRenderer(renderer) {
  return Boolean(renderer && typeof renderer.getProfilingData === 'function' &&
    renderer.supportsProfiling !== false);
}

Prevention

When it happens

Trigger: DevTools requests profiling data (e.g., exporting a profile) and the request is routed to a Flight/RSC renderer's getProfilingData.

Common situations: Profiling a React Server Components tree from DevTools; a page where the only attached renderer is the Flight renderer; DevTools automation that calls getProfilingData on every attached renderer without filtering.

Related errors


AI-assisted analysis of react/react@22e4f993c7 (2026-08-12). Data as JSON: /api/errors/e25d8937c3e3e8f8. Report an issue: GitHub.