Skip to content

Conversation

@Abdkhan14
Copy link
Contributor

@Abdkhan14 Abdkhan14 commented Oct 21, 2025

@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Oct 21, 2025
for (const error of value.errors) {
this.parent.errors.add(error);
}
const closestEAPTransaction = this.findParentEapTransaction();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We were propagating issues to the closest parent and not the closest transaction parent, like in the legacy trace tree node implementation.

value.start_timestamp * 1e3,
(value.timestamp - value.start_timestamp) * 1e3,
];
if (
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adds the validation for value.timestamp used to initialize TransactioNode.space[1]. Safer, helps pass a bunch of tests in trace.spec.tsx

transaction.parent = parent;
}

// Invalidating the node and its children to ensure the tree is rebuilt correctly,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This block should run after all of the reparenting is done.

  • Invalidates at the end, ensures that node depths and connectors lazily calculated at render, are accurate.

@Abdkhan14 Abdkhan14 marked this pull request as ready for review October 21, 2025 19:20
@Abdkhan14 Abdkhan14 requested review from a team and gggritso October 21, 2025 19:20
@codecov
Copy link

codecov bot commented Oct 21, 2025

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
6200 2 6198 4
View the top 2 failed test(s) by shortest run time
EventTraceView does not render the trace preview if it has no transactions
Stack Traces | 0.057s run time
Error: Expected test not to call console.error().

If the error is expected, test for it explicitly by mocking it out using jest.spyOn(console, 'error').mockImplementation() and test that the warning occurs.

TypeError: _traceTree.TraceTree.HasVisibleChildren is not a function
    at HasVisibleChildren (.../newTraceDetails/traceRow/traceRow.tsx:70:33)
    at Object.react_stack_bottom_frame (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:25904:20)
    at renderWithHooks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7662:22)
    at updateFunctionComponent (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:10166:19)
    at beginWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:11778:18)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at performUnitOfWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17641:22)
    at workLoopSync (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17469:41)
    at renderRootSync (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17450:11)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16583:35)
    at performSyncWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18972:7)
    at flushSyncWorkAcrossRoots_impl (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18814:21)
    at flushSpawnedWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18334:9)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17955:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performWorkOnRootViaSchedulerTask (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18957:7)
    at flushActQueue (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:590:34)
    at process.env.NODE_ENV.exports.act (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:884:10)
    at .../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/act-compat.js:47:25
    at renderRoot (.../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:188:26)
    at Object.render (.../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:287:10)
    at render (.../js/sentry-test/reactTestingLibrary.tsx:453:28)
    at Object.<anonymous> (.../interfaces/performance/eventTraceView.spec.tsx:145:11)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1009:40)
    at _runTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:494:12) {
  [stack]: [Getter/Setter],
  [message]: '_traceTree.TraceTree.HasVisibleChildren is not a function'
}

The above error occurred in the <TraceRowConnectors> component.

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

    at console.captureMessage [as error] (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:83:25)
    at defaultOnCaughtError (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9410:17)
    at logCaughtError (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9446:9)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at ErrorBoundary.inst.componentDidCatch.update.callback (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9493:11)
    at callCallback (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7423:16)
    at commitCallbacks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7443:11)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at commitClassCallbacks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13377:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14026:25)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13954:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14031:11)
    at flushLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18138:15)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17954:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performSyncWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18972:7)
    at flushSyncWorkAcrossRoots_impl (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18814:21)
    at flushSpawnedWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18334:9)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17955:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performWorkOnRootViaSchedulerTask (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18957:7)
    at flushActQueue (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:590:34)
    at flushUnexpectedConsoleCalls (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:48:13)
    at Object.<anonymous> (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:145:7)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusHook (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:978:40)
    at _runTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:951:5)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:494:12)
EventTraceView renders a trace
Stack Traces | 1.25s run time
Error: Expected test not to call console.error().

If the error is expected, test for it explicitly by mocking it out using jest.spyOn(console, 'error').mockImplementation() and test that the warning occurs.

TypeError: _traceTree.TraceTree.HasVisibleChildren is not a function
    at HasVisibleChildren (.../newTraceDetails/traceRow/traceRow.tsx:70:33)
    at Object.react_stack_bottom_frame (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:25904:20)
    at renderWithHooks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7662:22)
    at updateFunctionComponent (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:10166:19)
    at beginWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:11778:18)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at performUnitOfWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17641:22)
    at workLoopSync (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17469:41)
    at renderRootSync (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17450:11)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16583:35)
    at performSyncWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18972:7)
    at flushSyncWorkAcrossRoots_impl (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18814:21)
    at flushSpawnedWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18334:9)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17955:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performWorkOnRootViaSchedulerTask (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18957:7)
    at flushActQueue (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:590:34)
    at process.env.NODE_ENV.exports.act (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:884:10)
    at .../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/act-compat.js:47:25
    at renderRoot (.../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:188:26)
    at Object.render (.../sentry/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]_@type_011f94990cdc27509fa142ae9e3c3bf5/node_modules/@.../react/dist/pure.js:287:10)
    at render (.../js/sentry-test/reactTestingLibrary.tsx:453:28)
    at Object.<anonymous> (.../interfaces/performance/eventTraceView.spec.tsx:99:11)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1009:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:949:3)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:494:12) {
  [stack]: [Getter/Setter],
  [message]: '_traceTree.TraceTree.HasVisibleChildren is not a function'
}

The above error occurred in the <TraceRowConnectors> component.

React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary.

    at console.captureMessage [as error] (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:83:25)
    at defaultOnCaughtError (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9410:17)
    at logCaughtError (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9446:9)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at ErrorBoundary.inst.componentDidCatch.update.callback (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:9493:11)
    at callCallback (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7423:16)
    at commitCallbacks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:7443:11)
    at runWithFiberInDEV (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:874:13)
    at commitClassCallbacks (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13377:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14026:25)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14065:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13954:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14165:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:13949:11)
    at recursivelyTraverseLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:15159:11)
    at commitLayoutEffectOnFiber (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:14031:11)
    at flushLayoutEffects (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18138:15)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17954:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performSyncWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18972:7)
    at flushSyncWorkAcrossRoots_impl (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18814:21)
    at flushSpawnedWork (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18334:9)
    at commitRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:17955:9)
    at performWorkOnRoot (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:16667:15)
    at performWorkOnRootViaSchedulerTask (.../sentry/node_modules/.pnpm/[email protected][email protected]..../react-dom/cjs/react-dom-client.development.js:18957:7)
    at flushActQueue (.../sentry/node_modules/.pnpm/[email protected]..../react/cjs/react.development.js:590:34)
    at flushUnexpectedConsoleCalls (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:48:13)
    at Object.<anonymous> (.../sentry/node_modules/.pnpm/[email protected]..../node_modules/jest-fail-on-console/index.js:145:7)
    at Promise.finally.completed (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1559:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1499:10)
    at _callCircusHook (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:978:40)
    at _runTest (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:951:5)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:839:13)
    at _runTestsForDescribeBlock (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:829:11)
    at run (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:757:3)
    at runAndTransformResultsToJestFormat (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/jestAdapterInit.js:1920:21)
    at jestAdapter (.../sentry/node_modules/.pnpm/[email protected][email protected]..../jest-circus/build/runner.js:101:19)
    at runTestInternal (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:272:16)
    at runTest (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:340:7)
    at Object.worker (.../sentry/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:494:12)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link
Member

@gggritso gggritso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, just a few questions!

return (
<TraceSpanRow
{...props}
// Won't need this cast once we use BaseNode type for props.node
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment is stale now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spot on, I'll remove it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

get projectSlug(): string {
// The span value does not have a project slug, so we need to find a parent that has one.
// If we don't find one, we return the default project slug.
return this.findParent(p => !!p.projectSlug)?.projectSlug ?? 'default';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there guaranteed to be a parent with a project slug? I'm wondering if it makes sense to fetch project slugs from ProjectsStore instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gggritso Yeah, we always expect spans to be embedded under a transaction in the waterfall. Instead of looking for a transaction with a projectSlug, I look for a parent here to be more generic.

I don't fully get the ProjectsStore route 🤔 , re: a trace can have multiple projects, there's no projectID attached to spans to look for a specific project by

Comment on lines +456 to +463
findParentTransaction(): TransactionNode | null {
return this.findParent<TransactionNode>(p => isTransactionNode(p));
}

findParentEapTransaction(): EapSpanNode | null {
return this.findParent<EapSpanNode>(p => isEAPTransactionNode(p));
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this possible to do without type guards?

Copy link
Contributor Author

@Abdkhan14 Abdkhan14 Nov 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gggritso, I think that this is a good use case for a type guard. We are looking for a specific node in the base node class. The problem initially was that such type guards were scattered all over the place, we mitigated that quite a lot.

We can add is_transaction, is_eap_transaction, is_span... attrs to the baseNode classe but I don't really think that is any cleaner 🤔

We need methods like findParentTransaction if we are looking for a specific property that only exists in a TransactionNode type, like transaction id. The usage of the guard is now embedded in the baseNode instance so we can just do node.findParentTransaction instead of node.find(p => isTransactionNode(p)) which is an improvement.

Open to suggestions, lmk!

this.transactionId === id ||
hasMatchingErrors ||
hasMatchingOccurrences
);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Tree Traversal: A Performance Bottleneck

The matchById method calls this.transactionId, which triggers parent tree traversal via findParentTransaction() and findParentEapTransaction() on every invocation. When matchById is called repeatedly during tree searches, this creates expensive redundant parent traversals for nodes that don't override matchById, significantly impacting performance on large trace trees.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants