func timeGraphiteRequest(e *State, T miniprofiler.Timer, req *graphite.Request) (resp graphite.Response, err error) { e.graphiteQueries = append(e.graphiteQueries, *req) b, _ := json.MarshalIndent(req, "", " ") T.StepCustomTiming("graphite", "query", string(b), func() { key := req.CacheKey() getFn := func() (interface{}, error) { return e.graphiteContext.Query(req) } var val interface{} val, err = e.cache.Get(key, getFn) resp = val.(graphite.Response) }) return }