Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 326820 - [TMF] Add event skipping to TmfTrace
Summary: [TMF] Add event skipping to TmfTrace
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: LinuxTools (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Francois Chouinard CLA
QA Contact: Francois Chouinard CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 301614
  Show dependency tree
 
Reported: 2010-10-01 17:20 EDT by Francois Chouinard CLA
Modified: 2022-01-13 14:53 EST (History)
2 users (show)

See Also:
fchouinard: iplog-
fchouinard: review?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Chouinard CLA 2010-10-01 17:20:26 EDT
Event skipping means to advance a TmfContext – a pointer into an event trace – over any desired numbers of events at the TmfTrace level. Thus a custom implementation derived from the TmfTrace class can support more efficient implementations than just repeatedly single stepping events.

The method skipEvents() is added to advance a TmfContext over a number of events at once. This is similar to repeatedly call getNextEvent() for a given number of events or until a specific stop condition is reached, but has the following advantages:

- For fixed size events the skip operation is simple and can be implemented to be very fast.

- An additional stop condition can be used to move the TmfContext to a required timestamp or to the first event that matches a given condition.

- The custom implementation derived from the TmfTrace class can prevent creation of TmfEvent objects that are skipped and thus improve performance.

The TmfTrace#seekEvent() methods are changed to use the new skip feature to improve their performance.
Comment 1 Patrick Tasse CLA 2013-05-17 13:46:56 EDT
This was a potential performance improvement with Legacy LTTng JNI implementation. It is not required for now.