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