Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix performance and other misc issues with timeline view #2244

Open
wants to merge 62 commits into
base: master
Choose a base branch
from

Conversation

Quasar985
Copy link
Collaborator

@Quasar985 Quasar985 commented Dec 4, 2024

Prerequisites

  • Reviewed the checklist

  • Reviewed feedback from the "Sonar Cloud" bot. Note that you have to wait
    for the "CI / Unit Tests") to complete first. Failed Unit tests can be
    debugged by adding the label "verbose logging" to the GitHub PR.

Description of the Change

Fixed performance issue with timeline view, which would previously cause the timeline view to take a long time to function for large graphs.
Other misc issues were fixed including:

  • When nothing is selected, the range of the timeline view would change to be in the millions
  • if range is 0, the timeline view can't scroll out or in anymore
  • Transactions with no date time are now ignored, before they were treated as having a datetime of 0

Alternate Designs

N/A

Why Should This Be In Core?

N/A

Benefits

Performance boost and misc bug fixes to timeline view.

Possible Drawbacks

None

Verification Process

  1. Open Consty
  2. Create new graph
  3. Experimental -> Build Graph -> Structured Graph Builder -> Click "Build"
  4. After graph has finished building, Views -> Timeline
  5. Observe Timeline View updates comparatively faster than on master branch (or older version of consty)
  6. Select everything on the graph (Ctrl + A) and deselect everything (ESC) multiple times in quick succession
  7. Observe Consty does not experience any out of memory issues

Applicable Issues

#2163

@OrionsGuardian
Copy link
Collaborator

Some initial testing ...

The Timeline View does now load in a reasonable time, though it would be good to show a message that it is Loading in the graph, rather than saying No Active Graph.

After a few selects and zooms within the timeline view and directly on the graph, it gave me some out of memory errors:

java.lang.OutOfMemoryError: Java heap space
Dumping heap to C:\DEV\constellation\build\testuserdir\var\log\heapdump.hprof ...

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Timer-0"

@Quasar985 Quasar985 added the verbose-logging test code in CI with verbose output label Dec 6, 2024
@Quasar985 Quasar985 marked this pull request as ready for review February 17, 2025 04:04
Copy link

sonarqubecloud bot commented Mar 3, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
68.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@Quasar985 Quasar985 requested a review from andromeda-224 March 3, 2025 04:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
verbose-logging test code in CI with verbose output
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants