diff options
author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-11 15:16:29 +0900 |
---|---|---|
committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-11 15:19:23 +0900 |
commit | 432a242562d1802f3f2a182f42df86b1e4696271 (patch) | |
tree | a9d496fc398b363755ca48dd4ffa9b6e7919f6e1 /func.go | |
parent | 0daac1fbbb82ced82786bbdee2e716a38a16762b (diff) | |
download | kati-432a242562d1802f3f2a182f42df86b1e4696271.tar.gz |
add -kati_trace_event=<json filename>
if this option is given, it outputs trace json file
for chrome://tracing for makefile include traces.
Diffstat (limited to 'func.go')
-rw-r--r-- | func.go | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -447,13 +447,13 @@ func (f *funcWildcard) Eval(w io.Writer, ev *Evaluator) { assertArity("wildcard", 1, len(f.args)) abuf := newBuf() f.args[1].Eval(abuf, ev) - t := time.Now() + te := traceEvent.begin("wildcard", tmpval(abuf.Bytes())) if ev.avoidIO && !useWildcardCache { ev.hasIO = true w.Write([]byte("$(/bin/ls -d ")) w.Write(abuf.Bytes()) w.Write([]byte(" 2> /dev/null)")) - addStats("wildcard", tmpval(abuf.Bytes()), t) + traceEvent.end(te) freeBuf(abuf) return } @@ -463,7 +463,7 @@ func (f *funcWildcard) Eval(w io.Writer, ev *Evaluator) { pat := string(ws.Bytes()) wildcard(&sw, pat) } - addStats("wildcard", tmpval(abuf.Bytes()), t) + traceEvent.end(te) freeBuf(abuf) } @@ -721,12 +721,12 @@ func (f *funcShell) Eval(w io.Writer, ev *Evaluator) { abuf := newBuf() f.args[1].Eval(abuf, ev) if ev.avoidIO && !hasNoIoInShellScript(abuf.Bytes()) { - t := time.Now() + te := traceEvent.begin("shell", tmpval(abuf.Bytes())) ev.hasIO = true w.Write([]byte("$(")) w.Write(abuf.Bytes()) w.Write([]byte{')'}) - addStats("shell", tmpval(abuf.Bytes()), t) + traceEvent.end(te) freeBuf(abuf) return } @@ -740,15 +740,15 @@ func (f *funcShell) Eval(w io.Writer, ev *Evaluator) { Args: cmdline, Stderr: os.Stderr, } - t := time.Now() + te := traceEvent.begin("shell", literal(arg)) out, err := cmd.Output() - shellFuncTime += time.Since(t) + shellFuncTime += time.Since(te.t) shellFuncCount++ if err != nil { Logf("$(shell %q) failed: %q", arg, err) } w.Write(formatCommandOutput(out)) - addStats("shell", literal(arg), t) + traceEvent.end(te) } func (f *funcShell) Compact() Value { |