# scripts/lib/render-phases.awk # Render per-phase hotspot HTML from sorted TSV rows. # Input TSV: "\t\t". # Variables: # -v TITLE="..." function esc(s) { gsub(/&/, "\\&", s); gsub(//, "\\>", s) return s } BEGIN { FS = "\t"; n = 0 } { n++ ms[n] = $1 + 0 hits[n] = $2 + 0 phase[n] = $3 if (n == 1) maxv = ms[n] } END { print "" print "" esc(TITLE) "" print "" print "

" esc(TITLE) "

" print "
cumulative self-time by pipeline phase, slowest first
" print "" for (i = 1; i <= n; i++) { w = (maxv > 0 ? (ms[i] * 100.0 / maxv) : 0) printf "", i, ms[i], hits[i], esc(phase[i]) printf "\n", w } print "
#mshitsphase
%d%.1f%d%s
" }