From a1cb9b8e6283f4704f956974f9239539a2fc1875 Mon Sep 17 00:00:00 2001 From: James Phillips Date: Wed, 14 Oct 2015 13:26:17 -0700 Subject: [PATCH] Adds benchmarks back in to the state store. --- consul/state/state_store_test.go | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/consul/state/state_store_test.go b/consul/state/state_store_test.go index 5f82cdc271..00d900fae9 100644 --- a/consul/state/state_store_test.go +++ b/consul/state/state_store_test.go @@ -642,6 +642,24 @@ func TestStateStore_GetNodes(t *testing.T) { } } +func BenchmarkGetNodes(b *testing.B) { + s, err := NewStateStore(nil) + if err != nil { + b.Fatalf("err: %s", err) + } + + if err := s.EnsureNode(100, &structs.Node{Node: "foo", Address: "127.0.0.1"}); err != nil { + b.Fatalf("err: %v", err) + } + if err := s.EnsureNode(101, &structs.Node{Node: "bar", Address: "127.0.0.2"}); err != nil { + b.Fatalf("err: %v", err) + } + + for i := 0; i < b.N; i++ { + s.Nodes() + } +} + func TestStateStore_DeleteNode(t *testing.T) { s := testStateStore(t) @@ -1632,6 +1650,43 @@ func TestStateStore_CheckServiceNodes(t *testing.T) { } } +func BenchmarkCheckServiceNodes(b *testing.B) { + s, err := NewStateStore(nil) + if err != nil { + b.Fatalf("err: %s", err) + } + + if err := s.EnsureNode(1, &structs.Node{Node: "foo", Address: "127.0.0.1"}); err != nil { + b.Fatalf("err: %v", err) + } + if err := s.EnsureService(2, "foo", &structs.NodeService{ID: "db1", Service: "db", Tags: []string{"master"}, Address: "", Port: 8000}); err != nil { + b.Fatalf("err: %v", err) + } + check := &structs.HealthCheck{ + Node: "foo", + CheckID: "db", + Name: "can connect", + Status: structs.HealthPassing, + ServiceID: "db1", + } + if err := s.EnsureCheck(3, check); err != nil { + b.Fatalf("err: %v", err) + } + check = &structs.HealthCheck{ + Node: "foo", + CheckID: "check1", + Name: "check1", + Status: structs.HealthPassing, + } + if err := s.EnsureCheck(4, check); err != nil { + b.Fatalf("err: %v", err) + } + + for i := 0; i < b.N; i++ { + s.CheckServiceNodes("db") + } +} + func TestStateStore_CheckServiceTagNodes(t *testing.T) { s := testStateStore(t)