aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go')
-rw-r--r--Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go114
1 files changed, 0 insertions, 114 deletions
diff --git a/Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go b/Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go
deleted file mode 100644
index 0163c9b42..000000000
--- a/Godeps/_workspace/src/github.com/rcrowley/go-metrics/influxdb/influxdb.go
+++ /dev/null
@@ -1,114 +0,0 @@
-package influxdb
-
-import (
- "fmt"
- influxClient "github.com/influxdb/influxdb/client"
- "github.com/rcrowley/go-metrics"
- "log"
- "time"
-)
-
-type Config struct {
- Host string
- Database string
- Username string
- Password string
-}
-
-func Influxdb(r metrics.Registry, d time.Duration, config *Config) {
- client, err := influxClient.NewClient(&influxClient.ClientConfig{
- Host: config.Host,
- Database: config.Database,
- Username: config.Username,
- Password: config.Password,
- })
- if err != nil {
- log.Println(err)
- return
- }
-
- for _ = range time.Tick(d) {
- if err := send(r, client); err != nil {
- log.Println(err)
- }
- }
-}
-
-func send(r metrics.Registry, client *influxClient.Client) error {
- series := []*influxClient.Series{}
-
- r.Each(func(name string, i interface{}) {
- now := getCurrentTime()
- switch metric := i.(type) {
- case metrics.Counter:
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.count", name),
- Columns: []string{"time", "count"},
- Points: [][]interface{}{
- {now, metric.Count()},
- },
- })
- case metrics.Gauge:
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.value", name),
- Columns: []string{"time", "value"},
- Points: [][]interface{}{
- {now, metric.Value()},
- },
- })
- case metrics.GaugeFloat64:
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.value", name),
- Columns: []string{"time", "value"},
- Points: [][]interface{}{
- {now, metric.Value()},
- },
- })
- case metrics.Histogram:
- h := metric.Snapshot()
- ps := h.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.histogram", name),
- Columns: []string{"time", "count", "min", "max", "mean", "std-dev",
- "50-percentile", "75-percentile", "95-percentile",
- "99-percentile", "999-percentile"},
- Points: [][]interface{}{
- {now, h.Count(), h.Min(), h.Max(), h.Mean(), h.StdDev(),
- ps[0], ps[1], ps[2], ps[3], ps[4]},
- },
- })
- case metrics.Meter:
- m := metric.Snapshot()
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.meter", name),
- Columns: []string{"count", "one-minute",
- "five-minute", "fifteen-minute", "mean"},
- Points: [][]interface{}{
- {m.Count(), m.Rate1(), m.Rate5(), m.Rate15(), m.RateMean()},
- },
- })
- case metrics.Timer:
- h := metric.Snapshot()
- ps := h.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
- series = append(series, &influxClient.Series{
- Name: fmt.Sprintf("%s.timer", name),
- Columns: []string{"count", "min", "max", "mean", "std-dev",
- "50-percentile", "75-percentile", "95-percentile",
- "99-percentile", "999-percentile", "one-minute", "five-minute", "fifteen-minute", "mean-rate"},
- Points: [][]interface{}{
- {h.Count(), h.Min(), h.Max(), h.Mean(), h.StdDev(),
- ps[0], ps[1], ps[2], ps[3], ps[4],
- h.Rate1(), h.Rate5(), h.Rate15(), h.RateMean()},
- },
- })
- }
- })
- if err := client.WriteSeries(series); err != nil {
- log.Println(err)
- }
- return nil
-}
-
-func getCurrentTime() int64 {
- return time.Now().UnixNano() / 1000000
-}