本文整理汇总了Golang中bosun/org/_third_party/github.com/gorilla/mux.Vars函数的典型用法代码示例。如果您正苦于以下问题:Golang Vars函数的具体用法?Golang Vars怎么用?Golang Vars使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Vars函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: MetricsByTagPair
func MetricsByTagPair(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
tagk := vars["tagk"]
tagv := vars["tagv"]
values := schedule.Search.MetricsByTagPair(tagk, tagv)
return values, nil
}
示例2: FilteredTagsetsByMetric
func FilteredTagsetsByMetric(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
metric := vars["metric"]
tagset := opentsdb.TagSet{}
var err error
ts := r.FormValue("tags")
if ts != "" {
if tagset, err = opentsdb.ParseTags(ts); err != nil {
return nil, err
}
}
return schedule.Search.FilteredTagSets(metric, tagset)
}
示例3: ExprGraph
// ExprGraph returns an svg graph.
// The basename of the requested svg file should be a base64 encoded expression.
func ExprGraph(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
bs := vars["bs"]
b, err := base64.StdEncoding.DecodeString(bs)
if err != nil {
return nil, err
}
q := string(b)
if len(q) == 0 {
return nil, fmt.Errorf("missing expression")
}
autods := 1000
if a := r.FormValue("autods"); a != "" {
i, err := strconv.Atoi(a)
if err != nil {
return nil, err
}
autods = i
}
now := time.Now().UTC()
if n := r.FormValue("now"); n != "" {
i, err := strconv.ParseInt(n, 10, 64)
if err != nil {
return nil, err
}
now = time.Unix(i, 0).UTC()
}
e, err := expr.New(q, schedule.Conf.Funcs())
if err != nil {
return nil, err
} else if e.Root.Return() != parse.TypeSeriesSet {
return nil, fmt.Errorf("egraph: requires an expression that returns a series")
}
// it may not strictly be necessary to recreate the contexts each time, but we do to be safe
tsdbContext := schedule.Conf.TSDBContext()
graphiteContext := schedule.Conf.GraphiteContext()
ls := schedule.Conf.LogstashElasticHosts
influx := schedule.Conf.InfluxConfig
es := schedule.Conf.ElasticHosts
res, _, err := e.Execute(tsdbContext, graphiteContext, ls, es, influx, cacheObj, t, now, autods, false, schedule.Search, nil, nil)
if err != nil {
return nil, err
}
if err := schedule.ExprSVG(t, w, 800, 600, "", res.Results); err != nil {
return nil, err
}
return nil, nil
}
示例4: TagValuesByTagKey
func TagValuesByTagKey(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
tagk := vars["tagk"]
s := r.FormValue("since")
var since opentsdb.Duration
if s == "default" {
since = schedule.Conf.SearchSince
} else if s != "" {
var err error
since, err = opentsdb.ParseDuration(s)
if err != nil {
return nil, err
}
}
return schedule.Search.TagValuesByTagKey(tagk, time.Duration(since))
}
示例5: TagValuesByMetricTagKey
func TagValuesByMetricTagKey(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
metric := vars["metric"]
tagk := vars["tagk"]
q := r.URL.Query()
var values []string
if len(q) > 0 {
tsf := make(map[string]string)
for k, v := range q {
tsf[k] = strings.Join(v, "")
}
values = schedule.Search.FilteredTagValuesByMetricTagKey(metric, tagk, tsf)
} else {
values = schedule.Search.TagValuesByMetricTagKey(metric, tagk, 0)
}
return values, nil
}
示例6: MetricsByTagKey
func MetricsByTagKey(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
tagk := vars["tagk"]
tagValues, err := schedule.Search.TagValuesByTagKey(tagk, time.Duration(schedule.Conf.SearchSince))
if err != nil {
return nil, err
}
// map[tagv][metrics...]
tagvMetrics := make(map[string][]string)
for _, tagv := range tagValues {
metrics, err := schedule.Search.MetricsByTagPair(tagk, tagv)
if err != nil {
return nil, err
}
tagvMetrics[tagv] = metrics
}
return tagvMetrics, nil
}
示例7: TagValuesByMetricTagKey
func TagValuesByMetricTagKey(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
metric := vars["metric"]
tagk := vars["tagk"]
return schedule.Search.TagValuesByMetricTagKey(metric, tagk, 0)
}
示例8: TagKeysByMetric
func TagKeysByMetric(t miniprofiler.Timer, w http.ResponseWriter, r *http.Request) (interface{}, error) {
vars := mux.Vars(r)
metric := vars["metric"]
keys := schedule.Search.TagKeysByMetric(metric)
return keys, nil
}