| Summary: | [TMF] Refactoring of background requests | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Patrick Tasse <patrick.tasse> | ||||||
| Component: | LinuxTools | Assignee: | Francois Chouinard <fchouinard> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Francois Chouinard <fchouinard> | ||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | ||||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 301615 | ||||||||
| Attachments: |
|
||||||||
|
Description
Patrick Tasse
Created attachment 189510 [details]
Proposed patch in org.eclipse.linuxtools.tmf
Legal Message: I, Patrick Tasse, declare that I developed attached code from
scratch, without referencing any 3rd party materials except material licensed
under the EPL. I am authorized by my employer to make this contribution under
the EPL.
Created attachment 190894 [details]
Updated patch
My understanding of the original patch is to promote queueBackgroundRequest() from TmfExperiment to TmfDataProvider (its ancestor class) and make it generally available to the other derived classes (TmfTrace among others).
This function is required for an internal tool and the intent is to not duplicate the TmfExperiment.queueBackgroundRequest() code to TmfTrace.
The main drawback of this solution is that LTTng's Statistics View background request no longer works and the statistics are no longer collected: the background request gets cancelled because it is of type TmfDataRequest while the event provider (LTTngSynthetcEventProvider) expects a TmfEventRequest. Modifying the request type from BACKGROUND to FOREGROUND works but doesn't take advantage of the request coalescing feature and has an adverse effect on LTTng's performance (~doubles initial processing time).
To refactor this code will require a bit of work.
In the mean time, assuming it is sufficient for the internal tracing tool, this patch simply duplicates the TmfExperiment code into TmfTrace.
This bug should not be closed as this is a temporary solution and that promoting this function to the base class is the way to go.
Patch committed. Thanks Patrick. Oops. This bug was no to be closed until the "final" solution was put in place. Fixed with implementation of bug 353020. Released in 0.9.0. |