Documentation
¶
Overview ¶
Package statsd provides a Go dogstatsd client. Dogstatsd extends the popular statsd, adding tags and histograms and pushing upstream to Datadog.
Refer to http://docs.datadoghq.com/guides/dogstatsd/ for information about DogStatsD.
Example Usage:
// Create the client
c, err := statsd.New("127.0.0.1:8125")
if err != nil {
log.Fatal(err)
}
// Prefix every metric with the app name
c.Namespace = "flubber."
// Send the EC2 availability zone as a tag with every metric
c.Tags = append(c.Tags, "us-east-1a")
err = c.Gauge("request.duration", 1.2, nil, 1)
statsd is based on go-statsd-client.
Index ¶
- Constants
- type Client
- func (c *Client) Close() error
- func (c *Client) Count(name string, value int64, tags []string, rate float64) error
- func (c *Client) Event(e *Event) error
- func (c *Client) Gauge(name string, value float64, tags []string, rate float64) error
- func (c *Client) Histogram(name string, value float64, tags []string, rate float64) error
- func (c *Client) Set(name string, value string, tags []string, rate float64) error
- func (c *Client) SimpleEvent(title, text string) error
- func (c *Client) TimeInMilliseconds(name string, value float64, tags []string, rate float64) error
- type Event
Constants ¶
const ( // Info is the "info" AlertType for events Info eventAlertType = "info" // Error is the "error" AlertType for events Error eventAlertType = "error" // Warning is the "warning" AlertType for events Warning eventAlertType = "warning" // Success is the "success" AlertType for events Success eventAlertType = "success" )
const ( // Normal is the "normal" Priority for events Normal eventPriority = "normal" // Low is the "low" Priority for events Low eventPriority = "low" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// Namespace to prepend to all statsd calls
Namespace string
// Tags are global tags to be added to every statsd call
Tags []string
sync.Mutex
// contains filtered or unexported fields
}
A Client is a handle for sending udp messages to dogstatsd. It is safe to use one Client from multiple goroutines simultaneously.
func NewBuffered ¶
NewBuffered returns a Client that buffers its output and sends it in chunks. Buflen is the length of the buffer in number of commands.
func (*Client) SimpleEvent ¶
SimpleEvent sends an event with the provided title and text.
func (*Client) TimeInMilliseconds ¶
TimeInMilliseconds sends timing information in milliseconds. It is flushed by statsd with percentiles, mean and other info (https://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing)
type Event ¶
type Event struct {
// Title of the event. Required.
Title string
// Text is the description of the event. Required.
Text string
// Timestamp is a timestamp for the event. If not provided, the dogstatsd
// server will set this to the current time.
Timestamp time.Time
// Hostname for the event.
Hostname string
// AggregationKey groups this event with others of the same key.
AggregationKey string
// Priority of the event. Can be statsd.Low or statsd.Normal.
Priority eventPriority
// SourceTypeName is a source type for the event.
SourceTypeName string
// AlertType can be statsd.Info, statsd.Error, statsd.Warning, or statsd.Success.
// If absent, the default value applied by the dogstatsd server is Info.
AlertType eventAlertType
// Tags for the event.
Tags []string
}
An Event is an object that can be posted to your DataDog event stream.