Documentation ¶
Overview ¶
Example of using the graphiteNop feature in action:
package mylib import ( "github.com/marpaia/graphite-golang" "log" ) func init() { // load your configuration file / mechanism config := newConfig() // try to connect a graphite server if config.GraphiteEnabled { Graphite, err = graphite.NewGraphite(config.Graphite.Host, config.Graphite.Port) } else { Graphite = graphite.NewGraphiteNop(config.Graphite.Host, config.Graphite.Port) } // if you couldn't connect to graphite, use a nop if err != nil { Graphite = graphite.NewGraphiteNop(config.Graphite.Host, config.Graphite.Port) } log.Printf("Loaded Graphite connection: %#v", Graphite) Graphite.SimpleSend("stats.graphite_loaded", 1) } func doWork() { // this will work just fine, regardless of if you're working with a graphite // nop or not Graphite.SimpleSend("stats.doing_work", 1) }
Index ¶
- type Graphite
- func GraphiteFactory(protocol string, host string, port int, prefix string) (*Graphite, error)
- func NewGraphite(host string, port int) (*Graphite, error)
- func NewGraphiteNop(host string, port int) *Graphite
- func NewGraphiteUDP(host string, port int) (*Graphite, error)
- func NewGraphiteWithMetricPrefix(host string, port int, prefix string) (*Graphite, error)
- func (graphite *Graphite) Connect() error
- func (graphite *Graphite) Disconnect() error
- func (graphite *Graphite) IsNop() bool
- func (graphite *Graphite) SendMetric(metric Metric) error
- func (graphite *Graphite) SendMetrics(metrics []Metric) error
- func (graphite *Graphite) SimpleSend(stat string, value string) error
- type Metric
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Graphite ¶
type Graphite struct { Host string Port int Protocol string Timeout time.Duration Prefix string DisableLog bool // contains filtered or unexported fields }
Graphite is a struct that defines the relevant properties of a graphite connection
func GraphiteFactory ¶
func NewGraphite ¶
NewGraphite is a factory method that's used to create a new Graphite
func NewGraphiteNop ¶
NewGraphiteNop is a factory method that returns a Graphite struct but will not actually try to send any packets to a remote host and, instead, will just log. This is useful if you want to use Graphite in a project but don't want to make Graphite a requirement for the project.
func NewGraphiteUDP ¶
When a UDP connection to Graphite is required
func NewGraphiteWithMetricPrefix ¶
NewGraphiteWithMetricPrefix is a factory method that's used to create a new Graphite with a metric prefix
func (*Graphite) Connect ¶
Given a Graphite struct, Connect populates the Graphite.conn field with an appropriate TCP connection
func (*Graphite) Disconnect ¶
Given a Graphite struct, Disconnect closes the Graphite.conn field
func (*Graphite) SendMetric ¶
Given a Metric struct, the SendMetric method sends the supplied metric to the Graphite connection that the method is called upon
func (*Graphite) SendMetrics ¶
Given a slice of Metrics, the SendMetrics method sends the metrics, as a batch, to the Graphite connection that the method is called upon