88 lines
1.7 KiB
Go
88 lines
1.7 KiB
Go
package watch
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
|
|
v1 "k8s.io/api/core/v1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
func BenchmarkPodFields(b *testing.B) {
|
|
p := NewPod(nil, "")
|
|
po := makePod()
|
|
ff := make(Row, podCols)
|
|
|
|
b.ResetTimer()
|
|
b.ReportAllocs()
|
|
|
|
for n := 0; n < b.N; n++ {
|
|
p.fields("", po, ff)
|
|
}
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Helpers...
|
|
|
|
func testTime() time.Time {
|
|
t, err := time.Parse(time.RFC3339, "2018-12-14T10:36:43.326972-07:00")
|
|
if err != nil {
|
|
fmt.Println("TestTime Failed", err)
|
|
}
|
|
return t
|
|
}
|
|
|
|
func makePod() *v1.Pod {
|
|
var i int32 = 1
|
|
var t = v1.HostPathDirectory
|
|
return &v1.Pod{
|
|
ObjectMeta: metav1.ObjectMeta{
|
|
Namespace: "blee",
|
|
Name: "fred",
|
|
Labels: map[string]string{"blee": "duh"},
|
|
CreationTimestamp: metav1.Time{Time: testTime()},
|
|
},
|
|
Spec: v1.PodSpec{
|
|
Priority: &i,
|
|
PriorityClassName: "bozo",
|
|
Containers: []v1.Container{
|
|
{
|
|
Name: "fred",
|
|
Image: "blee",
|
|
Env: []v1.EnvVar{
|
|
{
|
|
Name: "fred",
|
|
Value: "1",
|
|
ValueFrom: &v1.EnvVarSource{
|
|
ConfigMapKeyRef: &v1.ConfigMapKeySelector{Key: "blee"},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
Volumes: []v1.Volume{
|
|
{
|
|
Name: "fred",
|
|
VolumeSource: v1.VolumeSource{
|
|
HostPath: &v1.HostPathVolumeSource{
|
|
Path: "/blee",
|
|
Type: &t,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
Status: v1.PodStatus{
|
|
Phase: "Running",
|
|
ContainerStatuses: []v1.ContainerStatus{
|
|
{
|
|
Name: "fred",
|
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{}},
|
|
RestartCount: 0,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
}
|