// +build go1.7 /* * * Copyright 2017 gRPC authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package benchmark import ( "fmt" "os" "testing" "google.golang.org/grpc" "google.golang.org/grpc/benchmark/stats" ) func BenchmarkClient(b *testing.B) { maxConcurrentCalls := []int{1, 8, 64, 512} reqSizeBytes := []int{1, 1024} reqspSizeBytes := []int{1, 1024} for _, enableTracing := range []bool{true, false} { grpc.EnableTracing = enableTracing tracing := "Tracing" if !enableTracing { tracing = "noTrace" } for _, maxC := range maxConcurrentCalls { for _, reqS := range reqSizeBytes { for _, respS := range reqspSizeBytes { b.Run(fmt.Sprintf("Unary-%s-maxConcurrentCalls_"+ "%#v-reqSize_%#vB-respSize_%#vB", tracing, maxC, reqS, respS), func(b *testing.B) { runUnary(b, maxC, reqS, respS) }) b.Run(fmt.Sprintf("Stream-%s-maxConcurrentCalls_"+ "%#v-reqSize_%#vB-respSize_%#vB", tracing, maxC, reqS, respS), func(b *testing.B) { runStream(b, maxC, reqS, respS) }) } } } } } func TestMain(m *testing.M) { os.Exit(stats.RunTestMain(m)) }