influxdb

package module
v0.0.0-...-4363dad Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2017 License: MIT Imports: 7 Imported by: 0

README

go-metrics-influxdb

This is a reporter for the go-metrics library which will post the metrics to InfluxDB.

Note

This is only compatible with InfluxDB 0.9+.

Usage

import "github.com/vrischmann/go-metrics-influxdb"

go influxdb.InfluxDB(
    metrics.DefaultRegistry, // metrics registry
    time.Second * 10,        // interval
    "http://localhost:8086", // the InfluxDB url
    "mydb",                  // your InfluxDB database
    "myuser",                // your InfluxDB user
    "mypassword",            // your InfluxDB password
)

// recently added - support for tags per metric

type FieldMetadata struct {
    Name  string             `json:"n"` 
    Tags  map[string]string  `json:"t"`
}


fieldMetadata := influxdb.FieldMetadata{Name: "request", Tags: map[string]string{"status-code": strconv.Itoa(rw.StatusCode()), "method": req.Method, "path": uriPath}}
// tag metadata is encoded into the existing 'name' field for posting to influx, as json
meter := metrics.NewMeter()
//registry.GetOrRegister(fieldMetadata.String(), meter)

License

go-metrics-influxdb is licensed under the MIT license. See the LICENSE file for details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InfluxDB

func InfluxDB(r metrics.Registry, d time.Duration, url, database, username, password string)

InfluxDB starts a InfluxDB reporter which will post the metrics from the given registry at each d interval.

func InfluxDBWithTags

func InfluxDBWithTags(r metrics.Registry, d time.Duration, url, database, username, password string, tags map[string]string)

InfluxDBWithTags starts a InfluxDB reporter which will post the metrics from the given registry at each d interval with the specified tags

Types

type FieldMetadata

type FieldMetadata struct {
	Name string            `json:"n"`
	Tags map[string]string `json:"t"`
}

func (*FieldMetadata) String

func (f *FieldMetadata) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL