func GraphiteQuery(e *State, T miniprofiler.Timer, query string, sduration, eduration, format string) (r *Results, err error) { sd, err := opentsdb.ParseDuration(sduration) if err != nil { return } ed := opentsdb.Duration(0) if eduration != "" { ed, err = opentsdb.ParseDuration(eduration) if err != nil { return } } st := e.now.Add(-time.Duration(sd)) et := e.now.Add(-time.Duration(ed)) req := &graphite.Request{ Targets: []string{query}, Start: &st, End: &et, } s, err := timeGraphiteRequest(e, T, req) if err != nil { return nil, err } formatTags := strings.Split(format, ".") r = new(Results) results, err := parseGraphiteResponse(req, &s, formatTags) if err != nil { return nil, err } r.Results = results return }
func ToDuration(e *State, T miniprofiler.Timer, sec float64) (*Results, error) { d := opentsdb.Duration(time.Duration(int64(sec)) * time.Second) return &Results{ Results: []*Result{ {Value: String(d.HumanString())}, }, }, nil }