这个答案“How to profile a bash shell script?”似乎几乎完全涵盖了我在这里要完成的事情。我目前有一些zsh脚本可以修改提示,但我认为对oh-my-zsh的一些更新引发了一些我需要追捕的问题。不时的迟滞是无法忍受的。
为此,您如何调整此示例答案中的提示部分以使用zsh vs bash?
目前我修改了/etc/zshenv
,使其具有示例中的初始建议代码:
PS4='+ $(date "+%s.%N")\011 '
exec 3>&2 2>/tmp/bashstart.$$.log
set -x
我的~/.zshrc
附加了以下内容:
set +x
exec 2>&3 3>&-
当然这些对ZSH shell自定义无效。我的提示渲染代码使用oh-my-zsh自定义。我可以在我想的提示中添加适当的代码,或者我可以接受其他建议。
答案 0 :(得分:2)
为每个命令调用date
将fork和exec,这会增加可能会影响测量的开销。
相反,您可以使用
PS4=$'+ %D{%s.%6.}\011 '
以较低的开销(高达毫秒精度)记录时间戳。
有关处理结果日志的一些注意事项,请参阅http://blog.xebia.com/profiling-zsh-shell-scripts/