statsd

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2021 License: MIT Imports: 6 Imported by: 4

README

statsd

statsd is a client library for statsd written in Go.

Installation

Download and install :

$ go get github.com/cyberdelia/statsd

Add it to your code :

import "github.com/cyberdelia/statsd"

Use

c := statsd.Dial("localhost:8125")
c.Increment("incr", 1, 1)
c.Decrement("decr", 1, 0.1)
c.Timing("timer", 320, 0.1)
c.Time("timer", 0.1, func() {
        // do something  
})
c.Gauge("gauge", 30, 1)
c.Unique("unique", 765, 1)

Documentation

Overview

Statsd client

Supports counting, sampling, timing, gauges, sets and multi-metrics packet.

Using the client to increment a counter:

client, err := statsd.Dial("127.0.0.1:8125")
if err != nil {
	// handle error
}
defer client.Close()
err = client.Increment("buckets", 1, 1)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is statsd client representing a connection to a statsd server.

func Dial

func Dial(addr string) (*Client, error)

Dial connects to the given address on the given network using net.Dial and then returns a new Client for the connection.

func DialSize

func DialSize(addr string, size int) (*Client, error)

DialSize acts like Dial but takes a packet size. Packet size limits the size of metric batches (as well as the size of individual metrics). If size is 0, the default packet size of 512 bytes is used. Guidelines for packet size can be found in the statsd documentation (https://github.com/etsy/statsd/blob/master/docs/metric_types.md#multi-metric-packets).

func DialTimeout

func DialTimeout(addr string, timeout time.Duration) (*Client, error)

DialTimeout acts like Dial but takes a timeout. The timeout includes name resolution, if required.

func (*Client) Close

func (c *Client) Close() error

Close closes the connection.

func (*Client) Decrement

func (c *Client) Decrement(stat string, count int, rate float64) error

Decrement decrements the counter for the given bucket.

func (*Client) DecrementGauge

func (c *Client) DecrementGauge(stat string, value int, rate float64) error

DecrementGauge decrements the value of the gauge.

func (*Client) Duration

func (c *Client) Duration(stat string, duration time.Duration, rate float64) error

Duration records time spent for the given bucket with time.Duration.

func (*Client) Flush

func (c *Client) Flush() error

Flush flushes writes any buffered data to the network.

func (*Client) Gauge

func (c *Client) Gauge(stat string, value int, rate float64) error

Gauge records arbitrary values for the given bucket.

func (*Client) Increment

func (c *Client) Increment(stat string, count int, rate float64) error

Increment increments the counter for the given bucket.

func (*Client) IncrementGauge

func (c *Client) IncrementGauge(stat string, value int, rate float64) error

IncrementGauge increments the value of the gauge.

func (*Client) Time

func (c *Client) Time(stat string, rate float64, f func()) error

Time calculates time spent in given function and send it.

func (*Client) Timing

func (c *Client) Timing(stat string, delta int, rate float64) error

Timing records time spent for the given bucket in milliseconds.

func (*Client) Unique

func (c *Client) Unique(stat string, value int, rate float64) error

Unique records unique occurences of events.

Jump to

Keyboard shortcuts

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