是否可以在XDebugs profiler输出文件名中使用MVC路径?

时间:2015-04-25 22:42:54

标签: php model-view-controller xdebug profiler kcachegrind

我正在使用XDebug来分析大型MVC应用程序,并且通过其URI而不是文件名(.php)来分析单个请求会更容易,因为多个请求是通过内部函数进行的,从而导致单个多个grind文件页面刷新。

我见过%p =进程ID,%t =时间戳和%s =脚本名称(var_path_to_example.php)

如果文件的名称更像grind,那将会容易得多。{domain} {path}。%p

这可能吗?我还没有能够找到任何其他字符串格式化替代品,可以做后续的事情。

单页刷新当前创建了四个研磨文件(三个用于索引,一个是主要请求,另外两个是媒体压缩器),另一个用于img.php,它是媒体路径重写器和缩放器。

所有这些组合成一个单独的www.example.com/path/to/controller.grind对于这种情况更可取。

1 个答案:

答案 0 :(得分:0)

答案是使用%R - 我在trace_output_name部分下找到了字符串替换列表Xdebug Settings。似乎同样的替换器也可以用于探查器输出名称。

在php.ini中命名你的文件 - “cachegrind.out。%R”,将URI改为名称,并用下划线替换斜杠。

现在我的grind文件看起来像cachegrind.out._page_minify_css和cachegrind.out._(这将是域的根目录 - 正是我想要的,以便将配置文件与请求联系起来)

短名单是这个

%c = CWD的crc32

%p = PID

%r =随机数

%s =脚本名称(仅适用于配置文件输出)

%t =时间戳(秒)

%u =时间戳(微秒)

%H =主机名

%R =请求URI(我之后的那个)

%U =仅自2.2以来的唯一ID / 9

%S =会话ID