func TestGauge(t *testing.T) { s := httptest.NewServer(stdprometheus.UninstrumentedHandler()) defer s.Close() scrape := func() string { resp, _ := http.Get(s.URL) buf, _ := ioutil.ReadAll(resp.Body) return string(buf) } namespace, subsystem, name := "aaa", "bbb", "ccc" re := regexp.MustCompile(namespace + `_` + subsystem + `_` + name + `{foo="bar"} ([0-9\.]+)`) gauge := NewGaugeFrom(stdprometheus.GaugeOpts{ Namespace: namespace, Subsystem: subsystem, Name: name, Help: "This is a different help string.", }, []string{"foo"}).With("foo", "bar") value := func() float64 { matches := re.FindStringSubmatch(scrape()) f, _ := strconv.ParseFloat(matches[1], 64) return f } if err := teststat.TestGauge(gauge, value); err != nil { t.Fatal(err) } }
func TestGauge(t *testing.T) { prefix, name := "ghi.", "jkl" label, value := "xyz", "abc" // ignored regex := `^` + prefix + name + `:([0-9\.]+)\|g$` s := New(prefix, log.NewNopLogger()) gauge := s.NewGauge(name).With(label, value) valuef := teststat.LastLine(s, regex) if err := teststat.TestGauge(gauge, valuef); err != nil { t.Fatal(err) } }
func TestGauge(t *testing.T) { in := New(map[string]string{"foo": "alpha"}, influxdb.BatchPointsConfig{}, log.NewNopLogger()) re := regexp.MustCompile(`influx_gauge,foo=alpha value=([0-9\.]+) [0-9]+`) gauge := in.NewGauge("influx_gauge") value := func() float64 { client := &bufWriter{} in.WriteTo(client) match := re.FindStringSubmatch(client.buf.String()) f, _ := strconv.ParseFloat(match[1], 64) return f } if err := teststat.TestGauge(gauge, value); err != nil { t.Fatal(err) } }
func TestGauge(t *testing.T) { const name = "def" var val float64 s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var res map[string]struct { Value string `json:"_value"` } json.NewDecoder(r.Body).Decode(&res) val, _ = strconv.ParseFloat(res[name].Value, 64) })) defer s.Close() m := newCirconusMetrics(s.URL) gauge := New(m).NewGauge(name).With("label values", "not supported") value := func() float64 { m.Flush(); return val } if err := teststat.TestGauge(gauge, value); err != nil { t.Fatal(err) } }