Skip to content

Commit

Permalink
[Ajat|Baskara] set default flushBytes to LANStatsdFlushBytes
Browse files Browse the repository at this point in the history
  • Loading branch information
ajatprabha committed Jul 1, 2019
1 parent 71294ee commit c974229
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
12 changes: 11 additions & 1 deletion pkg/plugins/statsd_collector.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ import (
"time"
)

// https://github.com/etsy/statsd/blob/master/docs/metric_types.md#multi-metric-packets
const (
WANStatsdFlushBytes = 512
LANStatsdFlushBytes = 1432
GigabitStatsdFlushBytes = 8932
)

type StatsdCollectorClient struct {
client statsd.Statter
sampleRate float32
Expand All @@ -18,12 +25,15 @@ type StatsdCollectorConfig struct {
Prefix string
// StatsdSampleRate sets statsd sampling. If 0, defaults to 1.0. (no sampling)
SampleRate float32
// FlushBytes sets message size for statsd packets.
// FlushBytes sets message size for statsd packets. If 0, defaults to LANFlushSize.
FlushBytes int
}

func InitializeStatsdCollector(config *StatsdCollectorConfig) (*StatsdCollectorClient, error) {
flushBytes := config.FlushBytes
if flushBytes == 0 {
flushBytes = LANStatsdFlushBytes
}

sampleRate := config.SampleRate
if sampleRate == 0 {
Expand Down
2 changes: 1 addition & 1 deletion pkg/plugins/statsd_collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func TestInitializeStatsdCollector(t *testing.T) {
assert.Equal(t, float32(1), scc.sampleRate)

// Test Statter client
scc, err = InitializeStatsdCollector(&StatsdCollectorConfig{})
scc, err = InitializeStatsdCollector(&StatsdCollectorConfig{FlushBytes: 0})
assert.Nil(t, err)
assert.NotNil(t, scc)
assert.NotNil(t, scc.client)
Expand Down

0 comments on commit c974229

Please sign in to comment.