From 0c26c0bfabf4e3479f3743a650539a01f92d367a Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Mon, 21 Jul 2014 22:43:32 -0700 Subject: [PATCH] etcd: add a simple endtoend benchmark --- etcd/etcd_functional_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/etcd/etcd_functional_test.go b/etcd/etcd_functional_test.go index c6226b632..df172acfe 100644 --- a/etcd/etcd_functional_test.go +++ b/etcd/etcd_functional_test.go @@ -23,6 +23,7 @@ import ( "time" "github.com/coreos/etcd/config" + "github.com/coreos/etcd/store" ) func TestKillLeader(t *testing.T) { @@ -115,6 +116,25 @@ func TestJoinThroughFollower(t *testing.T) { afterTest(t) } +func BenchmarkEndToEndSet(b *testing.B) { + es, hs := buildCluster(3, false) + waitLeader(es) + b.ResetTimer() + for n := 0; n < b.N; n++ { + _, err := es[0].p.Set("foo", false, "bar", store.Permanent) + if err != nil { + panic("unexpect error") + } + } + b.StopTimer() + for i := range hs { + es[len(hs)-i-1].Stop() + } + for i := range hs { + hs[len(hs)-i-1].Close() + } +} + type leadterm struct { lead int64 term int64