1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package client
- import (
- metrics "github.com/rcrowley/go-metrics"
- )
- const (
- sampleSize int = 1028
- sampleAlpha float64 = 0.015
- )
- type ClientMetrics struct {
- // metrics
- connGauge metrics.Gauge
- connMeter metrics.Meter
- connTimer metrics.Timer
- reqGauge metrics.Gauge
- reqMeter metrics.Meter
- reqTimer metrics.Timer
- proxySetupTimer metrics.Timer
- bytesIn metrics.Histogram
- bytesOut metrics.Histogram
- bytesInCount metrics.Counter
- bytesOutCount metrics.Counter
- }
- func NewClientMetrics() *ClientMetrics {
- return &ClientMetrics{
- connGauge: metrics.NewGauge(),
- connMeter: metrics.NewMeter(),
- connTimer: metrics.NewTimer(),
- reqGauge: metrics.NewGauge(),
- reqMeter: metrics.NewMeter(),
- reqTimer: metrics.NewTimer(),
- proxySetupTimer: metrics.NewTimer(),
- bytesIn: metrics.NewHistogram(metrics.NewExpDecaySample(sampleSize, sampleAlpha)),
- bytesOut: metrics.NewHistogram(metrics.NewExpDecaySample(sampleSize, sampleAlpha)),
- bytesInCount: metrics.NewCounter(),
- bytesOutCount: metrics.NewCounter(),
- }
- }
|