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.
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" 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
|