diff --git a/projects/ng-devtools-backend/src/lib/observer/index.ts b/projects/ng-devtools-backend/src/lib/observer/index.ts index faaaf222094..d6ff4be179d 100644 --- a/projects/ng-devtools-backend/src/lib/observer/index.ts +++ b/projects/ng-devtools-backend/src/lib/observer/index.ts @@ -63,7 +63,8 @@ const insertElementProfile = (frames: ElementProfile[], position: ElementPositio for (let i = 0; i < position.length - 1; i++) { const pos = position[i]; if (!frames[pos]) { - debugger; + // console.warn('Unable to find parent node for', frames); + return; } frames = frames[pos].children; } diff --git a/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/profiler/recording/timeline/format-records.ts b/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/profiler/recording/timeline/format-records.ts index 86b070bf024..328b9826ada 100644 --- a/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/profiler/recording/timeline/format-records.ts +++ b/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/profiler/recording/timeline/format-records.ts @@ -28,6 +28,11 @@ const getLabel = (element: ElementProfile) => { const addFrame = (nodes: FlamegraphNode[], elements: ElementProfile[]): number => { let timeSpent = 0; elements.forEach(element => { + // Possibly undefined because of the insertion + // on the backend. + if (!element) { + return; + } const node: FlamegraphNode = { value: element.directives.reduce((a, c) => a + c.lifecycle + c.changeDetection, 0), label: getLabel(element),