learningequality / learningequality/studio

Investigate increasing number of DOM nodes that are never garbage collected when navigating channels' content

Open
#3,367 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

DEV: frontend TAG: performance
Dominant language
Python
Stars
191
Forks
307
Avg merge
5d 6h
Merged PRs (30d)
10

Description

When navigating channels' topics, the number of nodes is always increasing and doesn't seem to be garbage collected for some reason. This looks suspicious since we'd rather expect it to decrease at some point, for example, when a user arrives at a topic that has fewer resources than some of the topics visited earlier and therefore there are fewer elements rendered in the user interface. That never happens, though. This trend can be seen on all performance measurements done in the research phase of https://github.com/learningequality/studio/issues/3363 and could be contributing to memory leaks. The goal of this issue is to find out why is this happening.

Steps to reproduce

Record performance profile while navigating through topics of a channel and notice the rising green line showing a number of nodes in the detailed chart at the bottom.

nodes

Acceptance criteria

  • Find out why nodes are never garbage collected
  • Report results and open issues for resolving discovered problems (new issues don't need to be necessarily resolved in the scope of #3363)

Contributor guide

Open the contributing guide

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 by recording a performance profile while navigating through topics of a channel, as described in the reproduction steps, and inspect the rising node count in the detailed chart. Compare the results with the research in issue #3363; done means identifying why nodes are not garbage collected, reporting the findings, and opening follow-up issues for discovered problems.

Written by the indexing model from the issue text.

Assessment

Domain
frontend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.