timeline-chart
timeline-chart copied to clipboard
Decouple timeline-chart API and login from it's usage with theia-trace-extension
The timeline-chart library is intended to visualize timegraph data where the timegraph data can lazily loaded. For that the parent component will provide call backs to provide the data. The theia-trace-extenstion is one of the main user of the timeline-chart. To optimize the performance of loading the data certain mechanism have been implemented (main method of concern: https://github.com/eclipse-cdt-cloud/timeline-chart/blob/08fb2e63951afafad23e1883d67f2b57c84d1152/timeline-chart/src/layer/time-graph-chart.ts#L450):
- coarse and fine resolution of data
- sampled and deep search (see PR #243)
These optimizations where to due to the way the theia-trace-extensions fetches the data. However, such logic should not be inside the timeline-chart library, it should be handled in the component that uses it. The 'timeline-chart' should just display the model that is provided by the user component independent to if the data is collected in steps.
Due the tight coupling it will be harder and harder adding features and performance improvement to the timeline-chart library.
This tracker is to track the decoupling task that will extract theia-trace-extension specific logic and move it to the theia-trace-extension. It is expected that it will change the API of the timeline-chart library.