nasa / openmct

A web based mission control framework.
https://nasa.github.io/openmct/
Other
12k stars 1.24k forks source link

Telemetry Tables should not scan all results for marked rows #3355

Open akhenry opened 4 years ago

akhenry commented 4 years ago

Currently the telemetry table view scans all table results as soon as they are returned to compile a list of marked rows. We need to find a better way of doing this, because doing it up front with large data sets adds to view load time. Could it happen on demand?

deeptailor commented 4 years ago

The use case for this is when tables is extended in places like session selector etc, we can just disable for telemetry tables, and enable via a prop

deeptailor commented 4 years ago

@akhenry - the event should not get emitted in the usual use case of TelemetryTable.js, and in the use cases we do have we can extend and emit that event, that way performance in tables will not be impacted

https://github.com/nasa/openmct/blob/6f2d8e6ce39df86c76df082e5e1aa05f5b34c1f8/src/plugins/telemetryTable/TelemetryTable.js#L163

deeptailor commented 4 years ago

I have a fix for this in PR #3325

akhenry commented 3 years ago

I still don't quite understand why it would be necessary to scan existing rows to see if they are marked. Marking is not persisted, so don't we just build it up dynamically as users mark and unmark rows?

deeptailor commented 3 years ago

We have use cases where we want to dynamically mark rows outside of the view (eg in session tables), to show users what sessions they are already connected to.