ここでは、er_print -filters コマンドまたはアナライザのフィルタダイアログボックスで使用できるフィルタ式の例を示します。
er_print -filters コマンドでは、フィルタ式は、次のように単一引用符で囲まれます。
er_print -filters 'FNAME("myfunc") SOME IN USTACK' -functions test.1.er |
ユーザー関数スタックから myfunc という名前の関数をフィルタリングするには、次のようにします。
FNAME("myfunc") SOME IN USTACK
CPU 2 上でのみ実行したスレッド 1 からのイベントを表示するには、次のようにします。
THRID == 1 && CPUID == 2
インデックスオブジェクト THRCPU が CPUID<<16|THRID として定義されている場合、次のフィルタは、上記の CPU 2 上で実行したスレッド 1 からのイベントを表示する場合のフィルタと等価です。
THRCPU == 0x10002
5 秒と 9 秒の間に発生した実験 2 のイベントをフィルタリングするには、次のようにします。
EXPID==2 && TSTAMP >= 5000000000 && TSTAMP < 9000000000
スタック内の特定の Java クラスのメソッドを持つイベントをフィルタリングするには、次のようにします。(ユーザー表示モードの場合)
FNAME("myClass.*") SOME IN USTACK
関数 ID が既知である (アナライザに表示されている) 場合、マシン呼び出しスタック内の特定の呼び出し順序を含むイベントをフィルタリングするには、次のようにします。
(314,272) ORDERED IN MSTACK
describe コマンドにより、時間プロファイリング実験の次のプロパティが一覧表示された場合は、
MSTATE UINT32 Thread state NTICK UINT32 Duration |
次のフィルタを使用して、特定の状態のイベントを選択できます。
MSTATE == 1
または、次のフィルタを使用して、特定の状態にあり、期間が 1 クロック刻みより長いイベントを選択できます。
MSTATE == 1 && NTICK > 1