// helpHandler handles the GET of the main page. func helpHandler(w http.ResponseWriter, r *http.Request) { glog.Infof("Help Handler: %q\n", r.URL.Path) if r.Method == "GET" { w.Header().Set("Content-Type", "text/html") ctx := parser.NewContext(nil) if err := helpTemplate.Execute(w, ctx); err != nil { glog.Errorln("Failed to expand template:", err) } } }
// addFlatCalculatedTraces adds the traces returned from evaluating the given // formula over the given tile to the FlatQueryResponse. Doesn't include an empty // formula trace. Useful for pulling data into IPython. func addFlatCalculatedTraces(qr *FlatQueryResponse, tile *tiling.Tile, formula string) error { ctx := parser.NewContext(tile) traces, err := ctx.Eval(formula) if err != nil { return fmt.Errorf("Failed to evaluate formula %q: %s", formula, err) } for _, tr := range traces { qr.Traces = append(qr.Traces, tr) } return nil }
// addCalculatedTraces adds the traces returned from evaluating the given // formula over the given tile to the QueryResponse. func addCalculatedTraces(qr *QueryResponse, tile *tiling.Tile, formula string) error { ctx := parser.NewContext(tile) traces, err := ctx.Eval(formula) if err != nil { return fmt.Errorf("Failed to evaluate formula %q: %s", formula, err) } hasFormula := false for _, tr := range traces { if tiling.IsFormulaID(tr.Params()["id"]) { hasFormula = true } tg := traceGuiFromTrace(tr, tr.Params()["id"], tile) qr.Traces = append(qr.Traces, tg) } if !hasFormula { // If we haven't added the formula trace to the response yet, add it in now. f := types.NewPerfTraceN(len(tile.Commits)) tg := traceGuiFromTrace(f, tiling.AsFormulaID(formula), tile) qr.Traces = append(qr.Traces, tg) } return nil }