forked from sokil/go-statsd-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient_bench_test.go
52 lines (42 loc) · 995 Bytes
/
client_bench_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package statsd
import (
"testing"
"time"
)
const (
host = "localhost"
port = 8125
prefix = "prefix."
prefixNoDot = "prefix"
counterKey = "foo.bar.counter"
gaugeKey = "foo.bar.gauge"
gaugeValue = 42
timingKey = "foo.bar.timing"
timingValue = 153 * time.Millisecond
flushPeriod = 10 * time.Millisecond
)
func BenchmarkBuffered(b *testing.B) {
client := NewBufferedClient(host, port)
client.Open()
client.SetPrefix(prefix)
client.SetFlushInterval(flushPeriod)
b.ResetTimer()
for i := 0; i < b.N; i++ {
client.Count(counterKey, 1, 1)
client.Gauge(gaugeKey, gaugeValue)
client.Timing(timingKey, int64(timingValue), 1)
}
client.Close()
}
func BenchmarkNotBuffered(b *testing.B) {
client := NewClient(host, port)
client.SetPrefix(prefix)
client.Open()
b.ResetTimer()
for i := 0; i < b.N; i++ {
client.Count(counterKey, 1, 1)
client.Gauge(gaugeKey, gaugeValue)
client.Timing(timingKey, int64(timingValue), 1)
}
client.Close()
}