Commit Graph

965 Commits

Author SHA1 Message Date
David Garcia Quintas f526bd487a Merge branch 'master' of github.com:grpc/grpc into qps_reporter_refactoring 2015-05-21 16:49:38 -07:00
Craig Tiller d4db33dcab Add missing copyright notices 2015-05-21 15:27:23 -07:00
Craig Tiller 8ebcec484f clang-format 2015-05-21 13:55:22 -07:00
Craig Tiller aeea2f2203 Fix shutdown crash in async streaming test 2015-05-21 13:54:42 -07:00
Craig Tiller 5c8737d171 clang-format qps code - it was getting out of hand 2015-05-21 11:42:17 -07:00
Vijay Pai 76e0fb1dc0 Merge pull request #1669 from dgquintas/benchmark_hosts_info
Added the client and server configurations to the bench results proto.
2015-05-21 11:36:41 -07:00
vjpai efad2ae674 Merge branch 'master' into poisson 2015-05-21 10:20:14 -07:00
David Garcia Quintas feb67f67dc Replaced std::this_thread::sleep_for for gpr_sleep_until.
std::this_thread::sleep_for isn't available in gcc <= 4.6 (4.7?) nor
VS2010.
2015-05-20 23:13:17 -07:00
David Garcia Quintas 30ecd2b8d9 Return shared_ptr by value plus minor dependency fix 2015-05-20 23:08:29 -07:00
David Garcia Quintas a6b559a76a Improvements to reporting mechanism based on comments.
Turned the reporter into a composite, much cleaner arch.
2015-05-20 23:08:29 -07:00
David Garcia Quintas 226beffea1 Simplified code based on comments and fixed build.json 2015-05-20 23:08:29 -07:00
David Garcia Quintas 87ca82768d Added missing benchmark_config.* files 2015-05-20 23:08:29 -07:00
David Garcia Quintas 3cc9ec92d9 Removed registry for benchmark reports & introduced benchmark_config.{h,cc} in the spirit of test_config.{h,cc}.
The purpose of benchmark_config is to allow for different behaviors to
be decided at compile-time.
2015-05-20 23:08:29 -07:00
David Garcia Quintas cdbdedbf23 Refactored benchmark reporting mechanism.
It now allows pluggging in "reporter" instances to process the benchmark results arbitrarily.
This would allow, for example, to send results to a leaderboard and/or other systems for tracking performance metrics.
2015-05-20 23:08:29 -07:00
David Garcia Quintas 08116501cb Fix to work around the fact that Histogram isn't copyable. 2015-05-20 17:27:23 -07:00
David Garcia Quintas 6ba29ba3fb Added the client and server configurations to the bench results proto.
The added configurations also include the host of both parties. This
is useful for reporting.
2015-05-19 18:29:35 -07:00
Craig Tiller 882431fff5 Compile fix 2015-05-19 09:25:37 -07:00
Craig Tiller 49c3b01c3e Better RNG seeding portability 2015-05-19 08:18:02 -07:00
Craig Tiller f98e56c91b Cheesy attempt to get this working on Travis 2015-05-18 15:00:52 -07:00
vjpai ccced5389d Merge branch 'master' into poisson
Conflicts:
	Makefile
2015-05-18 09:20:43 -07:00
vjpai 6a608020b0 WIP 2015-05-18 09:16:53 -07:00
Yang Gao a468c36601 Merge pull request #1493 from ctiller/churn-churn-churn-the-api-gently-down-the-stream
Completion queue binding for new requests API change
2015-05-12 12:37:24 -07:00
vjpai 37f7257529 WIP 2015-05-12 10:29:07 -07:00
vjpai 0426ad0fcb Merge branch 'master' into poisson
Conflicts:
	Makefile
2015-05-12 01:16:33 -07:00
Siddharth Rakesh 2e9157d88c Added async streaming ping pong test 2015-05-11 16:50:10 -07:00
vjpai df99410ffd Merge branch 'master' into poisson
Conflicts:
	Makefile
	build.json
2015-05-11 10:03:17 -07:00
Craig Tiller 0b488f7649 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream
Conflicts:
	test/cpp/end2end/async_end2end_test.cc
2015-05-08 16:38:32 -07:00
Craig Tiller 5f871ac225 Merge github.com:grpc/grpc into the-churnening 2015-05-08 13:05:51 -07:00
Craig Tiller 2bac1f8c39 Merge pull request #1470 from vjpai/stream_ctx
Fix a bug in synchronous streaming QPS test
2015-05-08 12:12:15 -07:00
Craig Tiller 2be6095c10 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream 2015-05-08 08:37:41 -07:00
Craig Tiller fee0cfa0d5 Merge github.com:grpc/grpc into churn-churn-churn-the-api-gently-down-the-stream
Conflicts:
	src/cpp/server/server.cc
2015-05-08 07:46:46 -07:00
vjpai f993194b08 Merge branch 'stream_ctx' into poisson
Conflicts:
	test/cpp/qps/client_sync.cc
2015-05-07 10:15:04 -07:00
vjpai 8dd7aab00e Merge branch 'master' into poisson 2015-05-07 10:01:56 -07:00
Craig Tiller 2da0296478 Eliminate need for SIGPIPE handling 2015-05-06 16:14:25 -07:00
Craig Tiller 3676b38183 Lose redundant tag on unary calls 2015-05-06 13:01:05 -07:00
Craig Tiller f9e6adf998 Completion queue binding for new requests API change
Move completion queue binding for new requests to the new request
request time, not server instantiation time.
2015-05-06 11:45:59 -07:00
David Garcia Quintas d4f10c0320 Split C++'s smoke_test into 4 stand alone ones. 2015-05-05 15:46:27 -07:00
Vijay Pai dfe83deb2c Make sure that we have enough server threads to actually support the
number of outstanding streams
2015-05-05 11:42:54 -07:00
vjpai 0a4129399a Also need to create a vector of streams 2015-05-04 16:39:18 -07:00
Vijay Pai 36ff3f00e2 clang-format 2015-05-04 14:40:21 -07:00
Vijay Pai 25aa12fa75 Support multi-stream synchronous client tests 2015-05-04 14:38:14 -07:00
vjpai 041998d986 Change function-pointer to std::function 2015-05-04 09:24:08 -07:00
Vijay Pai 7ebb17e595 Merge branch 'async-cleanup' into poisson 2015-04-30 14:32:58 -07:00
Vijay Pai e10ebf15eb Keep code that is common between both async client versions in a new async superclass and only use unary/streaming-specific material in the subclass. 2015-04-30 13:12:31 -07:00
Vijay Pai 0b94127bb1 Merge branch 'master' into poisson 2015-04-29 13:58:36 -07:00
vjpai 9ba29cd8f3 Move end_threads to subclass since some subclass-specific fields will still be
alive at this time

Conflicts:
	test/cpp/qps/client_sync.cc
2015-04-29 11:06:57 -07:00
vjpai 07b2fe6f96 Move end_threads to subclass since some subclass-specific fields will still be
alive at this time
2015-04-29 10:40:26 -07:00
vjpai c6aa60e510 Move interarrival timer to Client class so that it can be used for async tests
as well
2015-04-29 10:20:41 -07:00
Vijay Pai 0e6df83b03 Merge branch 'master' into poisson 2015-04-28 09:15:07 -07:00
Vijay Pai fec0c2cdda Merge pull request #1375 from ctiller/qps_client
Fix a race in QPS client shutdown
2015-04-28 07:55:54 -07:00
vjpai a188b1f1c4 Merge branch 'poisson' of git://github.com/vjpai/grpc into vjpai-poisson
Conflicts:
	Makefile
2015-04-27 16:24:22 -07:00
Vijay Pai 4d4372b452 Supply command line flags for open-loop testing 2015-04-27 12:21:15 -07:00
Vijay Pai e36a32a495 Fix names 2015-04-27 12:21:06 -07:00
Vijay Pai 87dd702783 Fix embarassing break bug 2015-04-27 12:17:37 -07:00
Craig Tiller 98ae48d63c Ignore SIGPIPE 2015-04-27 11:20:39 -07:00
Craig Tiller 77e0d64b4d Fix a race in QPS client shutdown
Previously we were cleaning up threads only AFTER local resources were
reclaimed, leading to many crashes.
2015-04-27 10:52:54 -07:00
Vijay Pai 105ff2eb2e Support for open-loop sync test 2015-04-26 01:04:23 -07:00
Yang Gao c4b6ffb1b6 Add a GrpcLibrary class to wrap grpc_init and grpc_shutdown and convert all the tests to init/shutdown free. 2015-04-24 13:09:40 -07:00
Vijay Pai e23aba4884 Fix definition of InterarrivalTimer to enable late initialization
and use nanoseconds
2015-04-23 13:53:36 -07:00
vjpai 9cf0b3b84d Random number distributions and test for common distributions 2015-04-21 12:58:31 -07:00
Yang Gao 103837ee6b Wrap ParseCommandLineFlags in InitTest 2015-04-15 15:23:54 -07:00
Craig Tiller 217b7f0e80 Merge branch 'qps' into local_worker
Conflicts:
	Makefile
	build.json
	test/cpp/qps/worker.cc
2015-04-10 08:31:37 -07:00
Craig Tiller 66f37b477d Merge github.com:google/grpc into qps
Conflicts:
	Makefile
2015-04-10 08:28:31 -07:00
Craig Tiller 66048f4fc1 Add reporting library, use it 2015-04-10 08:23:52 -07:00
Craig Tiller 41faf0f4c8 s/11/1 2015-04-10 08:06:05 -07:00
Craig Tiller e9a6eb7332 Allow RunScenarios to spawn in-process workers
This allows us to get back to single binary tests where appropriate, which will help in-depth profiling efforts.
I've built this atop my smoke_test changes as they inspired me to get this done.
2015-04-09 15:51:41 -07:00
Craig Tiller c908eb65df :Merge branch 'qps' of github.com:ctiller/grpc into qps 2015-04-09 21:46:49 +00:00
Craig Tiller 4cc8a172f5 Tweaks 2015-04-09 21:46:33 +00:00
Yang Gao 3ca65e3228 Merge pull request #1238 from nicolasnoble/plugin-rework
Splitting gRPC service class codegen into its own set of files.
2015-04-09 14:35:42 -07:00
Nicolas "Pixel" Noble 0caebbfcfe Splitting gRPC service class codegen into its own set of files. 2015-04-09 23:08:51 +02:00
Craig Tiller 206d59a56a fine tuning 2015-04-09 20:06:33 +00:00
Craig Tiller 8221e40ac0 Indentation fixes, s/11/1/g 2015-04-09 12:23:21 -07:00
Craig Tiller 1c61af7364 Dont sleep forever on async cq 2015-04-09 12:08:44 -07:00
Craig Tiller 8a5a666ad0 Handle errors better on client 2015-04-09 11:31:28 -07:00
Craig Tiller aa2fca5a48 Remove asserts 2015-04-09 10:56:06 -07:00
Craig Tiller 2c2cf6d2c5 Smoke test initial version 2015-04-09 09:40:20 -07:00
Craig Tiller b9de09f2ac Allow specifying warmup, benchmark times 2015-04-08 17:08:05 -07:00
Vijay Pai f2554d051b Revive proper SIGINT handling 2015-04-02 13:58:27 -07:00
Vijay Pai 54e16ee548 Put in calls to profiling 2015-03-31 12:50:56 -07:00
Vijay Pai 49673133b3 Remove unused header file for profiler 2015-03-31 12:39:51 -07:00
Vijay Pai ce3bd9680b Remove outdated file 2015-03-31 12:06:20 -07:00
Yang Gao fa50753059 Merge pull request #1113 from vjpai/qps-stream
Add C++ streaming QPS test, fix bug in async C++ tests
2015-03-27 10:10:29 -07:00
vjpai 4bcab68012 Include the config.h file to make sure that nullptr is covered 2015-03-26 13:21:24 -07:00
Vijay Pai bef9cbc7dc Eliminate range-based fors 2015-03-26 11:02:06 -07:00
Vijay Pai 9032adcbef Fix conflicts 2015-03-26 10:32:52 -07:00
Vijay Pai 82dd80abc6 Elminate range-based fors and work around some other limitations in older compilers 2015-03-24 10:36:08 -07:00
Vijay Pai 6266b9341c Sweep different parameter sets in a single shell script. 2015-03-23 14:38:18 -07:00
Vijay Pai 1da729ad7d Merge branch 'qps-stream' of https://github.com/vjpai/grpc into vjpai-qps-stream 2015-03-23 12:52:56 -07:00
Vijay Pai 8ad32091e6 Make sure that nothing gets added to cq after shutdown 2015-03-23 12:44:28 -07:00
Vijay Pai 55bb5bdf80 No need to do an extra read 2015-03-23 12:44:09 -07:00
Vijay Pai c5b397927c test return value of rpc parse 2015-03-23 10:46:37 -07:00
vjpai 653803e310 Make RPC type configurable 2015-03-23 10:19:12 -07:00
vjpai 46f65239cf Added streaming C++ tests for sync and sync cases 2015-03-23 10:10:27 -07:00
Jan Tattermusch 5e36d0d474 Merge pull request #1093 from nicolasnoble/windows
Various Windows fixes.
2015-03-19 10:29:47 -07:00
Nicolas Noble cfd6073a66 Various Windows fixes.
-) using dupenv_s instead of getenv_s and calling strdup ourselves.
-) few impossible-to-obtain if checks.
-) various signed/unsigned casting.
-) using time_t instead of time32_t
-) checking output of FormatMessage for failures.
-) don't redefine _WIN32_WINNT without undefining it first.
-) fixed msvc's interlocked casting.
-) renamed AddPort to AddListeningPort.
-) added protobuf's third_party includes to search path.
-) added a missing definition for inet_ntop in mingw32.
-) removed useless declarations.
2015-03-19 04:21:22 +01:00
Yang Gao 6baa9b67ad clang-format c++ code 2015-03-17 10:49:39 -07:00
Chilledheart 4be94b9541 Add missing GRPC_OVERRIDE, NFC
Testing asan configuration with the latest clang compiler fails due to
the warning `-Winconsistent-missing-override`. This patch fixes it.
2015-03-10 00:46:10 +08:00
Craig Tiller 68de8e91cc Merge github.com:grpc/grpc into credit 2015-03-05 15:45:46 -08:00
Craig Tiller 43ef582e42 override --> GRPC_OVERRIDE 2015-03-04 20:01:09 -08:00
Craig Tiller 78524b75d7 Compile fix 2015-03-04 17:13:03 -08:00
Craig Tiller 2eaf1596bb ACTUALLY set the server thread pool 2015-03-04 14:47:18 -08:00
Craig Tiller a182bf12b0 clang-format 2015-03-04 13:54:39 -08:00
Craig Tiller 50a976f56c Linux compile fix 2015-03-04 13:40:52 -08:00
Craig Tiller 96cca4e83a Merge branch 'qps_driver' of github.com:ctiller/grpc into qps_driver 2015-03-04 13:40:06 -08:00
Craig Tiller c98bef7303 Compile fix 2015-03-04 13:01:21 -08:00
Craig Tiller a8dc37a2dd Rename some files 2015-03-04 12:56:00 -08:00
Craig Tiller d6479d6cc4 Async server works 2015-03-04 12:50:11 -08:00
Craig Tiller ef63839042 Async client works 2015-03-04 12:23:12 -08:00
Craig Tiller e38ec21122 Linux compile fix 2015-03-04 11:19:15 -08:00
Craig Tiller d1e18faefc Async client progress 2015-03-04 10:51:03 -08:00
Craig Tiller 8856875900 Async client progress 2015-03-04 10:50:43 -08:00
Craig Tiller f282514389 Print resource utilization 2015-03-03 17:15:36 -08:00
Craig Tiller d701c5f5c3 Formatting 2015-03-03 16:05:04 -08:00
Craig Tiller 76877c3f66 Generate latencies in driver 2015-03-03 16:04:23 -08:00
Craig Tiller e70a0cc7e5 Merge github.com:grpc/grpc into qps_driver 2015-03-03 15:21:34 -08:00
Craig Tiller 10923c2fb5 Formatting 2015-03-03 14:24:49 -08:00
Craig Tiller e7460e87d3 Merge github.com:grpc/grpc into credit 2015-03-03 13:48:40 -08:00
Craig Tiller 6af9ed0bf7 Rework QPS client/server
Now setup as a driver and N anonymous workers that may become clients or servers.
Will convert async soon.
2015-03-02 22:42:10 -08:00
Craig Tiller 26598a394a WIP 2015-03-02 16:16:00 -08:00
Vijay Pai acf6f318fc Better use of threads, avoid thread safety issues on destructor with
a proper join.

Also had been misusing EXPECT_EQ, as well as actually having an invalid
expectation on the ok field. Now it should be sane.
2015-03-02 15:13:39 -08:00
Craig Tiller 3e9cbc749a Merge github.com:grpc/grpc into qps_driver 2015-03-02 09:15:23 -08:00
Craig Tiller 61691f92c3 Merge github.com:grpc/grpc into credit 2015-03-02 08:51:52 -08:00
vjpai 4e1e1bc28e Revert "Use typedefs to avoid triply-nested function templates"
This reverts commit 45b0bc4bec.

This revert is being done because the compilers on Travis don't
understand the C++11 template/using syntax.
2015-02-27 23:47:12 -08:00
vjpai 45b0bc4bec Use typedefs to avoid triply-nested function templates 2015-02-27 16:54:17 -08:00
vjpai 5b39f9a9fb refresh -> Reset 2015-02-27 09:33:00 -08:00
vjpai 6e2e64a8b4 Stop abusing operator() overloading 2015-02-27 09:28:28 -08:00
vjpai 9440a14558 Move std::bind call out of main loop, change constructor appropriately 2015-02-27 09:19:09 -08:00
vjpai cd801c8531 <:: -> < :: 2015-02-27 07:21:31 -08:00
vjpai 3c11066217 override->GRPC_OVERRIDE 2015-02-27 07:17:16 -08:00
vjpai 1b47b12895 Merge remote-tracking branch 'upstream/master' 2015-02-26 23:16:25 -08:00
Vijay Pai 64ac47f389 clang-format all these files 2015-02-26 17:59:51 -08:00
vjpai 56c5129629 Rename Async methods from generator to avoid naming conflicts to
bind and other functions
2015-02-26 17:01:35 -08:00
vjpai dea740f329 New multithreaded async C++ tests. The server is architected the way
that it should be with multiple threads waiting on a single
completion queue.
The client currently uses a separate completion
queue per-thread, as trying to do a single unified queue was leading
to crashes for me. I need to figure that out.
2015-02-26 16:35:35 -08:00
Craig Tiller cf133f41f8 Make it possible to compile with gcc4.6 2015-02-26 14:27:05 -08:00
Craig Tiller 8ecb170151 Fix that race better 2015-02-24 17:08:23 -08:00
Craig Tiller 2f3fa9acff Fix linux compile bug 2015-02-24 17:04:22 -08:00
Craig Tiller 2d0f36c84b Driver to client/server kind of works 2015-02-23 23:16:17 -08:00
Craig Tiller 4ef7a29f31 Create server/client lists 2015-02-23 17:29:01 -08:00
Craig Tiller 4f7a1ff6ad 'Fix' a race 2015-02-23 17:16:56 -08:00
Craig Tiller e48601934d Getting the driver pieces in place
Driver logic not implemented yet
2015-02-23 17:10:41 -08:00
Craig Tiller 5c004c68de Driver changes
WIP - things compile again after a broad set of changes preparing for
the driver code.
2015-02-23 16:31:57 -08:00
Craig Tiller 42bc87c097 Update C++ server with new core API
And reflects the C++ API in ServerBuilder.
2015-02-23 09:58:23 -08:00
vjpai 5b47818d93 Some compilers not happy with <:: and need < :: instead 2015-02-20 11:42:42 -08:00
Nicolas "Pixel" Noble 7e80efcb3d Making the usage of gflags uniform across distributions. 2015-02-20 03:13:38 +01:00
Nicolas "Pixel" Noble ba6082080c Fixing gflags' include path. 2015-02-20 02:48:03 +01:00
Craig Tiller ce5021b0b9 Add missing new-lines at end of file 2015-02-18 09:25:21 -08:00
Craig Tiller 190d360def Add missing new-lines at end of file 2015-02-18 09:23:38 -08:00
Craig Tiller 0605995e55 Update copyright to 2015 2015-02-18 08:34:56 -08:00
Craig Tiller f74ec4ee43 Merge github.com:grpc/grpc into copyright 2015-02-18 08:30:14 -08:00
Craig Tiller ad1fd3a49e Add proto copyrights 2015-02-16 12:23:04 -08:00
Craig Tiller 5a4f991d5d Merge github.com:grpc/grpc into c++api
Conflicts:
	test/cpp/qps/server.cc
2015-02-11 07:56:42 -08:00
Vijay Pai 4ca479c3a1 Change pointer format 2015-02-10 10:55:53 -08:00
Vijay Pai c3b02d9a67 Allow varying number of server threads via command line flag 2015-02-10 10:39:03 -08:00
Craig Tiller f8ac5d846c Fixup callers with new api 2015-02-09 16:24:20 -08:00
Vijay Pai 0ea6b435f3 Merge pull request #324 from ctiller/bench
Add pprof support to qps client, server
2015-02-01 09:31:09 -08:00
Craig Tiller 056ba544a2 Add pprof support
Starts profiling on client and server.
On client, finishes after a test.
On the server, finishes after sigint.
2015-01-31 21:15:10 -08:00
Yang Gao 5fd0d29dfe run clang-format 2015-01-26 00:19:48 -08:00
Craig Tiller 8a7a152919 Remove unused private field 2015-01-14 14:12:49 -08:00
Craig Tiller 1ee7cb0c0b Merge github.com:google/grpc into format 2015-01-13 12:39:00 -08:00
Craig Tiller bf2659f0b6 Fix qps test.
This was failing to compile.
2015-01-13 12:27:06 -08:00
vpai 92fe70e983 Added new results to report resource usage and QPS, along with new proto support for this
and also to turn the client into a server that can be controlled remotely (client part
not implemented yet)
	Change on 2015/01/13 by vpai <vpai@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83863541
2015-01-13 11:40:07 -08:00
Craig Tiller b5dcec5a2e clang-format codebase 2015-01-13 11:13:42 -08:00
yangg 59dfc90f57 Client side implementation of creating channel with credentials.
The old test_ssl_channel related code is deleted and the new create channel
call is used for interop tests.
	Change on 2014/12/19 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82540921
2014-12-29 16:59:06 -08:00
yangg a4b6f5df94 Add ServerContext. It is currently empty and deadline and metadata will come to
it in subsequent cl's.
	Change on 2014/12/17 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82372934
2014-12-19 13:02:04 -08:00
vpai 80b6d014ad Prepare QPS tests for running in GCE
Edit build.json to include qps tests and credentials
Perform required MOE edits for running qps tests in VM
Minor changes to underlying source files to support
issues like more restrictive warning flags in cloud.
	Change on 2014/12/17 by vpai <vpai@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82349829
2014-12-17 15:52:15 -08:00