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