mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
5.2 KiB
216 lines
5.2 KiB
# 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. |
|
|
|
licenses(["notice"]) # Apache v2 |
|
|
|
load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package") |
|
load("//test/cpp/qps:qps_benchmark_script.bzl", "json_run_localhost_batch", "qps_json_driver_batch") |
|
load("//bazel:custom_exec_properties.bzl", "LARGE_MACHINE") |
|
|
|
grpc_package(name = "test/cpp/qps") |
|
|
|
grpc_cc_library( |
|
name = "parse_json", |
|
srcs = ["parse_json.cc"], |
|
hdrs = ["parse_json.h"], |
|
external_deps = ["protobuf"], |
|
deps = ["//:grpc++"], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "qps_worker_impl", |
|
srcs = [ |
|
"client_async.cc", |
|
"client_callback.cc", |
|
"client_sync.cc", |
|
"qps_server_builder.cc", |
|
"qps_worker.cc", |
|
"server_async.cc", |
|
"server_callback.cc", |
|
"server_sync.cc", |
|
], |
|
hdrs = [ |
|
"client.h", |
|
"qps_server_builder.h", |
|
"qps_worker.h", |
|
"server.h", |
|
], |
|
deps = [ |
|
":histogram", |
|
":interarrival", |
|
":usage_timer", |
|
"//:grpc", |
|
"//:grpc++", |
|
"//:grpc++_core_stats", |
|
"//src/proto/grpc/testing:benchmark_service_proto", |
|
"//src/proto/grpc/testing:control_proto", |
|
"//src/proto/grpc/testing:payloads_proto", |
|
"//src/proto/grpc/testing:worker_service_proto", |
|
"//test/core/end2end:ssl_test_data", |
|
"//test/core/util:grpc_test_util", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "driver_impl", |
|
srcs = [ |
|
"driver.cc", |
|
"report.cc", |
|
], |
|
hdrs = [ |
|
"driver.h", |
|
"report.h", |
|
], |
|
deps = [ |
|
":histogram", |
|
":parse_json", |
|
":qps_worker_impl", |
|
"//:grpc++", |
|
"//src/proto/grpc/testing:control_proto", |
|
"//src/proto/grpc/testing:messages_proto", |
|
"//src/proto/grpc/testing:report_qps_scenario_service_proto", |
|
"//src/proto/grpc/testing:worker_service_proto", |
|
"//test/core/util:grpc_test_util", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "benchmark_config", |
|
srcs = [ |
|
"benchmark_config.cc", |
|
], |
|
hdrs = [ |
|
"benchmark_config.h", |
|
], |
|
external_deps = [ |
|
"absl/flags:flag", |
|
], |
|
deps = [ |
|
":driver_impl", |
|
":histogram", |
|
"//:grpc++", |
|
"//src/proto/grpc/testing:control_proto", |
|
], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "histogram", |
|
hdrs = [ |
|
"histogram.h", |
|
"stats.h", |
|
], |
|
deps = [ |
|
"//src/proto/grpc/testing:stats_proto", |
|
"//test/core/util:grpc_test_util", |
|
], |
|
) |
|
|
|
grpc_cc_binary( |
|
name = "qps_json_driver", |
|
srcs = ["qps_json_driver.cc"], |
|
external_deps = [ |
|
"absl/flags:flag", |
|
], |
|
deps = [ |
|
":benchmark_config", |
|
":driver_impl", |
|
"//:grpc++", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "inproc_sync_unary_ping_pong_test", |
|
srcs = ["inproc_sync_unary_ping_pong_test.cc"], |
|
deps = [ |
|
":benchmark_config", |
|
":driver_impl", |
|
"//:grpc++", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "interarrival", |
|
hdrs = ["interarrival.h"], |
|
deps = ["//:grpc++"], |
|
) |
|
|
|
qps_json_driver_batch() |
|
|
|
json_run_localhost_batch() |
|
|
|
grpc_cc_test( |
|
name = "qps_interarrival_test", |
|
srcs = ["qps_interarrival_test.cc"], |
|
uses_polling = False, |
|
deps = [ |
|
":histogram", |
|
":interarrival", |
|
"//test/cpp/util:test_config", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "qps_openloop_test", |
|
srcs = ["qps_openloop_test.cc"], |
|
exec_properties = LARGE_MACHINE, |
|
tags = ["no_windows"], # LARGE_MACHINE is not configured for windows RBE |
|
deps = [ |
|
":benchmark_config", |
|
":driver_impl", |
|
":qps_worker_impl", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "secure_sync_unary_ping_pong_test", |
|
srcs = ["secure_sync_unary_ping_pong_test.cc"], |
|
deps = [ |
|
":benchmark_config", |
|
":driver_impl", |
|
"//:grpc++", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "usage_timer", |
|
srcs = ["usage_timer.cc"], |
|
hdrs = ["usage_timer.h"], |
|
deps = ["//:gpr"], |
|
) |
|
|
|
grpc_cc_binary( |
|
name = "qps_worker", |
|
srcs = ["worker.cc"], |
|
external_deps = [ |
|
"absl/flags:flag", |
|
], |
|
deps = [ |
|
":qps_worker_impl", |
|
"//:grpc++", |
|
"//test/core/util:grpc_test_util", |
|
"//test/cpp/util:test_config", |
|
"//test/cpp/util:test_util", |
|
], |
|
)
|
|
|