(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (command.ShFunction name: install body: (command.BraceGroup children: [ (C {(sudo)} {(apt)} {(install)} {(linux-tools-common)} {(linux-tools-4.13.0-36-generic)} {(linux-tools-generic)} ) ] ) ) (command.ShFunction name: debug-symbols body: (command.BraceGroup children: [ (C {(sudo)} {(apt)} {(install)} {(zlib1g-dbg)}) (C {(dpkg)} {(--listfiles)} {(zlib1g-dbg)}) ] ) ) (command.ShFunction name: _record body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'flag=') (SQ (Token id:Id.Lit_Chars val:-g span_id:300))}) (C {(local)} {(Id.Lit_VarLike 'bin=') (_bin/oil.ovm-opt)}) (C {(local)} {(Id.Lit_VarLike 'freq=') (1000)}) (C {(local)} {(Id.Lit_VarLike 'file=') (benchmarks/testdata/configure-coreutils)}) (command.TimeBlock pipeline: (C {(perf)} {(record)} {($ Id.VSub_DollarName '$flag')} {(-F)} {($ Id.VSub_DollarName '$freq')} {(-o)} {(perf.data)} {(--)} {($ Id.VSub_DollarName '$bin')} {(osh)} {(--ast-format)} {(none)} {(-n)} {($ Id.VSub_DollarName '$file')} ) ) ] ) ) (command.ShFunction name: record body: (command.BraceGroup children: [ (command.Sentence child: (C {(sudo)} {($ Id.VSub_Number '$0')} {(_record)}) terminator: (Token id:Id.Op_Semi val:';' span_id:388) ) ] ) ) (command.ShFunction name: report body: (command.BraceGroup children: [(C {(perf)} {(report)} {(-n)} {(--stdio)} {(DQ ($ Id.VSub_At '$@'))})] ) ) (command.ShFunction name: _make-readable body: (command.BraceGroup children: [ (C {(chmod)} {(644)} {(perf.data)}) (C {(chown)} {(andy)} {(perf.data)}) (C {(file)} {(perf.data)}) (C {(ls)} {(-l)} {(perf.data)}) ] ) ) (command.ShFunction name: make-readable body: (command.BraceGroup children: [ (command.Sentence child: (C {(sudo)} {($ Id.VSub_Number '$0')} {(_make-readable)}) terminator: (Token id:Id.Op_Semi val:';' span_id:481) ) ] ) ) (command.ShFunction name: _stat body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(perf)} {(stat)} {(--)} {(_bin/osh)} {(-n)} {(benchmarks/testdata/abuild)}) (C {(wc)} {(-l)}) ] negated: F ) ] ) ) (command.ShFunction name: stat body: (command.BraceGroup children: [ (command.Sentence child: (C {(sudo)} {($ Id.VSub_Number '$0')} {(_stat)}) terminator: (Token id:Id.Op_Semi val:';' span_id:534) ) ] ) ) (command.ShFunction name: flamegraph body: (command.BraceGroup children: [ (C {(word_part.TildeSub token:(Token id:Id.Lit_TildeLike val:'~' span_id:549)) (/git/other/FlameGraph/flamegraph.pl) } {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) (command.ShFunction name: stackcollapse-perf body: (command.BraceGroup children: [ (C {(word_part.TildeSub token:(Token id:Id.Lit_TildeLike val:'~' span_id:566)) (/git/other/FlameGraph/stackcollapse-perf.pl) } {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) (command.ShFunction name: make-graph body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(perf)} {(script)}) (command.Simple words: [{(stackcollapse-perf)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:594) fd: -1 arg_word: {(out.perf-folded)} ) ] ) ] negated: F ) (command.Simple words: [{(flamegraph)} {(out.perf-folded)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:603) fd: -1 arg_word: {(perf-kernel.svg)} ) ] ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )