Hi,
Thank you for your interest, I'll add some comments inline below.
It's true that the Analysis Framework documentation may be a bit too
basic (and a little bit outdated at that). It should be updated and
present a more concrete example, say, using an event request instead of
doing nothing. That's often the use case people will want to implement.
I'll update the doc with your comments in mind.
On 07/10/2014 02:56 PM, Seenu wrote:
Hi Mathew,
Let me explain my requirement briefly and what I'm looking for.
1. I want to define a new trace format with fixed number of fields
each of them have numeric value.
Eg: To keep things simple, assume I've a trace data with only three
fields. Time stamp, L1 Cache Hits, L1 Total Cache Accesses.
I don't know how your data is represented, but if it is a text file, you
may want to take a look at the Custom Text Parser, documented here
http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide#Custom_Parsers.
2. I want to define a new analysis module calculating the % of cache
hits over time and show it in a view similar to CPU utilization.
3. I want to define various different analysis modules involving
mathematical computation of such data and show them as tabular, graph
views.
You could use an analysis that does an TmfEventRequest. The handleData
method of the request will receive events chronologically and you can do
whatever you wish with it.
4. I like the concept of defining parameters for analysis module so I
can say I want to see % of cache hits of L1 or L2. (Assuming I've data
for L1 and L2 cache in my trace). Something similar to how % CPU
utilization graphs overlaps with a single process CPU utilization.
Analysis parameters typically will change the results of an analysis, so
that analysis executed with param=x will give result A and analysis
executed with param=y will give result B. That parameter is not used for
the output, but really for the analysis itself. You can independently
parameterize the output (like the CPU utilization view), by showing only
a subset of the analysis results.
But parameters can be used in conjunction with views. For example, you
select an entry in the control Flow View and it changes the parameter of
an analysis that is run for this entry and another view shows the results.
I'm trying to explore whether TMF can fit into this requirement. In my
case, I don't have multiple events as such. It is just table of data.
So to put things in the context of TMF, I can think of it as trace
data with only single event.
I haven't understood the concept of State Systems in TMF and feel is
not relevant to my requirements.
The state system is basically a data structure used to track the states
of elements of a system in a large sense. 'States' and 'elements of the
system' can be almost anything. It can be saved on disk so it scales
well for large traces and large number of data. it may or may not be
useful to you. Here's some read you may find interesting
http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide#Data_driven_analysis
If you have not understood my requirements then don't worry too much
about the above details. In terms of the what is missing in the doc, I
have some suggestions.
1. I see that in wiki link
(http://wiki.eclipse.org/Linux_Tools_Project/TMF/User_Guide), there is
a chapter on "Analysis Framework" which is missing in eclipse help.
(http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.linuxtools.tmf.help%2Fdoc%2FDeveloper-Guide.html)
The analysis framework was not part of kepler. If you look at the luna
documentation, it should be there now.
2. The first chapter on "Implementing a New Trace Type
<http://help.eclipse.org/kepler/topic/org.eclipse.linuxtools.tmf.help/doc/Implementing-a-New-Trace-Type.html?cp=60_1>"
was very good because it has explained the concept with a basic
example along with source code. It would be good if the concept of
"Analysis Framework" was also explained in continuation by taking the
same trace which was defined in the first chapter.
Indeed each chapter is independent, written by different people, but
it's a good idea to harmonize it and follow with a same simple example.
We'll see what can be done.
3. I can think of a simple analysis for Nexus Lite trace format. Nexus
lite format has 64 different events and we want to plot the graph
showing how the percentage of each type is varying over time.
May be I'm asking too much but I just want to share my experience of
exploring the framework as newbie and how it could have better for me.
Anyway, I'm trying to explore/experiment with Statistics Analysis
module and making some progress.
Just another question:
Does TMF support live visualization of trace data. Even if it is not
already in place, is it possible for me to add that support?
What do you mean by "live visualization"? For LTTng, we are working on
supporting live tracing, meaning reading trace data as the trace is
being recorded. For log files, would you mean read trace data from that
file while data is still being appended to the file? I don't think that
support is here yet. Once we reach the end of file, the file is closed
and the request is finished. So any data appended after that won't be
read. Unless I am mistaken.
Hope this helps,
Geneviève
_______________________________________________
linuxtools-dev mailing list
linuxtools-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/linuxtools-dev