Merge pull request #139619 from Jefftree/cacher-init-concurrent-decode-bench

apiserver: exercise ConcurrentWatchObjectDecode on/off in BenchmarkCacherInit
This commit is contained in:
Kubernetes Prow Robot 2026-06-11 00:49:13 +05:30 committed by GitHub
commit 4a1340bfd5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -65,26 +65,30 @@ func BenchmarkCacherInit(b *testing.B) {
}
for _, rangeStream := range []bool{false, true} {
b.Run(fmt.Sprintf("RangeStream=%v", rangeStream), func(b *testing.B) {
featuregatetesting.SetFeatureGateDuringTest(b, utilfeature.DefaultFeatureGate, features.EtcdRangeStream, rangeStream)
for _, concurrentDecode := range []bool{false, true} {
name := fmt.Sprintf("RangeStream=%v/ConcurrentDecode=%v", rangeStream, concurrentDecode)
b.Run(name, func(b *testing.B) {
featuregatetesting.SetFeatureGateDuringTest(b, utilfeature.DefaultFeatureGate, features.EtcdRangeStream, rangeStream)
featuregatetesting.SetFeatureGateDuringTest(b, utilfeature.DefaultFeatureGate, features.ConcurrentWatchObjectDecode, concurrentDecode)
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
cacher, err := NewCacherFromConfig(config)
if err != nil {
b.Fatal(err)
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
cacher, err := NewCacherFromConfig(config)
if err != nil {
b.Fatal(err)
}
if err := cacher.Wait(ctx); err != nil {
b.Fatal(err)
}
b.StopTimer()
cacher.Stop()
etcd3.TestOnlyResetResourceSizeEstimator(etcdStorage)
b.StartTimer()
}
if err := cacher.Wait(ctx); err != nil {
b.Fatal(err)
}
b.StopTimer()
cacher.Stop()
etcd3.TestOnlyResetResourceSizeEstimator(etcdStorage)
b.StartTimer()
}
b.ReportMetric(float64(pods), "pods/cache")
})
b.ReportMetric(float64(pods), "pods/cache")
})
}
}
}