Intel® Trace Analyzer User's Reference Guide
Intel® Trace Analyzer User's Reference Guide
Intel® Trace Analyzer User's Reference Guide
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Intel® <strong>Trace</strong> <strong>Analyzer</strong> <strong>User's</strong> <strong>Reference</strong> <strong>Guide</strong><br />
Examples of Advanced Usage of the Grammar<br />
This section includes several examples of manually using the filter expression<br />
grammar and how it provides advanced capabilities in filtering trace data and<br />
speeding up the process of selecting exactly what the user would like to be<br />
analyzed.<br />
For the first example, consider a parenthesized structure that can not be built by<br />
the point and click interface as easily (messages sent by process 0 and starting<br />
or ending between 70000 and 80000 ticks):<br />
p2pfilter( sender( 0 ) && ( start( 70000:80000 ) ||<br />
end( 70000:80000 ) ) )<br />
The following example uses the predicate sr, which is not available in the point<br />
and click interface, to efficiently filter out all messages between processes 0 and<br />
1:<br />
p2pfilter( ! sr( 0:1; 0:1 ) )<br />
Finally, consider the following scenario. With the point and click interface, a<br />
complicated filter is specified for a certain filter class with a large number of<br />
predicates and Boolean operators (both AND and OR, the latter added by using<br />
the Add New Clause button). Now, to negate everything that has been specified<br />
so far (that is, to get exactly the trace data that was previously being filtered out),<br />
use ! in front of the whole expression when in the manual mode. For example,<br />
the filter below specifies MPI_Barrier collective operations that last no longer than<br />
2000 ticks, plus all collective operations with process 0 as the root:<br />
collfilter( type( MPI_Barrier ) && duration( 0:2000 ) || root( 0 ) )<br />
while this filter specifies all the collective operations that do not match the<br />
description above:<br />
collfilter( ! ( type( MPI_Barrier ) && duration( 0:2000 ) ||<br />
root( 0 ) ) )<br />
Filter Expressions in Comparison Mode<br />
In Comparison mode (see Chapter 7, Comparison of two <strong>Trace</strong> Files) the dialog<br />
is extended by a label and a combo box that allows to apply the chosen filter<br />
expression to the other trace file shown in the View. Choosing the option "If<br />
expression is valid in other file." will check if the resulting expression is valid in<br />
the name space of the other file and if so then apply the expression as if you<br />
had manually typed it in the other file's filter dialog. Any previous input in the<br />
target dialog will be overwritten.<br />
The Tagging Dialog<br />
For an explanation of the filtering concept refer to the section called “Tagging<br />
and Filtering”. The usage of this dialog box is as for the Filtering dialog box and<br />
described in the section called “The Filtering Dialog”.<br />
The only difference is that the default Filtering dialog box lets all events pass<br />
while the default Tagging dialog box does not tag any event at all.<br />
Document number: 318120-002 70