Skip to content

perf(devtools): optimize signal graph nodes value inspection#68745

Open
hawkgs wants to merge 1 commit into
angular:mainfrom
hawkgs:devtools/signal-nested-props-optimization
Open

perf(devtools): optimize signal graph nodes value inspection#68745
hawkgs wants to merge 1 commit into
angular:mainfrom
hawkgs:devtools/signal-nested-props-optimization

Conversation

@hawkgs
Copy link
Copy Markdown
Member

@hawkgs hawkgs commented May 15, 2026

This change is based on the presumption that a signal graph can be significantly large memory-wise sometimes. This is the reason why we don't send the full graph to the FE but rather serialize its values and then lazy load them when they are needed, that is, during value inspection.

Because of the above-mentioned approach, when we inspect nested object values, we request the component's signal graph on each property expansion. This may results in a lot of redundant ng.getSignalGraph calls, that in the case of large graphs may have negative performance impact.

The change prevents that by caching the last signal graph on the backend after the first request for nested properties. The cache is then cleared when the selected/focused component is changed.

@hawkgs hawkgs requested review from JeanMeche and dgp1130 May 15, 2026 12:42
@angular-robot angular-robot Bot added the area: performance Issues related to performance label May 15, 2026
@ngbot ngbot Bot added this to the Backlog milestone May 15, 2026
This change is based on the presumption that a signal graph can be significantly large memory-wise sometimes. This is the reason why we don't send the full graph to the FE but rather serialize its values and then lazy load them when they are needed, that is, during value inspection.

Because of the above-mentioned approach, when we inspect nested object values, we request the component's signal graph on each property expansion. This may results in a lot of redundant `ng.getSignalGraph` calls, that in the case of large graphs may have negative performance impact.

The change prevents that by caching the last signal graph on the backend after the first request for nested properties. The cache is then cleared when the selected/focused component is changed.
@hawkgs hawkgs force-pushed the devtools/signal-nested-props-optimization branch from 4ae417d to 39b69aa Compare May 15, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: devtools area: performance Issues related to performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant