Commit Graph

941 Commits

Author SHA1 Message Date
Na-Na Pang 7a464a3bc9 Merge remote-tracking branch 'upstream/master' 2019-05-10 11:16:14 -07:00
Karthik Ravi Shankar 476f7cd81f
Merge pull request #18730 from karthikravis/grpc_namespace_channel_new
Fold Channel into grpc_impl from grpc namespace
2019-05-09 14:09:21 -07:00
Na-Na Pang a2daa4ff08 Clean format' 2019-05-09 12:29:05 -07:00
Na-Na Pang 1ea651aee3 Add assertion 2019-05-09 12:22:55 -07:00
Na-Na Pang 9b50fbcaac Solve conflict 2019-05-08 18:50:06 -07:00
Na-Na Pang 762e58b574 Change client context allocation 2019-05-08 17:34:27 -07:00
Na-Na Pang 070902b871 Merge bm_callback_cq to bm_cq 2019-05-08 15:51:58 -07:00
Na-Na Pang 3fc702510f Reuse reactor to send new RPC 2019-05-08 10:15:43 -07:00
Na-Na Pang 2d5a9750a0 Manually add echo.proto to pass Portability build test 2019-05-06 16:20:59 -07:00
Na-Na Pang 1ba5f5c701 Modify build file 2019-05-06 14:55:00 -07:00
Na-Na Pang 32e10e618a address the reference arguments 2019-05-06 10:41:37 -07:00
Na-Na Pang 714e13b426 Delete log 2019-05-06 09:25:46 -07:00
Na-Na Pang c905f76a5b Clang format 2019-05-06 09:18:29 -07:00
Na-Na Pang 4198c4fcc6 Merge remote-tracking branch 'upstream/master' 2019-05-03 10:41:12 -07:00
Na-Na Pang 2787dedd70 Modify dependency of callback_test_service 2019-05-03 10:40:49 -07:00
Na-Na Pang 927c2f2c61 Change format 2019-05-02 17:24:54 -07:00
Na-Na Pang 5748665bc5 Add callback completion queue and modify callback streaming ping pong 2019-05-02 17:21:55 -07:00
Esun Kim e18ed03c04 Made gRPC inialized after entering main function in microbenchmarks. 2019-05-02 16:58:37 -07:00
Na-Na Pang 25128d18c1 Modify unary ping pong to send next rpc in callback function 2019-05-02 15:14:44 -07:00
Na-Na Pang 7d3fdec445 Add microbenchmark for callback completion queue 2019-05-01 11:29:28 -07:00
Na-Na Pang e70d507abe Changes based on comment 2019-04-30 16:32:31 -07:00
Karthik Ravi Shankar e3a0c85960 Merge branch 'master' into grpc_namespace_channel_new 2019-04-30 14:30:03 -07:00
Na-Na Pang b028141f01 Change streaming ping pong args and add comment 2019-04-30 14:24:40 -07:00
Karthik Ravi Shankar bc09c70799
Merge pull request #18454 from grpc/grpc_namespace_channel_arguments
Bring ChannelArguments to grpc_impl from grpc
2019-04-30 10:16:45 -07:00
Na-Na Pang 8bf138d799 Add copyright 2019-04-26 14:29:57 -07:00
Na-Na Pang 57bc124d3f Merge remote-tracking branch 'upstream/master' 2019-04-26 12:03:01 -07:00
Na-Na Pang 875d2df399 Modify build file 2019-04-26 10:52:21 -07:00
Na-Na Pang bbd4eb5028 Add microbenchmark for callback unary ping pong and bidistreaming ping pong 2019-04-26 09:52:12 -07:00
Yash Tibrewal 9345b7e276 s/atleast/at\ least 2019-04-25 17:15:30 -07:00
Arjun Roy 8ce42f67b2 Shrink arena size by 40 bytes and add additional
alignment options (for cache-alignment).

We shrink by:
1) Removing an unnecessary zone pointer.
2) Replacing gpr_mu (40 bytes when using pthread_mutex_t) with
std::atomic_flag.

We also header-inline the fastpath alloc (ie. when not doing a zone
alloc) and move the malloc() for a zone alloc outside of the mutex
critical zone, which allows us to replace the mutex with a spinlock.

We also cache-align created arenas.
2019-04-24 16:39:03 -07:00
Mark D. Roth ce3ff86763 Convert call_combiner to C++. 2019-04-23 15:27:06 -07:00
Karthik Ravi Shankar 858b5cca20 Fix clang_format_code.sh issues and move the internal calls to new name 2019-04-23 11:45:11 -07:00
Nicolas "Pixel" Noble b9a279c030 Resolving ambiguous call to CreateCustomChannel. 2019-04-22 23:53:53 +02:00
Karthik Ravi Shankar 973fa6950e Fold Channel into grpc_impl from grpc namespace 2019-04-11 12:04:23 -07:00
Karthik Ravi Shankar dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace.""" 2019-04-10 12:14:04 -07:00
Karthik Ravi Shankar 9875fabdd4 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 12:55:07 -07:00
Karthik Ravi Shankar dcc199048f
Merge pull request #18396 from grpc/revert-18392-revert-18223-grpc_namespace_opencensus
Revert "Revert "Fold opencensus into grpc_impl namespace""
2019-03-29 10:09:01 -07:00
Bill Feng c1b03b68da Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-28 16:45:41 -07:00
Guantao Liu 872d2787a0 Avoid using grpc_core::Executor when the background poller is available.
Instead, run closures in the background poller. This will generally
avoid the thread hop in the gRPC runtime.
2019-03-25 16:19:08 -07:00
Karthik Ravi Shankar 4e0923e802 Fix errors from clang_format_code.sh 2019-03-25 15:49:22 -07:00
Bill Feng d49cdbd01f Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-25 14:09:00 -07:00
Soheil Hassas Yeganeh a3366c1b7f
Merge pull request #18464 from soheilhy/slice-buffer
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
2019-03-23 22:42:23 -04:00
Soheil Hassas Yeganeh 1014fe507f Use const ref for grpc_slice.
We are copying the slice on every call creation, which is hurting
ping/pong traffic.
2019-03-22 06:38:33 -04:00
Bill Feng d93959853f Enabled Windows Bazel build for cpp tests 2019-03-21 18:00:48 -07:00
Karthik Ravi Shankar 4260fe1147 More fixes 2019-03-21 17:51:28 -07:00
Soheil Hassas Yeganeh ad1b3e5094 Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.

A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.

This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.

QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.

Also add tests and benchmarks for byte_buffer_reader_peek()

This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04:00
Karthik Ravi Shankar 2a8f3f79ab Fix more namespace stuff 2019-03-15 17:08:58 -07:00
Karthik Ravi Shankar f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace"" 2019-03-15 11:30:23 -07:00
Karthik Ravi Shankar 3b4835d92d
Merge pull request #18392 from grpc/revert-18223-grpc_namespace_opencensus
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 11:27:35 -07:00
Karthik Ravi Shankar 2bf934f97d
Revert "Fold opencensus into grpc_impl namespace" 2019-03-15 10:20:06 -07:00
Jan Tattermusch cf6a311761
Revert "Windows builds for gRPC C++ tests" 2019-03-15 17:15:20 +01:00
Karthik Ravi Shankar 276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Bill Feng d61f690a33
Merge pull request #18285 from billfeng327/update-deps-version
Windows local Bazel build for gRPC C++ tests
2019-03-08 14:17:36 -08:00
Soheil Hassas Yeganeh 0031393a17
Merge pull request #18240 from soheilhy/tcp-inq
Implement TCP_INQ for gRPC in Linux
2019-03-08 11:29:39 -05:00
billfeng327 9e102ea8b0 excluded non-compatible test 2019-03-07 16:14:02 -08:00
billfeng327 4241edeaa4 renamed tag to no_windows in conformation with Bazel and TensorFlow 2019-03-07 14:52:49 -08:00
Soheil Hassas Yeganeh 18b19105f2 Implement TCP_INQ for gRPC in Linux
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.

Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.

This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:

  Before:
    l_50: 61.3584984733
    l_90: 94.8328711277
    l_99: 126.211351174
    l_999: 158.722406029

  After:
    l_50: 51.3546011488 (-16%)
    l_90: 72.3420731581 (-23%)
    l_99: 103.280218974 (-18%)
    l_999: 130.905689996 (-17%)
2019-03-06 22:15:53 -05:00
billfeng327 928aedf5c8 Merge branch 'master' into update-deps-version 2019-03-06 15:48:29 -08:00
billfeng327 ab06853fc9 C++ Windows test builds 2019-03-06 15:47:49 -08:00
Soheil Hassas Yeganeh c060d55cc7
Revert "Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing." 2019-03-05 14:01:01 -05:00
Karthik Ravi Shankar b606cad6cc Fold opencensus into grpc_impl namespace
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -08:00
Soheil Hassas Yeganeh 509e77a5a3 Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.

A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.

This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.

QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.

Also add tests and benchmarks for byte_buffer_reader_peek()
2019-03-04 14:17:46 -05:00
Mark D. Roth 251d66aac6 Convert client channel factory to C++ 2019-03-01 08:40:21 -08:00
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -08:00
Vijay Pai 29191d5eda Need to properly init library for microbenchmarks 2019-02-26 12:44:13 -08:00
Mark D. Roth aa149fedbb Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
This reverts commit f327b83706, reversing
changes made to b3b5d63423.
2019-02-19 13:19:24 -08:00
hcaseyal 275296c594
Revert "LB policy picker API" 2019-02-19 11:05:52 -08:00
Soheil Hassas Yeganeh db38d4ca9b
Merge pull request #17939 from vertextao/gpr_mu_cv-leak-test
Add ASAN-only leak detection for gpr_mu/cv and fix the newly caught leaks
2019-02-15 21:43:32 -05:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
xtao 7766912dda
fix more detected mu/cv leaks 2019-02-16 00:00:50 +08:00
Nicolas "Pixel" Noble de332cfcee Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 22:11:47 +01:00
Mark D. Roth bab8123763 LB policy picker API 2019-02-13 08:30:04 -08:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
Vijay Pai f919ace038 Add a microbenchmark for immediately-firing alarms 2019-02-07 08:38:26 -08:00
Juanli Shen 4f3c1572e1
Revert "Revert "C++-ify subchannel"" 2019-01-30 10:23:07 -08:00
Juanli Shen bbfc024a02
Revert "C++-ify subchannel" 2019-01-29 15:23:55 -08:00
Juanli Shen 25dc2ffed6 C++-ify subchannel 2019-01-29 13:00:02 -08:00
Nicolas "Pixel" Noble 2fd079ff7c Channel folding. 2019-01-23 21:40:07 +01:00
Vijay Pai fab05d336c Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks 2019-01-23 11:21:50 -08:00
Vijay Pai 302e7b4d2b
Merge pull request #17658 from guantaol/avoid_thd_jump
Avoid the thread jump in server callback APIs.
2019-01-09 13:43:24 -08:00
Juanli Shen 23677bd827 Remove subchannel args 2019-01-08 19:43:45 -08:00
Guantao Liu 11eff929e2 Avoid the thread jump in server callback APIs.
Add a utility function in iomgr to check whether the caller thread is a
worker for any background poller, and keep grpc combiner from offloading
closures to the default executor if the current thread is a worker for
any background poller.
2019-01-07 18:22:50 -08:00
Soheil Hassas Yeganeh 2e017da58a Add microbenchmarks for grpc_timer
This helps assessing upcoming changes.
2018-12-21 18:56:09 -05:00
yang-g 038a71d826 Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util 2018-12-17 08:52:20 -08:00
Vijay Pai ca4e55e6ca Benchmark to show that byte buffer copy is size-independent 2018-12-14 13:23:34 -08:00
ncteisen 7b81ae14a7 clang tidy and clang format 2018-12-07 14:59:04 -08:00
yang-g 67742ef63f Fix BUILD files. Manually edit bzl files 2018-12-06 14:37:52 -08:00
Noah Eisen bc447b5f23
Revert "Revert "Add Testonly to Targets"" 2018-12-06 11:16:15 -08:00
Sheena Madan 5874506655
Merge pull request #17418 from grpc/revert-16882-microbenchmarks-bazel
Revert "Make Microbenchmarks Test Targets"
2018-12-05 18:41:39 -08:00
Sheena Madan 8a461613d1
Revert "Make Microbenchmarks Test Targets" 2018-12-05 16:45:15 -08:00
Sheena Madan de00c613a9
Revert "Add Testonly to Targets" 2018-12-05 16:40:37 -08:00
Sheena Madan 073467b584
Update BUILD 2018-12-04 13:14:58 -08:00
ncteisen 0a37159ff4 re add testonly 2018-12-04 12:41:47 -08:00
ncteisen 8ace4e16df disable some add some 2018-11-30 15:37:02 -08:00
ncteisen 475ccfd110 Fix ubsan 2018-11-30 10:27:34 -08:00
ncteisen 3eb6c4779d Exclude census 2018-11-30 10:27:34 -08:00
ncteisen bdd0d47e07 microbenchmarks don't use polling 2018-11-30 10:27:34 -08:00
Noah Eisen 12d9d04cb4 Make microbenchmarks test targets 2018-11-30 10:27:34 -08:00
Guantao Liu 99673fcbe3
Merge pull request #17244 from guantaol/ev_epollbg
Preparation for the new background poller 'epollbg'
2018-11-28 15:37:28 -08:00
Yash Tibrewal 248e304671 Merge branch 'master' into httpplumbing 2018-11-21 11:48:41 -08:00
Guantao Liu 458d9d28db Add the missing definition of shutdown_background_closure to bm_cq_multiple_threads 2018-11-20 11:09:06 -08:00
Yash Tibrewal bab043e865 Cleanup 2018-11-16 18:11:42 -08:00
Yash Tibrewal a60fd359cb Modify remaining usecases in test/cpp 2018-11-16 11:42:31 -08:00
Soheil Hassas Yeganeh 48e4a81b05 Remeve memset(0) from arena allocated memory.
Callers are updated to properly initialize the memory.

This behavior can be overridden using GRPC_ARENA_INIT_STRATEGY
environment variable.
2018-11-05 10:12:39 -05:00
ncteisen 1a7f14fd31 Remove uneeded header 2018-10-18 14:00:09 -07:00
Soheil Hassas Yeganeh cc5fe63da0 Fix bazel for //test/cpp/microbenchmarks/...
Fix a build failure due to missed dependency and add the bm_create_call
benchmark to the build targets.
2018-10-17 16:27:59 -04:00
ncteisen f53e6884b6 Fix two build breakages 2018-10-04 22:05:27 -07:00
ncteisen e35f24da4d reviewer feedback 2018-10-04 15:25:49 -07:00
Yash Tibrewal 130eeeaeb9 Merge branch 'master' into interceptors_initial 2018-10-02 14:49:17 -07:00
Hope Casey-Allen d568fba51a Add documentation for running microbenchmarks with other tooling 2018-09-28 14:36:13 -07:00
Yash Tibrewal a1598c5abf Create interfaces and initial plumbing for interception API 2018-09-26 19:25:30 -07:00
Vijay Pai 9134639877 Warn on non-virtual destructor if class has virtual functions 2018-09-20 18:09:27 -07:00
hcaseyal 07308653a8
Merge pull request #16629 from hcaseyal/fix_hpack_microbenchmarks
Add benchmarks for on_initial_header
2018-09-20 14:56:50 -07:00
Hope Casey-Allen 4c6e7ce15d Destroy metadata buffer at end of benchmark loop 2018-09-20 12:56:56 -07:00
Hope Casey-Allen d44feec92f Reassign arena pointer instead of stomping on memory 2018-09-20 09:54:59 -07:00
Hope Casey-Allen 4b721fbde0 Destroy arena at end of benchmark to not leak memory 2018-09-19 20:51:45 -07:00
Hope Casey-Allen 29d9489ea9 Increase initial arena size to be more representative of real workload scenario and increase frequency of recreating the arena to avoid oom 2018-09-19 20:46:17 -07:00
Hope Casey-Allen 91727bd015 Move arena create outside of benchmark, format, and typo fix 2018-09-19 19:13:23 -07:00
Noah Eisen c33ec79cd8 Only output stats if they were collected 2018-09-17 15:15:05 -07:00
Hope Casey-Allen 967bbcd5d3 Fixing benchmark name and adding a new one 2018-09-13 18:38:01 -07:00
Yash Tibrewal 8d47cd4992
Revert "Revert "Fathom tcp changes"" 2018-08-27 14:56:01 -07:00
Jan Tattermusch 97ba943f17
Revert "Fathom tcp changes" 2018-08-27 12:43:20 +02:00
Yash Tibrewal aab47cbdf2
Merge pull request #15941 from yashykt/fathomtcpchanges
Fathom tcp changes
2018-08-24 12:27:56 -07:00
Vijay Pai a4326eb7b8 Add comment to address reviewer comment 2018-08-13 23:01:23 -07:00
Vijay Pai a0e92e7727 Add proper synchronization so that stats are setup and destroyed cleanly 2018-08-10 15:48:48 -07:00
Vijay Pai 9043a4f56d Some cleanup 2018-08-10 06:11:40 +00:00
Vijay Pai 17e3611c0d Infrastructure for adding custom polling engines 2018-08-09 12:39:30 -07:00
Yash Tibrewal f0397933b0 Fathom TCP level changes. TracedBuffer for keeping track of all buffers
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
2018-07-16 16:28:15 -07:00
Juanli Shen f5f1d57d7a Add load reporting filter 2018-06-22 10:00:48 -07:00
ncteisen 77472309d5 Add channel creation benchmark 2018-06-21 10:30:49 -07:00
Mark D. Roth 547bb5e66f
Merge pull request #15782 from markdroth/recv_trailing_metadata_ready3
Third attempt: move recv_trailing_metadata into its own callback, don't use on_complete for recv_ops
2018-06-19 07:40:31 -07:00
Jim King 01cbab60f3
Merge pull request #15070 from Vizerai/filter_port
Adding opencensus grpc plugin with bazel support.
2018-06-18 17:01:26 -07:00
adelez 5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds"" 2018-06-15 16:31:21 -07:00
Noah Eisen 58e0cbf9fb Enable the performance-* clang-tidy checks 2018-06-14 14:58:09 -04:00
Nicolas Noble 43557fee0b
Revert "Add suppressions to sanitizers for bazel builds" 2018-06-14 10:49:11 -07:00
Mark D. Roth 817d28fed6 Revert "Merge pull request #15746 from grpc/revert-15709-recv_trailing_metadata_ready2"
This reverts commit 3f9308ce1f, reversing
changes made to 92a0ae0b10.
2018-06-14 09:44:58 -07:00
Adele Zhou 4cd659505c Add data param to grpc_cc_library 2018-06-13 15:36:28 -07:00
apolcyn eb10abe94a
Merge pull request #15648 from apolcyn/remove_fd_shutdown_already_closed
Remove already_closed param from fd_orphan
2018-06-12 14:06:33 -07:00
Alexander Polcyn 4e8a2f5f27 Remove already_closed param from fd_orphan 2018-06-07 15:27:05 -07:00
Yash Tibrewal 905f0ca39e merge master 2018-05-31 19:47:30 -07:00
Vizerai e501a3d3fd Merge branch 'master' of https://github.com/Vizerai/grpc into filter_port 2018-05-29 10:45:32 -07:00
Vizerai 8cd49c528d update 2018-05-25 11:40:51 -07:00
Noah Eisen e8157e662c remove unnecessary blank line 2018-05-24 17:48:27 -07:00
Noah Eisen 39a6bb6c3e Fix asan closure bug 2018-05-24 17:07:25 -07:00
Vizerai 95393cf530 Fixed opencensus benchmark to be compliant with grpc benchmarks. 2018-05-10 13:26:23 -07:00
Noah Eisen b649422741
Merge pull request #15220 from ncteisen/microbenchmarks
Don't Use Benchmark Counters
2018-04-27 13:38:01 -07:00
ncteisen 771385789b Dont use benchmark counters 2018-04-27 10:53:16 -07:00
ncteisen 40ec89ff67 Support microbenchmarks internally 2018-04-25 17:41:23 -07:00
Yash Tibrewal adc733f024 Make linux polling engines capable of tracking errors separately with
backward compatibility.
2018-04-20 14:55:07 -07:00
Vijay Pai cdddc8ce42 Desneak client unary call, avoid Hyrum's Law (used for 1-thread simplicity) 2018-03-20 08:46:28 -07:00
Vijay Pai 2c6aee9cf7
Merge pull request #14591 from vjpai/framesize
Build with stack frame size limits
2018-03-12 14:21:10 -07:00
Mark D. Roth 41c396ec88
Merge pull request #14607 from markdroth/c++_byte_stream
Convert byte_stream API to C++.
2018-03-12 11:05:36 -07:00
Mark D. Roth 3d8b32d8b3 Convert byte_stream API to C++. 2018-03-09 13:25:40 -08:00
Vijay Pai c90a85649b Change grpc++ references in names to grpcpp 2018-03-08 22:04:59 -08:00
Vijay Pai 2f4161c210 Use stack frame size limits for consistency with internal builds 2018-03-05 16:43:32 -08:00
Noah Eisen 4d20a66685 Run clang fmt 2018-02-09 09:34:04 -08:00
Noah Eisen be82e64b3d Autofix c casts to c++ casts 2018-02-09 09:16:55 -08:00
Vijay Pai 239b7d4b0b Merge branch 'master' into gpr_review 2018-02-08 11:08:41 -08:00
Sree Kuchibhotla 3293da3ca3 Change the Fixture shutdown code so that the server fds are still polled
(to flush out any writes) when the server is shutdown.
2018-02-06 23:45:15 -08:00
Vijay Pai d4d0a30c6f Privatize useful.h and avl.h 2018-02-02 09:16:44 -08:00
Jan Tattermusch 889bb7fde4 calling create in default param is against code style 2018-01-31 23:21:41 +01:00
Jan Tattermusch 18f27376c5 avoid touching stats_ instance field before base constructor 2018-01-31 22:35:17 +01:00
Jan Tattermusch 12ba4b1e05 make grpc_passthru_endpoint_stats refcounted 2018-01-30 19:24:56 +01:00
Mark D. Roth dbdf495f61 Split lib/support into lib/gpr and lib/gpr++. 2018-01-18 11:21:12 -08:00
Yash Tibrewal 8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed"" 2017-12-06 09:47:54 -08:00
Yash Tibrewal ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed" 2017-12-06 09:05:05 -08:00
Yash Tibrewal 73bb67d054 Merge master into execctx 2017-12-05 17:49:11 -08:00
Mark D. Roth e109ddf89f Merge remote-tracking branch 'upstream/master' into server_connection_timeout 2017-12-01 08:56:25 -08:00
Yash Tibrewal 36522e9f80 Merge master after no Extern C changes 2017-11-30 17:47:36 -08:00
Yash Tibrewal c354269ba7 Remove _ prefixed variable names 2017-11-29 19:07:44 -08:00
Mark D. Roth 5491eb7c5b Merge remote-tracking branch 'upstream/master' into server_connection_timeout 2017-11-27 10:17:44 -08:00
Mark D. Roth aaad0c2e5a clang-format 2017-11-27 08:31:50 -08:00
Yash Tibrewal eaf67dbdf6 Fixing errors and minor bugs 2017-11-22 16:59:56 -08:00
Yash Tibrewal 7486144de0 Merge master 2017-11-21 16:52:06 -08:00
ncteisen e8bb8749ed Merge branch 'master' of https://github.com/grpc/grpc into no-more-extern-c 2017-11-21 16:22:00 -05:00
ncteisen 6dc1097c5e Fix test cert build 2017-11-20 12:41:13 -05:00
Yash Tibrewal 177039b2f8 Merge master 2017-11-16 19:31:28 -08:00
ncteisen 3039b37a0e Fix bad merge 2017-11-15 18:24:05 -08:00
ncteisen df817f3e1a Merge branch 'master' of https://github.com/grpc/grpc into surfacing-error-details 2017-11-15 16:48:19 -08:00
Mark D. Roth 03610f672e Merge remote-tracking branch 'upstream/master' into server_connection_timeout 2017-11-15 12:54:28 -08:00
Yash Tibrewal 6c26b16fe0 Move ExecCtx to grpc_core namespace. Make exec_ctx a private static in ExecCtx and some minor changes 2017-11-14 18:11:22 -08:00
Yash Tibrewal 75122c2357 Address some PR comments 2017-11-14 01:36:28 -08:00
ncteisen 1037216ca1 Merge branch 'master' of https://github.com/grpc/grpc into surfacing-error-details 2017-11-13 08:04:23 -08:00
ncteisen 40737d67ee Add error string to recv status API 2017-11-13 08:02:35 -08:00
Craig Tiller be98d24841 clang-format after nullptr changes 2017-11-10 15:26:57 -08:00
Craig Tiller 4ac2b8e585 Enable clang-tidy as a sanity check, fix up all known failures 2017-11-10 14:14:17 -08:00
Yash Tibrewal 0032548674 Correction to closure.cc,bm_chttp2_hpack and few more 2017-11-10 10:48:15 -08:00
Yash Tibrewal 3150744c71 Removing more exec_ctx instances 2017-11-09 18:27:37 -08:00
Yash Tibrewal 4e9265c828 Merge with master 2017-11-09 17:46:29 -08:00
Mark D. Roth 04c97d0e0d Add notify_on_receive_settings closure to chttp2 transport. 2017-11-09 09:14:14 -08:00
Mark D. Roth bcfd0f38fc Bool-ify is_client param. 2017-11-09 08:04:47 -08:00
Yash Tibrewal 5e42211e7f Merge branch 'master' into testc++ize 2017-11-06 18:40:52 -08:00
Noah Eisen 74e7bd7d16
Merge pull request #13244 from ncteisen/streaming-ping-pong
Revert "Revert "Fix benchmark crash""
2017-11-06 14:58:14 -08:00
Yash Tibrewal 40422d5fa6 Merge master 2017-11-06 14:43:31 -08:00
ncteisen e8b09eee58 Fix deadlock 2017-11-03 16:17:55 -07:00
Craig Tiller baa14a975e Update clang-format to 5.0 2017-11-03 09:09:36 -07:00
ncteisen b669ff34eb Revert "Revert "Fix benchmark crash""
This reverts commit ac5522bef7.
2017-11-02 15:14:04 -07:00
Noah Eisen ac5522bef7
Revert "Fix benchmark crash" 2017-11-02 13:17:02 -07:00
Yash Tibrewal aae4ca01a3 Merge master 2017-11-02 11:19:16 -07:00
Craig Tiller 66b740a8c6
Merge pull request #13053 from ctiller/fcfix
Fix benchmark crash
2017-11-01 15:22:06 -07:00
Yash Tibrewal 888691344e Merge branch 'master' into testc++ize 2017-10-31 11:24:36 -07:00
Vijay Pai 8afaf61fea
Merge pull request #13192 from vjpai/spp
Fix a data race in microbenchmark stats gathering
2017-10-30 21:54:23 -07:00
Yash Tibrewal 268685bcbd Merge branch 'master' into testc++ize 2017-10-30 16:28:56 -07:00
Vijay Pai f92b530068 Fix a data race in microbenchmark stats gathering 2017-10-30 15:10:56 -07:00
Vijay Pai cb36615ddd GPR_ATTRIBUTE_NO_TSAN doesn't reach through function calls, so use a friend 2017-10-30 13:31:07 -07:00
kpayson64 555b84506e
Merge pull request #12870 from kpayson64/call_bm_diff
Add call size bm diff
2017-10-27 16:28:52 -07:00
Ken Payson 667aa2b990 Add call size bm_diff 2017-10-27 14:33:17 -07:00
Vijay Pai 06e174a088 Separate public and internal C++ interfaces 2017-10-26 14:28:26 -07:00
Yash Tibrewal 39aed1ae8b Remove unnecessary extern Cs 2017-10-25 17:04:35 -07:00
Yuchen Zeng c01c7cbd85 Merge pull request #12219 from y-zeng/http2_connector
Add the endpoint used by the handshake process to connector's pollset_set
2017-10-24 11:54:29 -07:00
ncteisen c296e82e11 clang fmt 2017-10-24 08:58:14 -07:00
ncteisen 9e3eedb6af Remove old header benchmark 2017-10-24 08:33:00 -07:00
ncteisen 6bf4bcef04 Fix bm_diff 2017-10-23 22:19:01 -07:00
Yuchen Zeng 6a0874b405 Fix bm_chttp2_transport 2017-10-23 20:47:53 -07:00
yang-g 83085aa74f Add a microbm, seeing 195ns with current impl and 162ns with new impl 2017-10-19 16:11:06 -07:00
Yash Tibrewal 0ee7574732 Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
2017-10-18 17:12:19 -07:00
Craig Tiller 25b037fe9d Fix benchmark crash 2017-10-18 14:03:08 -07:00
Craig Tiller f83b6ce151 Fix compilation 2017-10-18 13:02:44 -07:00
Craig Tiller 09247ac453 Merge branch 'pid++' into flow++ 2017-10-18 12:00:37 -07:00
yang-g c010d1d18a Update benchmark according to new encoding method 2017-10-16 17:57:46 -07:00
yang-g c94c7cc5b5 restore existing fixtures 2017-10-16 17:57:46 -07:00
yang-g 377636f4d2 Make hpack micro bm more representative 2017-10-16 17:57:46 -07:00
Craig Tiller 3273648a87 flow control fixes 2017-10-12 22:02:28 -07:00
Craig Tiller 2145d2cee4 clang-format 2017-10-12 15:51:47 -07:00
Craig Tiller 4048569477 Fix compilation 2017-10-11 08:29:42 -07:00
Craig Tiller 99fafa17a3 Fix compilation 2017-10-11 08:26:32 -07:00
Craig Tiller 710334577c Fix sanity 2017-09-22 07:47:15 -07:00
Craig Tiller f7225eb5f6 Fix some stalling in bm_fullstack_trickle, also switch to synthetic time 2017-09-21 14:59:28 -07:00
Craig Tiller 6a34067d16 Merge github.com:grpc/grpc into grpc_millis 2017-09-19 12:44:15 -07:00
Craig Tiller 50448beab3 Merge github.com:grpc/grpc into grpc_millis 2017-09-18 13:56:51 -07:00
Craig Tiller adbcec4f57 Merge github.com:grpc/grpc into pollset_kick_stats 2017-09-18 08:57:19 -07:00
Alok Kumar 6b84005651 Add independent library targets for newly added .h files for microbenchmarks. Also fix includes in fullstack_fixtures.h 2017-09-13 13:34:45 -07:00
Craig Tiller 8e87c74fe9 Fix compilation for C++ 2017-09-11 14:06:09 -07:00
Craig Tiller bbe282f600 Merge github.com:grpc/grpc into grpc_millis 2017-09-11 12:11:40 -07:00
Craig Tiller ed26a49b2c Add annotation 2017-09-10 20:59:11 -07:00
Craig Tiller 55863ff527 Merge github.com:grpc/grpc into write_completion 2017-09-08 14:39:15 -07:00
Craig Tiller fabb513fe4 Merge 2017-09-08 11:45:11 -07:00
David G. Quintas 11b4ddde59 Merge pull request #12200 from dgquintas/rename_lr_to_plugin
Renamed load_reporting.{c,h} to load_reporting_plugin.{c,h}
2017-09-08 10:22:08 -07:00
kumaralokgithub bf3b8445fe Merge pull request #12402 from kumaralokgithub/master
Partition microbenchmarks to be easily shareable with google specific transports
2017-09-07 18:33:10 -07:00
David Garcia Quintas 1faa48ead3 Merge branch 'master' of github.com:grpc/grpc into rename_lr_to_plugin 2017-09-07 15:29:03 -07:00
Craig Tiller 38b15c8ca3 Merge branch 'write_completion' into write_completion_stats 2017-09-07 14:48:52 -07:00
Craig Tiller dfc6cffdf8 Merge github.com:grpc/grpc into write_completion 2017-09-07 14:48:40 -07:00
Craig Tiller 9e3af382fb Merge github.com:grpc/grpc into stats_histo 2017-09-07 14:47:55 -07:00
Craig Tiller 022ad3ae89 Merge branch 'stats_histo' into write_completion_stats 2017-09-07 13:01:56 -07:00
Craig Tiller c1453ca8c2 Revert "Annotate benign race"
This reverts commit 6869da4d65.
2017-09-07 10:19:43 -07:00
Alok Kumar c2ec4d6ea9 Merge remote-tracking branch 'upstream/master' 2017-09-06 21:25:47 -07:00
David Garcia Quintas 0822d331df s/load_reporting/server_load_reporting 2017-09-06 18:18:48 -07:00
Alok Kumar 1b6f4fc79f Clang format modified files 2017-09-06 17:15:04 -07:00
Alok Kumar dd9916d364 Fix microbenchmarks BUILD file 2017-09-06 17:15:04 -07:00
Alok Kumar e0399c29c5 Partition microbenchmarks to be easily sharable for google specific transports 2017-09-06 17:14:38 -07:00
Craig Tiller 6869da4d65 Annotate benign race 2017-09-06 09:49:02 -07:00
Craig Tiller b675e0a0af Annotate benign race 2017-09-06 09:22:39 -07:00
Craig Tiller ee090ec975 Merge github.com:grpc/grpc into wc 2017-09-01 10:30:11 -07:00
Craig Tiller 6ba448fb55 Merge github.com:grpc/grpc into write_completion 2017-09-01 10:09:30 -07:00
Mark D. Roth 764cf04a13 Revert "Revert "Implement call combiner""
This reverts commit bf19961d0a.
2017-09-01 09:00:06 -07:00
Craig Tiller 890f542498 Merge branch 'stats' into stats_histo 2017-08-31 12:24:15 -07:00
Craig Tiller ccad38227f Merge github.com:grpc/grpc into stats 2017-08-31 12:23:53 -07:00
Craig Tiller 5489d41c15 Expose histograms via microbenchmarks 2017-08-31 12:20:04 -07:00
Craig Tiller 8fd40d5ed9 Merge github.com:grpc/grpc into wc 2017-08-31 10:54:11 -07:00
Nicolas "Pixel" Noble 90df76b463 Merge branch 'master' of https://github.com/grpc/grpc into visibility 2017-08-30 23:13:25 +02:00
Nicolas "Pixel" Noble 2bc5e3ac40 Moving visibility and package creation to the build system. 2017-08-30 19:18:37 +02:00
Mark D. Roth bf19961d0a Revert "Implement call combiner" 2017-08-29 16:59:07 -07:00
Craig Tiller 03c908fc9e Merge github.com:grpc/grpc into stats 2017-08-29 12:34:10 -07:00
Craig Tiller d9b82bdecb Merge github.com:grpc/grpc into grpc_millis 2017-08-29 12:16:56 -07:00
Mark D. Roth ff4f2db4b9 Merge pull request #11566 from markdroth/call_combiner
Implement call combiner
2017-08-25 09:05:04 -07:00
Mark D. Roth 76e264b8df Implement call combiner. 2017-08-25 09:03:33 -07:00
ncteisen c302eb9840 Microbenchmarks work with bazel 2017-08-22 12:24:54 -07:00
Vijay Pai 81522c8ebe Add unsecure libraries to bazel build targets 2017-08-02 19:44:32 -07:00
ncteisen ab04027e47 Merge branch 'master' of https://github.com/grpc/grpc into flow-control-v3 2017-08-01 10:58:29 -07:00
ncteisen fb193a1e2f Merge branch 'master' of https://github.com/grpc/grpc into flow-control-v3 2017-07-28 15:47:32 -07:00
yang-g 7d6b914f98 Change return type to bool 2017-07-28 12:49:40 -07:00
yang-g 0eaf7debd2 Allow adding events to cq after shutdown is called. 2017-07-28 12:49:40 -07:00
Vijay Pai 6abd20020b Revert "Separate internal-only and public parts of C++ API" 2017-07-25 00:43:30 -07:00
Craig Tiller 4c0ac4a9f5 Fix fix fix chttp2_transport 2017-07-21 10:38:18 -07:00
Craig Tiller cbb384007e Fix bm_chttp2_transport 2017-07-21 09:52:25 -07:00
Craig Tiller b4bb1cdce4 Add counters, fix race 2017-07-20 14:18:17 -07:00
Craig Tiller b89304652b Build simplification 2017-07-19 16:24:19 -07:00
Craig Tiller 89c1428a60 Propagate grpc_millis further 2017-07-19 15:32:27 -07:00
ncteisen 3c909d55fd Pull out flow control objects 2017-07-18 17:06:58 -07:00
ncteisen 06f052b35d Get rid of local window, fix qps worker 2017-07-18 17:06:58 -07:00
ncteisen 268a82398c Pull flow control into one module 2017-07-18 17:06:57 -07:00
Yuchen Zeng 9968c253cd Update bm_pollset with the fd_orphan change 2017-07-17 17:52:15 -07:00
Vijay Pai fd82a6cb4f Merge pull request #11145 from vjpai/inproc3
In-process transport
2017-07-15 20:05:26 -07:00
Vijay Pai 3d7d5f4ed2 Create inproc transport, add relevant tests, exclude irrelevant tests 2017-07-14 16:23:54 -07:00
Sree Kuchibhotla a69878a217 fix memory leaks due to not calling grpc_shutdown in bm_cq_multiple_threads 2017-07-14 11:29:28 -07:00
Nicolas Noble 9877189e45 Merge pull request #11310 from nicolasnoble/import
Import mutations.
2017-07-13 13:39:58 -07:00
Vijay Pai c0baec60a1 Internalize structs and methods meant for being exposed through codegen
or that interface with core and are only for internal use
2017-07-10 14:33:53 -07:00
murgatroid99 882ba60fcb Merge remote-tracking branch 'upstream/v1.4.x' into master_1.4.1_upmerge 2017-07-06 10:15:11 -07:00
ncteisen 131d2f19a1 Few more bm trickle fixes 2017-06-26 23:45:16 -07:00
ncteisen 0911b1612a Fix bm_diff 2017-06-26 22:54:28 -07:00
Nicolas "Pixel" Noble 5d80dc4985 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-06-26 22:01:11 +02:00
Mark D. Roth bd3b93b4b5 Add support for Trailers-Only responses.
- When receiving a Trailers-Only response, return the metadata as
  trailing metadata instead of initial metadata.
- Send Trailers-Only response when we have no non-default initial metadata,
  no message to send, and trailing metadata to send.
2017-06-22 10:53:01 -07:00
ncteisen 274bbbe6a0 Add rich closure debug mode 2017-06-08 15:29:29 -07:00
Craig Tiller b3899fd18b Merge github.com:grpc/grpc into ALL-the-things 2017-06-08 07:54:10 -07:00
Jan Tattermusch 4d5c3102a1 fix remaining license notices 2017-06-08 11:22:41 +02:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Craig Tiller dfd7a4dc0d Merge github.com:grpc/grpc into ALL-the-things 2017-06-07 12:22:41 -07:00
ncteisen e9dea378c5 Pare down args once more 2017-06-06 17:02:38 -07:00
Craig Tiller 71005b169a Merge branch 'selectivity' into ALL-the-things 2017-06-02 14:36:41 -07:00
ncteisen 8758e1030f Clang fmt 2017-06-02 11:36:30 -07:00
ncteisen 6996f57783 Change identity 2017-06-02 10:53:43 -07:00
ncteisen 777e91d406 Redo unary trickle args sweep 2017-06-02 09:59:46 -07:00
ncteisen 3972fad38c clang format 2017-05-31 18:47:49 -07:00
ncteisen a4cd06fc21 Fixes 2017-05-26 11:06:33 -04:00
ncteisen 28b0828243 bm trickly bugfix 2017-05-26 11:06:33 -04:00
Nicolas "Pixel" Noble 5a1d197f1c Merge branch 'master' of https://github.com/grpc/grpc into import 2017-05-26 00:31:18 +02:00
Craig Tiller d8e896ecd7 Remove function 2017-05-24 15:55:43 -07:00
Craig Tiller 674af8f23e Merge github.com:grpc/grpc into thread_pool 2017-05-23 22:55:34 +00:00
Noah Eisen e6bf7d054c Merge pull request #10930 from ncteisen/frame-size
Set Frame Size to Bytes per Microsecond
2017-05-18 17:46:33 -07:00
Nicolas "Pixel" Noble af6c83f9e1 Adding dummy layering check option. 2017-05-19 01:53:56 +02:00
Craig Tiller 38e94c2805 Fix C++ build 2017-05-17 08:08:45 -07:00
Yuxuan Li 02d635bf88 remove unncessary include 2017-05-15 15:20:05 -07:00
Yuxuan Li 6ca796d7ad merge master, resolve conflict 2017-05-15 14:15:34 -07:00
Sree Kuchibhotla a6171a990e Merge pull request #10662 from sreecha/cq_mpsc_based
grpc_mpsc queue based completion queue
2017-05-15 10:06:07 -07:00
Nicolas "Pixel" Noble 3445079089 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-05-12 23:58:25 +02:00
Nicolas "Pixel" Noble ba54a1c95e Merge failure, missing commas. 2017-05-12 17:13:58 +02:00
Craig Tiller 5f24bb121e just use char* overload 2017-05-11 15:14:32 -07:00
Craig Tiller 0ccaff9cb6 Explicitly mention std::string 2017-05-11 14:44:23 -07:00
Nicolas "Pixel" Noble eb36b8ac77 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-05-11 23:24:37 +02:00
Sree Kuchibhotla 467ad2002f Merge branch 'master' into cq_mpsc_based 2017-05-11 13:15:07 -07:00
Craig Tiller 357523509a Merge pull request #11074 from ctiller/pump
Finish pumped streams: should alleviate infinite hang
2017-05-11 11:00:12 -07:00
Sree Kuchibhotla 6e510f700d Merge branch 'master' into cq_mpsc_based 2017-05-10 19:35:03 -07:00
ncteisen 4c4272923b Merge branch 'master' of https://github.com/grpc/grpc into frame-size 2017-05-10 17:50:05 -07:00
Craig Tiller a1d00facbc Finish pumped streams: should alleviate infinite hang 2017-05-10 15:43:44 -07:00
Craig Tiller a7785ba22e Merge github.com:grpc/grpc into uberpoll 2017-05-10 13:36:20 -07:00
Craig Tiller 5d5bbc9f8c Merge pull request #11061 from ctiller/ubsanc++
Fixes for ubsan C++ build
2017-05-10 13:35:11 -07:00
ncteisen 1842c4379c Clang 2017-05-10 08:54:39 -07:00
Craig Tiller 7b622ab558 ubsan fix: dont deref past end of array 2017-05-10 07:58:41 -07:00
ncteisen c7de5a7601 Add warmup 2017-05-09 15:50:32 -07:00
ncteisen 0725d3a4b3 Run bm resonable number of times 2017-05-09 12:05:11 -07:00
ncteisen b6ac9b4573 Add unbalanced unary benchmark 2017-05-08 17:10:31 -07:00
Yuxuan Li a7f7fcf94a Merge branch 'master' into poll_stat 2017-05-08 11:35:00 -07:00
Craig Tiller d868a07d7c Merge github.com:grpc/grpc into uberpoll 2017-05-07 20:02:30 -07:00
Yuxuan Li a33e2b27a1 add some comments 2017-05-04 16:13:49 -07:00
ncteisen 1c8698758d Set frame size to B/us 2017-05-04 11:56:14 -07:00
Yuxuan Li 28efff3e1e clang-format 2017-05-03 22:50:56 -07:00
Yuxuan Li 999ac157e6 initial implementation. 2017-05-03 21:36:36 -07:00
Nicolas "Pixel" Noble c020da9634 Forgot one external dependency. 2017-05-01 21:49:46 +02:00
Craig Tiller ff54f5b150 Merge github.com:grpc/grpc into trickle_stall 2017-04-26 10:38:15 -07:00
Sree Kuchibhotla ff7a587608 Merge branch 'master' into cq_mpsc_based 2017-04-25 12:10:38 -07:00
Craig Tiller f54b89c4f8 Merge github.com:grpc/grpc into epex4 2017-04-25 10:31:08 -07:00
Craig Tiller 9fd7cf5dc3 Recycle ports 2017-04-25 08:45:06 -07:00
Craig Tiller 956920d84e clang-format 2017-04-24 13:09:12 -07:00
Craig Tiller 1fb0c39168 Merge github.com:grpc/grpc into epex4 2017-04-24 18:35:36 +00:00
Craig Tiller 46436cbe31 Merge github.com:grpc/grpc into trickle_stall 2017-04-21 16:24:40 -07:00
Sree Kuchibhotla 76b1c0d844 Merge branch 'master' into cq_mpsc_based 2017-04-21 16:08:58 -07:00
Craig Tiller ee880fd373 Merge github.com:grpc/grpc into count_now 2017-04-21 15:43:27 -07:00
Sree Kuchibhotla f700705891 Merge branch 'master' into cq_mpsc_based 2017-04-21 14:13:59 -07:00
Craig Tiller 8e1fe5f16a Merge github.com:grpc/grpc into trickle_stall 2017-04-21 08:01:35 -07:00
Craig Tiller 89f8d4c443 Merge github.com:grpc/grpc into epex4 2017-04-20 22:21:23 +00:00