Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Viewing custom events in a timeline

Hi Gerlando

I suspect that the traceType id in the XML state provider doesn't match your custom parser.

The ID to use for a custom text parser is created the following way:

org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTrace:<trace type category>:<trace type name>

where
<trace type category> is the category of your custom trace type
<trace type name> is the name of your custom text parser

The trace type category and name is defined in the Custom Text Wizard page (where defined your regular expressions) under the Text fields labelled with "Category" and "Trace type".

Make sure that in the XML state provider the traceType id attribute is matches the id of the custom text parser. See below for an example.

Please let us know if this solves your problem.

Best Regards
Bernd

EXAMPLE:

I defined a custom text parser:
<trace type category>: TMF
<trace type name>: TmfRequest

The traceType ID for the XML state provider is then:
org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTrace:TMF:TmfRequest

The corresponding XML would look like this:
<stateProvider
     version="0" id="my.test.state.provider">
      <head>
<traceType id="org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTrace:TMF:TmfRequest" />
...

On 08/04/2015 06:17 AM, Gerlando Falauto wrote:
Hi Patrick,

I tested the example for viewing lttng-ust traces at

https://github.com/tracecompass/xml-analysis-example

which works correctly -- but that's a UST trace instead.
In my case, I'm using a "MyCategory:MyTraceType" custom text file parser.

So if my understanding is right, I just need to find the right value as a replacement for:

<traceType id="org.eclipse.linuxtools.lttng2.ust.tracetype" />

However, I don't see how that should work...
I tried the following values:

"o.e.tracecompass.CustomTxtTrace:MyCategory:MyTraceType"
(seen at https://www.eclipsecon.org/na2015/sites/default/files/slides/EclipseConAmerica2015.pdf)

"org.eclipse.tracecompass.CustomTxtTrace:MyCategory:MyTraceType"

In the end, I read in the manual http://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.user/Data-driven-analysis.html:

A "traceType" should be defined to tell TMF which trace type this analysis will apply to. If no tracetype is specified, the analysis will appear under every trace.

So I removed the traceType altogether, and at least it's working for me now... But I'd be very happy to know which one would be the right value.

Thank you!
Gerlando

On 08/04/2015 11:22 AM, Gerlando Falauto wrote:
Hi Patrick,

as a matter of fact, I *don't* see the analysis at all under the trace.
I only see the "Tmf Statistics Analysis under there".

I tried having a look at the example under:
https://github.com/tracecompass/xml-analysis-example

where the only difference is that I don't "open" the trace, but I rather
import it instead, because it comes from a custom Text parser (as
opposed as from LTTNG).
Actually, I also tried "opening" it and then selecting the trace type as
my custom parser, but it still makes no difference.

What's funny is that the states are correctly visible on the "State
System Explorer", so the analysis seems to work correctly.
It's just the view (and the analysis under the trace, for that matter)
that's not present.

Also manually opening "XML Time Graph View" does not seem to make a
difference.
Moreover, I noticed that after renaming the <stateProvider version="0"
id="org.eclipse.tracecompass.request.analysis"> and re-importing the XML
analysis file, the system still keeps creating a supplementary file by
the old name. So I also tried wiping out the ~/.tracecompass directory
and staring all over again, but still no luck.

This is really driving me crazy...

BTW, I'm running Tracecompass 1.0.0 as a self-contained application
started with:

./trace-compass/tracecompass -vm
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Any bit of help would be highly appreciated!

Thank you,
Gerlando

On 08/03/2015 11:17 PM, Patrick Tasse wrote:
Hi Gerlando,

First the timeGraphView id has to be unique, I'm not sure if the one
you're using is clashing with something else.

If you have only one XML-defined view you might have some luck by
opening LTTng > XML Time Graph View. But all the XML-defined time graph
views compete for this single view, it's not a fully correct
implementation yet...

Normally you would see your XML-defined view under the analysis, under
the trace in the Project Explorer. The view will show up there only once
the trace is opened. Then you open the view by double-clicking on it in
the Project Explorer.

Patrick


On Mon, Aug 3, 2015 at 12:07 PM, Gerlando Falauto
<gerlando.falauto@xxxxxxxxxxx <mailto:gerlando.falauto@xxxxxxxxxxx>> wrote:

     Hi Patrick, Matthew,

     thank you for your kind answers. Sorry for the late reply but I'm
     sort of doing this in my spare time.

     It all seems quite interesting but I don't exactly know what I'm
     looking for, so I'm playing with it one step at a time here.
I somehow managed to start parsing the log files and get some events
     visible in the state system explorer.
     One question I actually do have, though: how can I open the time
     graph view I defined in the analysis file?

          <timeGraphView
id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.statesystem">
              <head>
                  <analysis id="my.test.state.provider" />
                  <label value="My Sample XML View" />
              </head>
              <!-- StateValues -->
              <definedValue name="The process is running" value="100"
     color="#118811" />
              <definedValue name="Critical section" value="101"
     color="#881111" />
              <definedValue name="Waiting for critical section"
     value="102" color="#AEB522" />

              <!-- Control Flow View -->
              <entry path="Tasks/*">
                  <display type="self" />
              </entry>
          </timeGraphView>


After I import it through "Import XML analysis", I was expecting it to show up under View / Show View, but I don't. I also checked that
     <analysis id="my.test.state.provider" /> matches <stateProvider
     version="0" id="my.test.state.provider">.

     Is there any way to enable debug/verbose output when importing XML
     file? This all happens in a very (disturbingly) silent way...

     And I'm probably missing something stupid...

     Thank you so much!
     Gerlando

     On 07/23/2015 04:27 PM, Patrick Tasse wrote:

         Hi Gerlando,

         You don't need to have your source trace in CTF format.
         Although, if you
         do, it would probably be faster to process (which matters only
         if your
         trace is large), excluding the one-time conversion cost.

         You can create a custom parser for your source trace directly
         from a UI
         wizard, if it is in text or XML format:

http://archive.eclipse.org/tracecompass/doc/stable/org.eclipse.tracecompass.doc.user/Trace-Compass-Main-Features.html#Custom_Parsers

         If your trace is neither text, XML or CTF, you would probably
         have to
create your own trace type and parser as a plug-in extension in
         Java code:

http://archive.eclipse.org/tracecompass/doc/org.eclipse.tracecompass.doc.dev/Implementing-a-New-Trace-Type.html#Implementing_a_New_Trace_Type


You can then create your own state system and custom view based
         on it
         using data-driven analysis by writing an XML file:

http://archive.eclipse.org/tracecompass/doc/stable/org.eclipse.tracecompass.doc.user/Data-driven-analysis.html#Data_driven_analysis

Marc-Andre has made a presentation at EclipseCon 2015 which has an
         example of what you would need to do:

https://www.eclipsecon.org/na2015/sites/default/files/slides/EclipseConAmerica2015.pdf
         (starting at page 25)

Let us know if you need any more help, or if you have comments or
         suggestions after going through the process.

         Patrick

         On Thu, Jul 23, 2015 at 4:19 AM, Gerlando Falauto
         <gerlando.falauto@xxxxxxxxxxx
         <mailto:gerlando.falauto@xxxxxxxxxxx>
         <mailto:gerlando.falauto@xxxxxxxxxxx
         <mailto:gerlando.falauto@xxxxxxxxxxx>>> wrote:

              Hi,

              I am currently trying to analyze the behavior and
         performance of a
              system under different configurations and circumstances.
What I have is a series of events (start/stop) relative to
         several
              (~200) separate "entities" which I would like to see
         plotted in a
              timeline: Kind of like the timeline you see on the
         "Network" tab of
              the Developer Tools under Firefox, where you see how long
         each HTTP
              request lasts and how it overlaps with the others.
              Or like the "Control Flow" view in Tracecompass, except
         each row is
*NOT* a linux process/thread, rather an internal "entity".
         So the
              data shall not come from LTTNG traces, rather from
         external, custom
              data.
              I suppose I could either:
              a) post-process a log file (by writing some translation
         script), so
to generate some CTF trace, "faking" processes with my own
         entities, or
b) instrument the code itself so to generate LTTNG-UST events.

Any ideas how I could achieve this? Just some hint on where
         to start...

              Thank you so much!
              Gerlando
              _______________________________________________
              tracecompass-dev mailing list
         tracecompass-dev@xxxxxxxxxxx
         <mailto:tracecompass-dev@xxxxxxxxxxx>
         <mailto:tracecompass-dev@xxxxxxxxxxx
         <mailto:tracecompass-dev@xxxxxxxxxxx>>
To change your delivery options, retrieve your password, or
              unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev



     _______________________________________________
     tracecompass-dev mailing list
     tracecompass-dev@xxxxxxxxxxx <mailto:tracecompass-dev@xxxxxxxxxxx>
     To change your delivery options, retrieve your password, or
     unsubscribe from this list, visit
     https://dev.eclipse.org/mailman/listinfo/tracecompass-dev



_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev


_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev



Back to the top