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 Patrick, Bernd,

On 08/04/2015 04:54 PM, Patrick Tasse wrote:
Hi Gerlando,

The string Bernd gave should work, however it's an old format for which
we added backward compatibility support.

In the latest code, the string should be:

custom.txt.trace:MyCategory:MyTraceType

If it still does not work, are you able to share your custom parser and
XML files so that we can try to debug?

Actually both strings work fine:

org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTrace:MyCategory:MyTraceType
custom.txt.trace:MyCategory:MyTraceType

(Turns out I accidentally put a space, i.e. "org. eclipse...", my bad...) O:-)


Note: the traceType id from the EclipseCon slides was shortened for
clarity, "o.e.tracecompass.CustomTxtTrace:" is not a supported prefix.

Yes, I sort of figured that. :-) Too bad I only managed to expand o.e. into org.eclipse...

Now a new question: what is max nesting level of state attributes?

What if I want an attribute like users/{group}/{user}?
Would that be at all possible?
Could I get instead something like users/{group}-{user}?

Thanks!!!
Gerlando



Patrick


On Tue, Aug 4, 2015 at 10:22 AM, Gerlando Falauto
<gerlando.falauto@xxxxxxxxxxx <mailto:gerlando.falauto@xxxxxxxxxxx>> wrote:

    Hi Bernd,

    thank you for your help.
    However, it doesn't seem to work either. The only way I could get to
    see the analysis underneath the trace is by removing the "traceType"
    tag altogether.

    Thank you,
    Gerlando


    On 08/04/2015 03:56 PM, Bernd Hufmann wrote:

        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>
                    <mailto: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>>
                               <mailto: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>>
                               <mailto: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>
                    <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
            <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 <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





Back to the top