Merge pull request #13259 from cli/fix-sample-rate-dimension-sync
Fix SetSampleRate not updating sample_rate dimension
This commit is contained in:
commit
3ad29588b8
2 changed files with 20 additions and 0 deletions
|
|
@ -14,6 +14,7 @@ import (
|
|||
"path/filepath"
|
||||
"runtime"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
|
@ -283,6 +284,7 @@ func (s *service) SetSampleRate(rate int) {
|
|||
defer s.mu.Unlock()
|
||||
|
||||
s.sampleRate = rate
|
||||
s.commonDimensions["sample_rate"] = strconv.Itoa(rate)
|
||||
}
|
||||
|
||||
func (s *service) Flush() {
|
||||
|
|
|
|||
|
|
@ -579,6 +579,24 @@ func TestServiceSampling(t *testing.T) {
|
|||
assert.False(t, called, "flusher should not be called after SetSampleRate reduced the rate")
|
||||
})
|
||||
|
||||
t.Run("SetSampleRate updates sample_rate dimension", func(t *testing.T) {
|
||||
t.Cleanup(stubDeviceID("test-device"))
|
||||
|
||||
var captured SendTelemetryPayload
|
||||
svc := newService(func(p SendTelemetryPayload) { captured = p }, ghtelemetry.Dimensions{
|
||||
"sample_rate": "1",
|
||||
})
|
||||
svc.sampleRate = 1
|
||||
svc.sampleBucket = 0
|
||||
|
||||
svc.SetSampleRate(100)
|
||||
svc.Record(ghtelemetry.Event{Type: "test"})
|
||||
svc.Flush()
|
||||
|
||||
require.Len(t, captured.Events, 1)
|
||||
assert.Equal(t, "100", captured.Events[0].Dimensions["sample_rate"])
|
||||
})
|
||||
|
||||
t.Run("WithSampleRate option sets rate on construction", func(t *testing.T) {
|
||||
t.Cleanup(stubDeviceID("test-device"))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue