1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2017 gRPC authors. 2*cc02d7e2SAndroid Build Coastguard Worker# 3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*cc02d7e2SAndroid Build Coastguard Worker# 7*cc02d7e2SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*cc02d7e2SAndroid Build Coastguard Worker# 9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License. 14*cc02d7e2SAndroid Build Coastguard Worker 15*cc02d7e2SAndroid Build Coastguard Workerload("//bazel:custom_exec_properties.bzl", "LARGE_MACHINE") 16*cc02d7e2SAndroid Build Coastguard Workerload("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_py_binary") 17*cc02d7e2SAndroid Build Coastguard Workerload("//test/cpp/qps:qps_benchmark_script.bzl", "json_run_localhost_batch", "qps_json_driver_batch") 18*cc02d7e2SAndroid Build Coastguard Worker 19*cc02d7e2SAndroid Build Coastguard Workerlicenses(["notice"]) 20*cc02d7e2SAndroid Build Coastguard Worker 21*cc02d7e2SAndroid Build Coastguard Workergrpc_package(name = "test/cpp/qps") 22*cc02d7e2SAndroid Build Coastguard Worker 23*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 24*cc02d7e2SAndroid Build Coastguard Worker name = "parse_json", 25*cc02d7e2SAndroid Build Coastguard Worker srcs = ["parse_json.cc"], 26*cc02d7e2SAndroid Build Coastguard Worker hdrs = ["parse_json.h"], 27*cc02d7e2SAndroid Build Coastguard Worker external_deps = ["protobuf"], 28*cc02d7e2SAndroid Build Coastguard Worker deps = ["//:grpc++"], 29*cc02d7e2SAndroid Build Coastguard Worker) 30*cc02d7e2SAndroid Build Coastguard Worker 31*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 32*cc02d7e2SAndroid Build Coastguard Worker name = "qps_worker_impl", 33*cc02d7e2SAndroid Build Coastguard Worker srcs = [ 34*cc02d7e2SAndroid Build Coastguard Worker "client_async.cc", 35*cc02d7e2SAndroid Build Coastguard Worker "client_callback.cc", 36*cc02d7e2SAndroid Build Coastguard Worker "client_sync.cc", 37*cc02d7e2SAndroid Build Coastguard Worker "qps_server_builder.cc", 38*cc02d7e2SAndroid Build Coastguard Worker "qps_worker.cc", 39*cc02d7e2SAndroid Build Coastguard Worker "server_async.cc", 40*cc02d7e2SAndroid Build Coastguard Worker "server_callback.cc", 41*cc02d7e2SAndroid Build Coastguard Worker "server_sync.cc", 42*cc02d7e2SAndroid Build Coastguard Worker ], 43*cc02d7e2SAndroid Build Coastguard Worker hdrs = [ 44*cc02d7e2SAndroid Build Coastguard Worker "client.h", 45*cc02d7e2SAndroid Build Coastguard Worker "qps_server_builder.h", 46*cc02d7e2SAndroid Build Coastguard Worker "qps_worker.h", 47*cc02d7e2SAndroid Build Coastguard Worker "server.h", 48*cc02d7e2SAndroid Build Coastguard Worker ], 49*cc02d7e2SAndroid Build Coastguard Worker deps = [ 50*cc02d7e2SAndroid Build Coastguard Worker ":histogram", 51*cc02d7e2SAndroid Build Coastguard Worker ":interarrival", 52*cc02d7e2SAndroid Build Coastguard Worker ":usage_timer", 53*cc02d7e2SAndroid Build Coastguard Worker "//:grpc", 54*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 55*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:benchmark_service_proto", 56*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:control_proto", 57*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:payloads_proto", 58*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:worker_service_proto", 59*cc02d7e2SAndroid Build Coastguard Worker "//test/core/end2end:ssl_test_data", 60*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util", 61*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 62*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 63*cc02d7e2SAndroid Build Coastguard Worker ], 64*cc02d7e2SAndroid Build Coastguard Worker) 65*cc02d7e2SAndroid Build Coastguard Worker 66*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 67*cc02d7e2SAndroid Build Coastguard Worker name = "driver_impl", 68*cc02d7e2SAndroid Build Coastguard Worker srcs = [ 69*cc02d7e2SAndroid Build Coastguard Worker "driver.cc", 70*cc02d7e2SAndroid Build Coastguard Worker "report.cc", 71*cc02d7e2SAndroid Build Coastguard Worker ], 72*cc02d7e2SAndroid Build Coastguard Worker hdrs = [ 73*cc02d7e2SAndroid Build Coastguard Worker "driver.h", 74*cc02d7e2SAndroid Build Coastguard Worker "report.h", 75*cc02d7e2SAndroid Build Coastguard Worker ], 76*cc02d7e2SAndroid Build Coastguard Worker deps = [ 77*cc02d7e2SAndroid Build Coastguard Worker ":histogram", 78*cc02d7e2SAndroid Build Coastguard Worker ":parse_json", 79*cc02d7e2SAndroid Build Coastguard Worker ":qps_worker_impl", 80*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 81*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:control_proto", 82*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:messages_proto", 83*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:report_qps_scenario_service_proto", 84*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:worker_service_proto", 85*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util", 86*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 87*cc02d7e2SAndroid Build Coastguard Worker ], 88*cc02d7e2SAndroid Build Coastguard Worker) 89*cc02d7e2SAndroid Build Coastguard Worker 90*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 91*cc02d7e2SAndroid Build Coastguard Worker name = "benchmark_config", 92*cc02d7e2SAndroid Build Coastguard Worker srcs = [ 93*cc02d7e2SAndroid Build Coastguard Worker "benchmark_config.cc", 94*cc02d7e2SAndroid Build Coastguard Worker ], 95*cc02d7e2SAndroid Build Coastguard Worker hdrs = [ 96*cc02d7e2SAndroid Build Coastguard Worker "benchmark_config.h", 97*cc02d7e2SAndroid Build Coastguard Worker ], 98*cc02d7e2SAndroid Build Coastguard Worker external_deps = [ 99*cc02d7e2SAndroid Build Coastguard Worker "absl/flags:flag", 100*cc02d7e2SAndroid Build Coastguard Worker ], 101*cc02d7e2SAndroid Build Coastguard Worker deps = [ 102*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 103*cc02d7e2SAndroid Build Coastguard Worker ":histogram", 104*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 105*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:control_proto", 106*cc02d7e2SAndroid Build Coastguard Worker ], 107*cc02d7e2SAndroid Build Coastguard Worker) 108*cc02d7e2SAndroid Build Coastguard Worker 109*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 110*cc02d7e2SAndroid Build Coastguard Worker name = "histogram", 111*cc02d7e2SAndroid Build Coastguard Worker hdrs = [ 112*cc02d7e2SAndroid Build Coastguard Worker "histogram.h", 113*cc02d7e2SAndroid Build Coastguard Worker "stats.h", 114*cc02d7e2SAndroid Build Coastguard Worker ], 115*cc02d7e2SAndroid Build Coastguard Worker deps = [ 116*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing:stats_proto", 117*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util", 118*cc02d7e2SAndroid Build Coastguard Worker ], 119*cc02d7e2SAndroid Build Coastguard Worker) 120*cc02d7e2SAndroid Build Coastguard Worker 121*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_binary( 122*cc02d7e2SAndroid Build Coastguard Worker name = "qps_json_driver", 123*cc02d7e2SAndroid Build Coastguard Worker srcs = ["qps_json_driver.cc"], 124*cc02d7e2SAndroid Build Coastguard Worker external_deps = [ 125*cc02d7e2SAndroid Build Coastguard Worker "absl/flags:flag", 126*cc02d7e2SAndroid Build Coastguard Worker ], 127*cc02d7e2SAndroid Build Coastguard Worker deps = [ 128*cc02d7e2SAndroid Build Coastguard Worker ":benchmark_config", 129*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 130*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 131*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 132*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 133*cc02d7e2SAndroid Build Coastguard Worker ], 134*cc02d7e2SAndroid Build Coastguard Worker) 135*cc02d7e2SAndroid Build Coastguard Worker 136*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_test( 137*cc02d7e2SAndroid Build Coastguard Worker name = "inproc_sync_unary_ping_pong_test", 138*cc02d7e2SAndroid Build Coastguard Worker srcs = ["inproc_sync_unary_ping_pong_test.cc"], 139*cc02d7e2SAndroid Build Coastguard Worker deps = [ 140*cc02d7e2SAndroid Build Coastguard Worker ":benchmark_config", 141*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 142*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 143*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 144*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 145*cc02d7e2SAndroid Build Coastguard Worker ], 146*cc02d7e2SAndroid Build Coastguard Worker) 147*cc02d7e2SAndroid Build Coastguard Worker 148*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 149*cc02d7e2SAndroid Build Coastguard Worker name = "interarrival", 150*cc02d7e2SAndroid Build Coastguard Worker hdrs = ["interarrival.h"], 151*cc02d7e2SAndroid Build Coastguard Worker deps = ["//:grpc++"], 152*cc02d7e2SAndroid Build Coastguard Worker) 153*cc02d7e2SAndroid Build Coastguard Worker 154*cc02d7e2SAndroid Build Coastguard Workerqps_json_driver_batch() 155*cc02d7e2SAndroid Build Coastguard Worker 156*cc02d7e2SAndroid Build Coastguard Workerjson_run_localhost_batch() 157*cc02d7e2SAndroid Build Coastguard Worker 158*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_test( 159*cc02d7e2SAndroid Build Coastguard Worker name = "qps_interarrival_test", 160*cc02d7e2SAndroid Build Coastguard Worker srcs = ["qps_interarrival_test.cc"], 161*cc02d7e2SAndroid Build Coastguard Worker uses_event_engine = False, 162*cc02d7e2SAndroid Build Coastguard Worker uses_polling = False, 163*cc02d7e2SAndroid Build Coastguard Worker deps = [ 164*cc02d7e2SAndroid Build Coastguard Worker ":histogram", 165*cc02d7e2SAndroid Build Coastguard Worker ":interarrival", 166*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util_base", 167*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 168*cc02d7e2SAndroid Build Coastguard Worker ], 169*cc02d7e2SAndroid Build Coastguard Worker) 170*cc02d7e2SAndroid Build Coastguard Worker 171*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_test( 172*cc02d7e2SAndroid Build Coastguard Worker name = "qps_openloop_test", 173*cc02d7e2SAndroid Build Coastguard Worker srcs = ["qps_openloop_test.cc"], 174*cc02d7e2SAndroid Build Coastguard Worker exec_properties = LARGE_MACHINE, 175*cc02d7e2SAndroid Build Coastguard Worker tags = ["no_windows"], # LARGE_MACHINE is not configured for windows RBE 176*cc02d7e2SAndroid Build Coastguard Worker deps = [ 177*cc02d7e2SAndroid Build Coastguard Worker ":benchmark_config", 178*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 179*cc02d7e2SAndroid Build Coastguard Worker ":qps_worker_impl", 180*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 181*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 182*cc02d7e2SAndroid Build Coastguard Worker ], 183*cc02d7e2SAndroid Build Coastguard Worker) 184*cc02d7e2SAndroid Build Coastguard Worker 185*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_test( 186*cc02d7e2SAndroid Build Coastguard Worker name = "secure_sync_unary_ping_pong_test", 187*cc02d7e2SAndroid Build Coastguard Worker srcs = ["secure_sync_unary_ping_pong_test.cc"], 188*cc02d7e2SAndroid Build Coastguard Worker deps = [ 189*cc02d7e2SAndroid Build Coastguard Worker ":benchmark_config", 190*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 191*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 192*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 193*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 194*cc02d7e2SAndroid Build Coastguard Worker ], 195*cc02d7e2SAndroid Build Coastguard Worker) 196*cc02d7e2SAndroid Build Coastguard Worker 197*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_library( 198*cc02d7e2SAndroid Build Coastguard Worker name = "usage_timer", 199*cc02d7e2SAndroid Build Coastguard Worker srcs = ["usage_timer.cc"], 200*cc02d7e2SAndroid Build Coastguard Worker hdrs = ["usage_timer.h"], 201*cc02d7e2SAndroid Build Coastguard Worker deps = ["//:gpr"], 202*cc02d7e2SAndroid Build Coastguard Worker) 203*cc02d7e2SAndroid Build Coastguard Worker 204*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_binary( 205*cc02d7e2SAndroid Build Coastguard Worker name = "qps_worker", 206*cc02d7e2SAndroid Build Coastguard Worker srcs = ["worker.cc"], 207*cc02d7e2SAndroid Build Coastguard Worker external_deps = [ 208*cc02d7e2SAndroid Build Coastguard Worker "absl/flags:flag", 209*cc02d7e2SAndroid Build Coastguard Worker ], 210*cc02d7e2SAndroid Build Coastguard Worker deps = [ 211*cc02d7e2SAndroid Build Coastguard Worker ":qps_worker_impl", 212*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 213*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util", 214*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 215*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 216*cc02d7e2SAndroid Build Coastguard Worker ], 217*cc02d7e2SAndroid Build Coastguard Worker) 218*cc02d7e2SAndroid Build Coastguard Worker 219*cc02d7e2SAndroid Build Coastguard Workergrpc_py_binary( 220*cc02d7e2SAndroid Build Coastguard Worker name = "scenario_runner", 221*cc02d7e2SAndroid Build Coastguard Worker testonly = True, 222*cc02d7e2SAndroid Build Coastguard Worker srcs = ["scenario_runner.py"], 223*cc02d7e2SAndroid Build Coastguard Worker data = ["scenario_runner_cc"], 224*cc02d7e2SAndroid Build Coastguard Worker python_version = "PY3", 225*cc02d7e2SAndroid Build Coastguard Worker) 226*cc02d7e2SAndroid Build Coastguard Worker 227*cc02d7e2SAndroid Build Coastguard Workergrpc_cc_binary( 228*cc02d7e2SAndroid Build Coastguard Worker name = "scenario_runner_cc", 229*cc02d7e2SAndroid Build Coastguard Worker srcs = ["scenario_runner.cc"], 230*cc02d7e2SAndroid Build Coastguard Worker external_deps = [ 231*cc02d7e2SAndroid Build Coastguard Worker "absl/flags:flag", 232*cc02d7e2SAndroid Build Coastguard Worker ], 233*cc02d7e2SAndroid Build Coastguard Worker deps = [ 234*cc02d7e2SAndroid Build Coastguard Worker ":benchmark_config", 235*cc02d7e2SAndroid Build Coastguard Worker ":driver_impl", 236*cc02d7e2SAndroid Build Coastguard Worker "//:grpc++", 237*cc02d7e2SAndroid Build Coastguard Worker "//test/core/util:grpc_test_util", 238*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_config", 239*cc02d7e2SAndroid Build Coastguard Worker "//test/cpp/util:test_util", 240*cc02d7e2SAndroid Build Coastguard Worker ], 241*cc02d7e2SAndroid Build Coastguard Worker) 242