librato - ActiveState ActiveGo 1.8
...

Package librato

import "github.com/rcrowley/go-metrics/librato"
Overview
Index

Overview ▾

Constants

property strings

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/metrics"
)
const Operations = "operations"
const OperationsShort = "ops"

func Librato

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

type Batch

type Batch struct {
    Gauges      []Measurement `json:"gauges,omitempty"`
    Counters    []Measurement `json:"counters,omitempty"`
    MeasureTime int64         `json:"measure_time"`
    Source      string        `json:"source"`
}

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
    Namespace       string
    Source          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, s 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()