Download - Oracle Documentation

Transcript
Expression Grammar
Data object filtering and memory object filtering are meaningful only for hardware counter
packets with dataspace data; all other packets are excluded under such filtering.
Direct filtering of virtual addresses or physical addresses is specified with a relational
expression between VADDR or PADDR, and the address.
Memory object definitions (see “mobj_define mobj-type index-exp” on page 153) use an
expression that evaluates to an integer index, using either the VADDR keyword or PADDR keyword.
The definitions are applicable only to hardware counter packets for memory counters and
dataspace data. The expression should return an integer, or -1 for the <Unknown> memory object.
Index object definitions (see “indxobj_define indxobj-type index-exp” on page 152) use an
expression that evaluates to an integer index. The expression should return an integer, or -1 for
the <Unknown> index object.
Example Filter Expressions
This section shows examples of filter expressions that can be used with the er_print -filters
command, and in the Advanced Customer Filters dialog box.
With the er_print -filters command, the filter expression is enclosed in single quotes,
similar to the following example:
er_print -filters 'FNAME("myfunc") SOME IN USTACK' -functions test.1.er
EXAMPLE 5-1
Filter Functions by Name and Stack
To filter functions named myfunc from the user function stack:
FNAME("myfunc") SOME IN USTACK
EXAMPLE 5-2
Filter Events by Thread and CPU
To see events from thread 1 when it was running on CPU 2 only:
THRID == 1 && CPUID == 2
EXAMPLE 5-3
Filter Events by Index Object
If an index object, THRCPU, is defined as "CPUID<<16|THRID", the following filter is equivalent
to the filter to see events from thread 1 when running on CPU 2:
THRCPU == 0x10002
Chapter 5 • er_print Command-Line Performance Analysis Tool
171