Remove alpha init containers from benchmarks (skews results)

This commit is contained in:
Clayton Coleman 2016-05-20 15:01:53 -04:00
parent c730198aad
commit 404a1b1dc5
No known key found for this signature in database
GPG Key ID: 3D16906B4F1C5CB3
2 changed files with 10 additions and 6 deletions

View File

@ -25,6 +25,7 @@ import (
"k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/testapi"
apitesting "k8s.io/kubernetes/pkg/api/testing" apitesting "k8s.io/kubernetes/pkg/api/testing"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/diff"
) )
func BenchmarkPodConversion(b *testing.B) { func BenchmarkPodConversion(b *testing.B) {
@ -32,6 +33,8 @@ func BenchmarkPodConversion(b *testing.B) {
items := make([]api.Pod, 4) items := make([]api.Pod, 4)
for i := range items { for i := range items {
apiObjectFuzzer.Fuzz(&items[i]) apiObjectFuzzer.Fuzz(&items[i])
items[i].Spec.InitContainers = nil
items[i].Status.InitContainerStatuses = nil
} }
// add a fixed item // add a fixed item
@ -47,20 +50,16 @@ func BenchmarkPodConversion(b *testing.B) {
width := len(items) width := len(items)
scheme := api.Scheme scheme := api.Scheme
var result *api.Pod
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
pod := &items[i%width] pod := &items[i%width]
versionedObj, err := scheme.UnsafeConvertToVersion(pod, *testapi.Default.GroupVersion()) versionedObj, err := scheme.UnsafeConvertToVersion(pod, *testapi.Default.GroupVersion())
if err != nil { if err != nil {
b.Fatalf("Conversion error: %v", err) b.Fatalf("Conversion error: %v", err)
} }
obj, err := scheme.UnsafeConvertToVersion(versionedObj, testapi.Default.InternalGroupVersion()) if _, err = scheme.UnsafeConvertToVersion(versionedObj, testapi.Default.InternalGroupVersion()); err != nil {
if err != nil {
b.Fatalf("Conversion error: %v", err) b.Fatalf("Conversion error: %v", err)
} }
result = obj.(*api.Pod)
} }
b.Log(result)
} }
func BenchmarkNodeConversion(b *testing.B) { func BenchmarkNodeConversion(b *testing.B) {
@ -75,6 +74,7 @@ func BenchmarkNodeConversion(b *testing.B) {
scheme := api.Scheme scheme := api.Scheme
var result *api.Node var result *api.Node
b.ResetTimer()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
versionedObj, err := scheme.UnsafeConvertToVersion(&node, *testapi.Default.GroupVersion()) versionedObj, err := scheme.UnsafeConvertToVersion(&node, *testapi.Default.GroupVersion())
if err != nil { if err != nil {
@ -86,8 +86,9 @@ func BenchmarkNodeConversion(b *testing.B) {
} }
result = obj.(*api.Node) result = obj.(*api.Node)
} }
b.StopTimer()
if !api.Semantic.DeepDerivative(node, *result) { if !api.Semantic.DeepDerivative(node, *result) {
b.Fatalf("Incorrect conversion: expected %v, got %v", node, *result) b.Fatalf("Incorrect conversion: %s", diff.ObjectDiff(node, *result))
} }
} }
@ -103,6 +104,7 @@ func BenchmarkReplicationControllerConversion(b *testing.B) {
scheme := api.Scheme scheme := api.Scheme
var result *api.ReplicationController var result *api.ReplicationController
b.ResetTimer()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
versionedObj, err := scheme.UnsafeConvertToVersion(&replicationController, *testapi.Default.GroupVersion()) versionedObj, err := scheme.UnsafeConvertToVersion(&replicationController, *testapi.Default.GroupVersion())
if err != nil { if err != nil {
@ -114,6 +116,7 @@ func BenchmarkReplicationControllerConversion(b *testing.B) {
} }
result = obj.(*api.ReplicationController) result = obj.(*api.ReplicationController)
} }
b.StopTimer()
if !api.Semantic.DeepDerivative(replicationController, *result) { if !api.Semantic.DeepDerivative(replicationController, *result) {
b.Fatalf("Incorrect conversion: expected %v, got %v", replicationController, *result) b.Fatalf("Incorrect conversion: expected %v, got %v", replicationController, *result)
} }

View File

@ -358,6 +358,7 @@ func benchmarkItems() []v1.Pod {
for i := range items { for i := range items {
var pod api.Pod var pod api.Pod
apiObjectFuzzer.Fuzz(&pod) apiObjectFuzzer.Fuzz(&pod)
pod.Spec.InitContainers, pod.Status.InitContainerStatuses = nil, nil
out, err := api.Scheme.ConvertToVersion(&pod, v1.SchemeGroupVersion) out, err := api.Scheme.ConvertToVersion(&pod, v1.SchemeGroupVersion)
if err != nil { if err != nil {
panic(err) panic(err)