diff --git a/plugin/kubernetes/kubernetes_test.go b/plugin/kubernetes/kubernetes_test.go index f663be44a..d27ff17a7 100644 --- a/plugin/kubernetes/kubernetes_test.go +++ b/plugin/kubernetes/kubernetes_test.go @@ -493,3 +493,33 @@ func TestServicesAuthority(t *testing.T) { } } } + +func BenchmarkServices(b *testing.B) { + k := New([]string{"inter.webs.tests."}) + k.APIConn = APIConnServiceTest{} + ctx := context.TODO() + + m := new(dns.Msg) + m.SetQuestion("svc1.testns.svc.inter.webs.tests.", dns.TypeA) + state := request.Request{Zone: k.Zones[0], Req: m} + + b.ReportAllocs() + for b.Loop() { + _, _ = k.Services(ctx, state, false, plugin.Options{}) + } +} + +func BenchmarkServicesHeadless(b *testing.B) { + k := New([]string{"inter.webs.tests."}) + k.APIConn = APIConnServiceTest{} + ctx := context.TODO() + + m := new(dns.Msg) + m.SetQuestion("hdls1.testns.svc.inter.webs.tests.", dns.TypeA) + state := request.Request{Zone: k.Zones[0], Req: m} + + b.ReportAllocs() + for b.Loop() { + _, _ = k.Services(ctx, state, false, plugin.Options{}) + } +} diff --git a/plugin/kubernetes/parse_test.go b/plugin/kubernetes/parse_test.go index a19b1d4a1..4cee8538a 100644 --- a/plugin/kubernetes/parse_test.go +++ b/plugin/kubernetes/parse_test.go @@ -63,3 +63,10 @@ func TestParseInvalidRequest(t *testing.T) { } const zone = "inter.webs.tests." + +func BenchmarkParseRequest(b *testing.B) { + b.ReportAllocs() + for b.Loop() { + _, _ = parseRequest("1-2-3-4.webs.mynamespace.svc.inter.webs.tests.", zone, false) + } +} diff --git a/request/request_test.go b/request/request_test.go index 240f02c31..ae7410abf 100644 --- a/request/request_test.go +++ b/request/request_test.go @@ -381,3 +381,23 @@ func TestRequestClear(t *testing.T) { t.Errorf("Expected st.port to be cleared after Clear") } } + +func BenchmarkRequestIP(b *testing.B) { + st := testRequest() + b.ReportAllocs() + + for b.Loop() { + st.Clear() + _ = st.IP() + } +} + +func BenchmarkRequestPort(b *testing.B) { + st := testRequest() + b.ReportAllocs() + + for b.Loop() { + st.Clear() + _ = st.Port() + } +}