Skip to content

Draft:[Only for concept] first draft proposal for dependency list

Zamir Martins requested to merge first_draft_single_column into master

What does this MR do and why?

Motivation

There has been a lot of concerns in regards to this query performance at the same time that new features are planned in the roadmap (licenses, vulnerabilities,...).

This proposal would solve the performance side of the feature however the compromise in regards to the UX was not desired.

Proposal

The approach is this incomplete MR is an alternative attempt of tackling the performance issue without compromising the UX as much. The following screenshots are only for a basic understanding of the approach and do not represent the final solution. The main idea is that the rows would be initially collapse by only displaying component name, version (packager could be added) while the remaining data would be fetched individually and on demand.

From a database perspective, this would allow us to not have to compromise on data consistency for the vulnerability data as discussed here.

Screenshots or screen recordings

Note: Both location and project count would still be available.

Before After
Screenshot_2023-11-14_at_16.47.47 Screenshot_2023-11-14_at_16.49.59

Database

Before After
query plan query plan
Time: 1.635 min Time: 2.520 s
Shared buffers hits: 12456 (~97.30 MiB) Shared buffers hits: 12456 (~97.30 MiB)

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Zamir Martins

Merge request reports