MCPcopy
hub / github.com/grafana/dskit / benchmarkShuffleSharding

Function benchmarkShuffleSharding

ring/ring_test.go:3724–3735  ·  view source on GitHub ↗
(b *testing.B, numInstances, numZones, numTokens, shardSize int, cache bool)

Source from the content-addressed store, hash-verified

3722}
3723
3724func benchmarkShuffleSharding(b *testing.B, numInstances, numZones, numTokens, shardSize int, cache bool) {
3725 // Initialise the ring.
3726 ringDesc := &Desc{Ingesters: generateRingInstances(initTokenGenerator(b), numInstances, numZones, numTokens)}
3727 ring := newRingForTesting(Config{HeartbeatTimeout: time.Hour, ZoneAwarenessEnabled: true, SubringCacheDisabled: !cache}, true)
3728 ring.setRingStateFromDesc(ringDesc, false, false, true)
3729
3730 b.ResetTimer()
3731
3732 for n := 0; n < b.N; n++ {
3733 ring.ShuffleShard("tenant-1", shardSize)
3734 }
3735}
3736
3737func BenchmarkRing_Get(b *testing.B) {
3738 benchCases := map[string]struct {

Calls 5

generateRingInstancesFunction · 0.85
initTokenGeneratorFunction · 0.85
newRingForTestingFunction · 0.85
setRingStateFromDescMethod · 0.80
ShuffleShardMethod · 0.65

Tested by

no test coverage detected