techniq / techniq/layerchart

Investigate potential memory leak

Open
#585 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
1.3k
Forks
41
Avg merge
2d 19h
Merged PRs (30d)
16

Description

  • Open streaming example
  • Click Load more on page
  • Open DevTools
  • Take heap snapshot on Memory tab
  • Click Load more on page
  • Take heap snapshot on Memory tab
  • Click on Snapshot 2 and filter Objects retained by detached DOM nodes
  • See also Objects allocated between Snapshot 1 and Snapshot 2

Image

Also, open Performance monitor and click Start on page to stream data and watch the fluctuations on JS heap size (with GC kicking in, but still a general upward trend). More notable, see the large / consistent increase in DOM nodes .

Image

See discussion


Investigated streaming performance a few weeks ago when using Canvas and substantially improved the issue, but wasn't able to 100% resolve the issue.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked streaming example and reproduce the issue using DevTools Memory and Performance monitor. Compare heap snapshots after successive Load more actions, filtering detached DOM nodes and objects allocated between snapshots, while observing JS heap size and DOM nodes during streaming. Done means identifying the retention cause and demonstrating that the upward memory and DOM-node trend is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.