oracle过滤器基础,示例过滤器表达式 (Oracle Solaris Studio 12.2:性能分析器)

示例过滤器表达式

本节介绍可通过 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 过滤事件

当线程 1 仅在 CPU 2 上运行时,要查看线程 1 中的事件,请使用:

THRID == 1 && CPUID == 2

示例 5–3 按索引对象过滤事件

如果将索引对象 THRCPU 定义为 "CPUID<<16|THRID",下面的过滤器与上述当线程 1 仅在 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值