BasicSampler prints first message (fix #104)
This commit is contained in:
parent
b6f076edc8
commit
1dde226d45
|
@ -398,7 +398,7 @@ func TestSampling(t *testing.T) {
|
||||||
log.Log().Int("i", 2).Msg("")
|
log.Log().Int("i", 2).Msg("")
|
||||||
log.Log().Int("i", 3).Msg("")
|
log.Log().Int("i", 3).Msg("")
|
||||||
log.Log().Int("i", 4).Msg("")
|
log.Log().Int("i", 4).Msg("")
|
||||||
if got, want := decodeIfBinaryToString(out.Bytes()), "{\"i\":2}\n{\"i\":4}\n"; got != want {
|
if got, want := decodeIfBinaryToString(out.Bytes()), "{\"i\":1}\n{\"i\":3}\n"; got != want {
|
||||||
t.Errorf("invalid log output:\ngot: %v\nwant: %v", got, want)
|
t.Errorf("invalid log output:\ngot: %v\nwant: %v", got, want)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ type BasicSampler struct {
|
||||||
// Sample implements the Sampler interface.
|
// Sample implements the Sampler interface.
|
||||||
func (s *BasicSampler) Sample(lvl Level) bool {
|
func (s *BasicSampler) Sample(lvl Level) bool {
|
||||||
c := atomic.AddUint32(&s.counter, 1)
|
c := atomic.AddUint32(&s.counter, 1)
|
||||||
return c%s.N == 0
|
return c%s.N == s.N-1
|
||||||
}
|
}
|
||||||
|
|
||||||
// BurstSampler lets Burst events pass per Period then pass the decision to
|
// BurstSampler lets Burst events pass per Period then pass the decision to
|
||||||
|
|
|
@ -15,7 +15,14 @@ var samplers = []struct {
|
||||||
wantMax int
|
wantMax int
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
"BasicSampler",
|
"BasicSampler_1",
|
||||||
|
func() Sampler {
|
||||||
|
return &BasicSampler{N: 1}
|
||||||
|
},
|
||||||
|
100, 100, 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BasicSampler_5",
|
||||||
func() Sampler {
|
func() Sampler {
|
||||||
return &BasicSampler{N: 5}
|
return &BasicSampler{N: 5}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue