From f903cc66143c6d0fb0f2fa2d72d6c1c150ad6c81 Mon Sep 17 00:00:00 2001 From: Ken Hibino Date: Sat, 6 Jun 2020 14:35:32 -0700 Subject: [PATCH] Update benchcmp.sh script --- .travis/benchcmp.sh | 15 +++++++++++---- benchmark_test.go | 15 +++++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.travis/benchcmp.sh b/.travis/benchcmp.sh index b66801c..219f954 100755 --- a/.travis/benchcmp.sh +++ b/.travis/benchcmp.sh @@ -3,13 +3,20 @@ if [ "${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" != "master" ]; then cd ${TRAVIS_BUILD_DIR}/.. && \ git clone ${REMOTE_URL} "${TRAVIS_REPO_SLUG}-bench" && \ cd "${TRAVIS_REPO_SLUG}-bench" && \ + # Benchmark master + echo "Running benchmark tests on master branch" git checkout master && \ - go test -run=XXX -bench=. ./... > master.txt && \ + go test -run=XXX -bench=. -loglevel=debug ./... > master.txt && \ + echo "Finished benchmark tests on master branch" + # Benchmark feature branch + echo "Running benchmark tests on feature branch" git checkout ${TRAVIS_COMMIT} && \ - go test -run=XXX -bench=. ./... > feature.txt && \ - go get -u golang.org/x/tools/cmd/benchcmp && \ + go test -run=XXX -bench=. -loglevel=debug ./... > feature.txt && \ + echo "Finished benchmark tests on feature branch" + # compare two benchmarks + go get -u golang.org/x/tools/cmd/benchcmp && \ benchcmp master.txt feature.txt; -fi \ No newline at end of file +fi diff --git a/benchmark_test.go b/benchmark_test.go index 8f4913c..5fbd4aa 100644 --- a/benchmark_test.go +++ b/benchmark_test.go @@ -29,6 +29,7 @@ func BenchmarkEndToEndSimple(b *testing.B) { RetryDelayFunc: func(n int, err error, t *Task) time.Duration { return time.Second }, + LogLevel: testLogLevel, }) // Create a bunch of tasks for i := 0; i < count; i++ { @@ -72,6 +73,7 @@ func BenchmarkEndToEnd(b *testing.B) { RetryDelayFunc: func(n int, err error, t *Task) time.Duration { return time.Second }, + LogLevel: testLogLevel, }) // Create a bunch of tasks for i := 0; i < count; i++ { @@ -90,8 +92,16 @@ func BenchmarkEndToEnd(b *testing.B) { var wg sync.WaitGroup wg.Add(count * 2) handler := func(ctx context.Context, t *Task) error { - // randomly fail 1% of tasks - if rand.Intn(100) == 1 { + n, err := t.Payload.GetInt("data") + if err != nil { + b.Logf("internal error: %v", err) + } + retried, ok := GetRetryCount(ctx) + if !ok { + b.Logf("internal error: %v", err) + } + // Return error from 1% of the tasks for the first attempt. + if retried == 0 && n%100 == 0 { return fmt.Errorf(":(") } wg.Done() @@ -131,6 +141,7 @@ func BenchmarkEndToEndMultipleQueues(b *testing.B) { "default": 3, "low": 1, }, + LogLevel: testLogLevel, }) // Create a bunch of tasks for i := 0; i < highCount; i++ {