Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 360564

Summary: [TMF] Update TmfEvent model
Product: z_Archived Reporter: Francois Chouinard <fchouinard>
Component: LinuxToolsAssignee: Francois Chouinard <fchouinard>
Status: CLOSED FIXED QA Contact: Francois Chouinard <fchouinard>
Severity: normal    
Priority: P3 CC: overholt
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 360566    
Bug Blocks:    
Attachments:
Description Flags
Legacy TMF Event Model
none
Updated TMF Event Model none

Description Francois Chouinard CLA 2011-10-11 12:53:38 EDT
The TmfEvent model could endure a face lift before 1.0.

Of interest:
- Use interfaces for the API and internalize everything possible 
- Come up with a light weight TmfTimestamp structure
- Formalize TmfEventReference by having it hold (trace + rank)
- ...
Comment 1 Francois Chouinard CLA 2012-02-17 10:33:51 EST
Created attachment 211193 [details]
Legacy TMF Event Model
Comment 2 Francois Chouinard CLA 2012-02-17 10:34:57 EST
Created attachment 211194 [details]
Updated TMF Event Model
Comment 3 Francois Chouinard CLA 2012-02-17 10:36:52 EST
A simplified TMF Event Model is proposed.

Over time, the original model has been 'enhanced' by introducing TmfData and a augmenting the APIs to meet some, well, short-term needs.

There was a need to revisit the model to [1] groom it for Linux Tools 1.0, and [2] the upcoming introduction of CTF-based trace parsers and the general State System.

To meet these requirements, a few unused classes were dropped (TmfTraceEvent, TmfeventContent), some types were simplified (TmfEventReference and TmfEventSource become String:s, TmfEventContent becomes a 'root' TmfEventField), and a type manager is introduced (TmfEventTypeManager).

More importantly, a set of interfaces is introduced (ITmfEvent, ITmfTimestamp, etc) and the APIs are modified to use them. Also, base implementations are provided for each interface. The obvious 'framework-ish' goal is to provide a set of APIs as well as a 'reasonable' implementation that can be either used as-is, extended or re-implemented to suit one's needs.

The original and updated models are attached. The code has been pushed to Eclipse in branch 'LTTng-TmfEventModel' (SHA: a5fef84bae0ad457df0684f8cb61b9057f2720d0).

Comments are welcome.
Comment 4 Francois Chouinard CLA 2012-02-22 16:02:53 EST
Code was committed in master (commit id: 526c773d2ab90c59a6de3af141ad80872490368b).

The now-obsolete branch 'LTTng-TmfEventModel' was also removed.
Comment 5 Francois Chouinard CLA 2012-03-26 14:01:43 EDT
Delivered in 0.10.0