Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Hierarchical XML XY view

Hi Konrad,


Indeed the XML XY viewer does not support hierarchical elements. I guess in the absence of a 'name' attribute, we should use, not the last item's name, but a concatenation of all wildcards replaced.


There is a workaround that would require no changes to the java code: Add this state change to the eventHandler (I'm not sure about the script's exact value though):


<stateChange>

          <stateAttribute type="constant" value="Processes" />

          <stateAttribute type="eventField" value="context._procname" />

          <stateAttribute type="constant" value="Generations" />

          <stateAttribute type="eventField" value="Generation" />

          <stateAttribute type="constant" value="SeriesName" />

          <stateValue type="script" value="procname + '/' + generation" scriptEngine="nashorn">

                 <stateValue id="procname" type="eventField" value="context._procname" />
                 <stateValue id="generation" type="eventField" value="Generation" />

          </stateValue>

 </stateChange>


Then add a name tag under the <entry> element of the viewer


<name type="constant" value="SeriesName"/>


And it should work.


Regards,

Geneviève


On 2017-08-02 11:57 PM, Konrad Kokosa wrote:

Hi,

 

During my intense work on CoreCLR profiles, I’ve created yet another one analysis:

 

                <stateProvider version="0" id="CoreCLR.GC.statistics">

                               <head>

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

                                               <label value="CoreCLR.GC.statistics" />

                               </head>

                              

                               <location id="CurrentRangeUsedLength">

                                               <stateAttribute type="constant" value="Generations" />

                                               <stateAttribute type="eventField" value="RangeUsedLength" />

                               </location>

                              

                               <eventHandler eventName="DotNETRuntime:GCGenerationRange">

                                               <stateChange>

                                                               <stateAttribute type="constant" value="Processes" />

                                                               <stateAttribute type="eventField" value="context._procname" />

                                                               <stateAttribute type="constant" value="Generations" />

                                                               <stateAttribute type="eventField" value="Generation" />

                                                               <stateValue type="eventField" value="RangeUsedLength" forcedType="long"/>

                                               </stateChange>

                               </eventHandler>

                </stateProvider>

 

And now I can draw all Generations from all Processes:

 

                <xyView id="CoreCLR.GC.statistics.view">

                               <head>

                                               <analysis id="CoreCLR.GC.statistics" />

                                               <label value="CoreCLR.GC.statistics.view" />

                               </head>

 

                               <entry path="Processes/*/Generations/*">

                                               <display type="self" />                                

                               </entry>

                </xyView>         

 

This makes three data series on a graph labelled 0, 1, 2 and 3 – as there so many generations in CoreCLR. How can create separate data series per process & generation pair, to have labels like dotnet/0, dotnet/1, dotnet/2, anotherprogram/0, … ?

 

This was easy in timeGraphView as it allows hierarchical entries, but in xyView I can only manipulate on the name level and after trying everything still not sure if it is possible..

 

Best,

Konrad Kokosa



_______________________________________________
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