在xhprof忽略函数中使用正则表达式模式匹配

时间:2016-01-25 08:48:38

标签: php regex codeigniter xhprof

我正在尝试使用xhprof配置codeigniter应用程序。我收到的报告就像是......

this is the report of a particular CI controller

现在我试图在xhprof报告生成期间忽略某些功能。为此,我所做的就像跟随....

$ignore = array(
    '???_op',
    '???_op@1',
    '???_op@2',
    '???_op@3',
    '???_op@4',
    '???_op@5'
);
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY, array('ignored_functions' => $ignore));

现在,如果我想忽略所有与CI相关的函数(即从CI_*开始的函数)似乎我必须在数组中逐个插入它们。

有没有什么方法可以根据我的要求与正则表达式进行模式匹配并忽略函数?

1 个答案:

答案 0 :(得分:0)

遗憾的是,PHP 的 xhprof_enable() 不支持 ignored_functions 参数的 options 元素中的正则表达式模式。

我认为手动生成黑名单的最简单方法是将函数的渲染输出复制粘贴到您喜欢的 IDE 中。

一旦文本在您的 IDE 中,请使用正则表达式查找/替换功能来隔离您想要的函数名称,例如:

^(?:\?{3}_op|CI_)\S*

然后只需将匹配项复制到您的黑名单数组中即可。