diff --git a/functions/tracing.zsh b/functions/tracing.zsh new file mode 100644 index 0000000..07af1e7 --- /dev/null +++ b/functions/tracing.zsh @@ -0,0 +1,18 @@ +#!/bin/zsh + +function start_tracing { + zmodload zsh/zprof + zmodload zsh/datetime + setopt PROMPT_SUBST + PS4+='+$EPOCHREALTIME %N:%i> ' + logfile=$(mktemp zsh_profile.XXXXXXXX) + echo "logging to $logfile" + exec 3>&2 2>$logfile + setopt XTRACE +} + +function stop_tracing { + unsetopt XTRACE + exec 2>&3 3>&- + zprof | tee zprof_out.log | vimscratch - +}