Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- type LogClient
- type MemoryClient
- func (sc *MemoryClient) BuildTimer() timer.Timer
- func (sc *MemoryClient) Close() error
- func (sc *MemoryClient) ResetHTTPRequestSection() Client
- func (sc *MemoryClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
- func (sc *MemoryClient) SetHTTPRequestSection(section string) Client
- func (sc *MemoryClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
- func (sc *MemoryClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, ...) Client
- func (sc *MemoryClient) TrackRequest(r *http.Request, t timer.Timer, success bool) Client
- func (sc *MemoryClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
- type NoopClient
- func (c *NoopClient) BuildTimer() timer.Timer
- func (c *NoopClient) Close() error
- func (c *NoopClient) ResetHTTPRequestSection() Client
- func (c *NoopClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
- func (c *NoopClient) SetHTTPRequestSection(section string) Client
- func (c *NoopClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
- func (c *NoopClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, ...) Client
- func (c *NoopClient) TrackRequest(r *http.Request, t timer.Timer, success bool) Client
- func (c *NoopClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
- type StatsdClient
- func (sc *StatsdClient) BuildTimer() timer.Timer
- func (sc *StatsdClient) Close() error
- func (sc *StatsdClient) ResetHTTPRequestSection() Client
- func (sc *StatsdClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
- func (sc *StatsdClient) SetHTTPRequestSection(section string) Client
- func (sc *StatsdClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
- func (sc *StatsdClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, ...) Client
- func (sc *StatsdClient) TrackRequest(r *http.Request, t timer.Timer, success bool) Client
- func (sc *StatsdClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
Constants ¶
const ( // StatsD is a dsn scheme value for statsd client StatsD = "statsd" // Log is a dsn scheme value for log client Log = "log" // Memory is a dsn scheme value for memory client Memory = "memory" // Noop is a dsn scheme value for noop client Noop = "noop" )
Variables ¶
var ErrUnknownClient = errors.New("Unknown stats client type")
ErrUnknownClient is an error returned when trying to create stats client of unknown type
Functions ¶
This section is empty.
Types ¶
type Client ¶ added in v0.2.0
type Client interface {
// BuildTimer builds timer to track metric timings
BuildTimer() timer.Timer
// Close closes underlying client connection if any
Close() error
// TrackRequest tracks HTTP Request stats
TrackRequest(r *http.Request, t timer.Timer, success bool) Client
// TrackOperation tracks custom operation
TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
// TrackOperationN tracks custom operation with n diff
TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, success bool) Client
// TrackState tracks metric absolute value
TrackState(section string, operation bucket.MetricOperation, value int) Client
// SetHTTPMetricCallback sets callback handler that allows metric operation alteration for HTTP Request
SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
// SetHTTPRequestSection sets metric section for HTTP Request metrics
SetHTTPRequestSection(section string) Client
// ResetHTTPRequestSection resets metric section for HTTP Request metrics to default value that is "request"
ResetHTTPRequestSection() Client
}
Client is an interface for different methods of gathering stats
type LogClient ¶ added in v0.2.0
type LogClient struct {
*StatsdClient
}
LogClient is Client implementation for debug log
func NewLogClient ¶ added in v0.2.0
func NewLogClient() *LogClient
NewLogClient builds and returns new LogClient instance
type MemoryClient ¶ added in v0.2.0
type MemoryClient struct {
sync.Mutex
TimerMetrics []timer.Metric
CountMetrics map[string]int
StateMetrics map[string]int
// contains filtered or unexported fields
}
MemoryClient is Client implementation for tests
func NewMemoryClient ¶ added in v0.2.0
func NewMemoryClient() *MemoryClient
NewMemoryClient builds and returns new MemoryClient instance
func (*MemoryClient) BuildTimer ¶ added in v0.3.0
func (sc *MemoryClient) BuildTimer() timer.Timer
BuildTimer builds timer to track metric timings
func (*MemoryClient) Close ¶ added in v0.2.0
func (sc *MemoryClient) Close() error
Close resets all collected stats
func (*MemoryClient) ResetHTTPRequestSection ¶ added in v0.2.0
func (sc *MemoryClient) ResetHTTPRequestSection() Client
ResetHTTPRequestSection resets metric section for HTTP Request metrics to default value that is "request"
func (*MemoryClient) SetHTTPMetricCallback ¶ added in v0.2.0
func (sc *MemoryClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
SetHTTPMetricCallback sets callback handler that allows metric operation alteration for HTTP Request
func (*MemoryClient) SetHTTPRequestSection ¶ added in v0.2.0
func (sc *MemoryClient) SetHTTPRequestSection(section string) Client
SetHTTPRequestSection sets metric section for HTTP Request metrics
func (*MemoryClient) TrackOperation ¶ added in v0.2.0
func (sc *MemoryClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
TrackOperation tracks custom operation
func (*MemoryClient) TrackOperationN ¶ added in v0.2.0
func (sc *MemoryClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, success bool) Client
TrackOperationN tracks custom operation with n diff
func (*MemoryClient) TrackRequest ¶ added in v0.2.0
TrackRequest tracks HTTP Request stats
func (*MemoryClient) TrackState ¶ added in v0.3.0
func (sc *MemoryClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
TrackState tracks metric absolute value
type NoopClient ¶ added in v0.2.1
type NoopClient struct{}
NoopClient is Client implementation that does literally nothing
func NewNoopClient ¶ added in v0.2.1
func NewNoopClient() *NoopClient
NewNoopClient builds and returns new NoopClient instance
func (*NoopClient) BuildTimer ¶ added in v0.3.0
func (c *NoopClient) BuildTimer() timer.Timer
BuildTimer builds timer to track metric timings
func (*NoopClient) Close ¶ added in v0.2.1
func (c *NoopClient) Close() error
Close closes underlying client connection if any
func (*NoopClient) ResetHTTPRequestSection ¶ added in v0.2.1
func (c *NoopClient) ResetHTTPRequestSection() Client
ResetHTTPRequestSection resets metric section for HTTP Request metrics to default value that is "request"
func (*NoopClient) SetHTTPMetricCallback ¶ added in v0.2.1
func (c *NoopClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
SetHTTPMetricCallback sets callback handler that allows metric operation alteration for HTTP Request
func (*NoopClient) SetHTTPRequestSection ¶ added in v0.2.1
func (c *NoopClient) SetHTTPRequestSection(section string) Client
SetHTTPRequestSection sets metric section for HTTP Request metrics
func (*NoopClient) TrackOperation ¶ added in v0.2.1
func (c *NoopClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
TrackOperation tracks custom operation
func (*NoopClient) TrackOperationN ¶ added in v0.2.1
func (c *NoopClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, success bool) Client
TrackOperationN tracks custom operation with n diff
func (*NoopClient) TrackRequest ¶ added in v0.2.1
TrackRequest tracks HTTP Request stats
func (*NoopClient) TrackState ¶ added in v0.3.0
func (c *NoopClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
TrackState tracks metric absolute value
type StatsdClient ¶ added in v0.2.0
StatsdClient is Client implementation for statsd
func NewStatsdClient ¶ added in v0.2.0
func NewStatsdClient(dsn, prefix string) *StatsdClient
NewStatsdClient builds and returns new StatsdClient instance
func (*StatsdClient) BuildTimer ¶ added in v0.3.0
func (sc *StatsdClient) BuildTimer() timer.Timer
BuildTimer builds timer to track metric timings
func (*StatsdClient) Close ¶ added in v0.2.0
func (sc *StatsdClient) Close() error
Close statsd connection
func (*StatsdClient) ResetHTTPRequestSection ¶ added in v0.2.0
func (sc *StatsdClient) ResetHTTPRequestSection() Client
ResetHTTPRequestSection resets metric section for HTTP Request metrics to default value that is "request"
func (*StatsdClient) SetHTTPMetricCallback ¶ added in v0.2.0
func (sc *StatsdClient) SetHTTPMetricCallback(callback bucket.HTTPMetricNameAlterCallback) Client
SetHTTPMetricCallback sets callback handler that allows metric operation alteration for HTTP Request
func (*StatsdClient) SetHTTPRequestSection ¶ added in v0.2.0
func (sc *StatsdClient) SetHTTPRequestSection(section string) Client
SetHTTPRequestSection sets metric section for HTTP Request metrics
func (*StatsdClient) TrackOperation ¶ added in v0.2.0
func (sc *StatsdClient) TrackOperation(section string, operation bucket.MetricOperation, t timer.Timer, success bool) Client
TrackOperation tracks custom operation
func (*StatsdClient) TrackOperationN ¶ added in v0.2.0
func (sc *StatsdClient) TrackOperationN(section string, operation bucket.MetricOperation, t timer.Timer, n int, success bool) Client
TrackOperationN tracks custom operation with n diff
func (*StatsdClient) TrackRequest ¶ added in v0.2.0
TrackRequest tracks HTTP Request stats
func (*StatsdClient) TrackState ¶ added in v0.3.0
func (sc *StatsdClient) TrackState(section string, operation bucket.MetricOperation, value int) Client
TrackState tracks metric absolute value