Skip to content

Commit

Permalink
Add read_buffer_size option to statsd input (influxdata#4598)
Browse files Browse the repository at this point in the history
  • Loading branch information
danielnelson authored and Jean-Louis Dupond committed Apr 22, 2019
1 parent 1d620c1 commit 2f95348
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
4 changes: 4 additions & 0 deletions plugins/inputs/statsd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@
## calculation of percentiles. Raising this limit increases the accuracy
## of percentiles but also increases the memory usage and cpu time.
percentile_limit = 1000

## Maximum socket buffer size in bytes, once the buffer fills up, metrics
## will start dropping. Defaults to the OS default.
# read_buffer_size = 65535
```

### Description
Expand Down
6 changes: 6 additions & 0 deletions plugins/inputs/statsd/statsd.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ type Statsd struct {
// see https://github.com/influxdata/telegraf/pull/992
UDPPacketSize int `toml:"udp_packet_size"`

ReadBufferSize int `toml:"read_buffer_size"`

sync.Mutex
// Lock for preventing a data race during resource cleanup
cleanup sync.Mutex
Expand Down Expand Up @@ -411,6 +413,10 @@ func (s *Statsd) udpListen() error {
}
log.Println("I! Statsd UDP listener listening on: ", s.UDPlistener.LocalAddr().String())

if s.ReadBufferSize > 0 {
s.UDPlistener.SetReadBuffer(s.ReadBufferSize)
}

buf := make([]byte, UDP_MAX_PACKET_SIZE)
for {
select {
Expand Down

0 comments on commit 2f95348

Please sign in to comment.