func traceHTML(w http.ResponseWriter, logPath string, njl *ninjalog.NinjaLog) error { steps := ninjalog.Dedup(njl.Steps) flow := ninjalog.Flow(steps) traces := ninjalog.ToTraces(flow, 1) b, err := traceViewerTmpl.HTML(logPath, traces) if err != nil { return err } w.Header().Set("Content-Type", "text/html; charset=utf-8") w.WriteHeader(http.StatusOK) _, err = w.Write(b) return err }
func traceJSON(w http.ResponseWriter, logPath string, njl *ninjalog.NinjaLog) error { steps := ninjalog.Dedup(njl.Steps) flow := ninjalog.Flow(steps) traces := ninjalog.ToTraces(flow, 1) js, err := json.Marshal(traces) if err != nil { return err } w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) _, err = w.Write(js) return err }