librato

package module
v0.0.0-...-1452382 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2017 License: BSD-2-Clause Imports: 10 Imported by: 0

README

This is a reporter for the go-metrics library which will post the metrics to Librato. It was originally part of the go-metrics library itself, but has been split off to make maintenance of both the core library and the client easier.

Usage

import "github.com/mihasya/go-metrics-librato"

tags := make(map[string]string)
tags["hostname"] = "myhost"
tags["service"] = "hello-world"

go librato.Librato(metrics.DefaultRegistry,
    10e9,                  // interval
    "example@example.com", // account owner email address
    "token",               // Librato API token
    tags,            	   // tags
    []float64{0.95},       // percentiles to send
    time.Millisecond,      // time unit
)

About this version

This is a fork of github.com/mihasya/go-metrics-librato, trivially switching form the Metrics API (source based) to the Measurements API (tag based).

Documentation

Index

Constants

View Source
const (
	// display attributes
	Color             = "color"
	DisplayMax        = "display_max"
	DisplayMin        = "display_min"
	DisplayUnitsLong  = "display_units_long"
	DisplayUnitsShort = "display_units_short"
	DisplayStacked    = "display_stacked"
	DisplayTransform  = "display_transform"
	// special gauge display attributes
	SummarizeFunction = "summarize_function"
	Aggregate         = "aggregate"

	// metric keys
	Name        = "name"
	Period      = "period"
	Description = "description"
	DisplayName = "display_name"
	Attributes  = "attributes"

	// measurement keys
	MeasureTime = "measure_time"
	Source      = "source"
	Value       = "value"

	// special gauge keys
	Count      = "count"
	Sum        = "sum"
	Max        = "max"
	Min        = "min"
	SumSquares = "sum_squares"

	// batch keys
	Counters = "counters"
	Gauges   = "gauges"

	MetricsPostUrl = "https://metrics-api.librato.com/v1/measurements"
)

property strings

View Source
const Operations = "operations"
View Source
const OperationsShort = "ops"

Variables

This section is empty.

Functions

func Librato

func Librato(r metrics.Registry, d time.Duration, e string, t string, tags map[string]string, p []float64, u time.Duration)

Types

type Batch

type Batch struct {
	Measurements []Measurement     `json:"measurements"`
	MeasureTime  int64             `json:"time"`
	Tags         map[string]string `json:"tags"`
}

type LibratoClient

type LibratoClient struct {
	Email, Token string
}

func (*LibratoClient) PostMetrics

func (self *LibratoClient) PostMetrics(batch Batch) (err error)

type Measurement

type Measurement map[string]interface{}

type Metric

type Metric map[string]interface{}

type Reporter

type Reporter struct {
	Email, Token    string
	Tags            map[string]string
	Interval        time.Duration
	Registry        metrics.Registry
	Percentiles     []float64              // percentiles to report on histogram metrics
	TimerAttributes map[string]interface{} // units in which timers will be displayed
	// contains filtered or unexported fields
}

func NewReporter

func NewReporter(r metrics.Registry, d time.Duration, e string, t string, tags map[string]string, p []float64, u time.Duration) *Reporter

func (*Reporter) BuildRequest

func (self *Reporter) BuildRequest(now time.Time, r metrics.Registry) (snapshot Batch, err error)

func (*Reporter) Run

func (self *Reporter) Run()

Jump to

Keyboard shortcuts

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