Karthik Ravi Shankar
939830aa15
Merge pull request #20030 from karthikravis/move-method-handler
...
Make MethodHandler and related interfaces generic
2019-09-10 21:45:08 -07:00
Soheil Hassas Yeganeh
9f48cb0f07
Merge pull request #19907 from soheilhy/call-cycle-clock
...
Use cycle clock instead of clock monotonic to measure call latency.
2019-09-10 14:36:27 -04:00
Yash Tibrewal
f3cd878e0b
Merge pull request #20188 from yashykt/creds_interception
...
Allow call credentials interception at PRE_SEND_INITIAL_METADATA
2019-09-09 18:42:11 -07:00
Yash Tibrewal
aa84ceb38e
Add another test for when the credentials were previously set
2019-09-09 15:59:59 -07:00
Soheil Hassas Yeganeh
c9376b4e0b
Use cycle clock instead of clock monotonic to measure call latency.
...
This removes two more getttime syscalls from the hot path, when cycle
clock is enabled.
2019-09-09 10:37:48 -04:00
Yash Tibrewal
361a902262
Reviewer comments
2019-09-06 14:20:39 -07:00
Arjun Roy
0b06676c9e
hpack encoder optimizations.
...
Removed some cycles and branches from hpack_enc for CH2.
Specifically:
1. Pushed certain metadata key/value length checks to
prepare_application_metadata() in src/core/lib/surface/call.cc.
This means that rather than check all key/val lengths for all metadata, we only
do so for custom added user metadata. Inside CH2, we change the length checks to
debug checks so we can catch if core/filter metadata fails to pass the check.
2. Changed various asserts to debug asserts when able.
3. Refactored some of the header emission code to remove duplicated code.
4. Un-inlined some logging methods.
This results in somewhat faster hpack_encoder performance:
BM_HpackEncoderInitDestroy
222ns ± 0% 221ns ± 0% -0.29% (p=0.000 n=34+34)
BM_HpackEncoderEncodeDeadline
[framing_bytes/iter:9 header_bytes/iter:6 ] 135ns ± 1%
124ns ± 0% -8.05% (p=0.000 n=39+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.2ns ± 0%
34.2ns ± 0% -0.01% (p=0.014 n=34+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.2ns ± 0%
34.2ns ± 0% -0.04% (p=0.004 n=34+37)
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.5ns ± 0%
45.9ns ± 0% -3.28% (p=0.000 n=28+38)
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:6 ] 77.0ns ± 1%
68.3ns ± 1% -11.33% (p=0.000 n=39+40)
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 1%
45.5ns ± 0% -4.63% (p=0.000 n=39+33)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.2ns ± 0%
45.3ns ± 0% -3.96% (p=0.000 n=33+34)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.6ns ± 0% -4.54% (p=0.000 n=38+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.63% (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 0%
45.6ns ± 1% -4.59% (p=0.000 n=38+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 0%
45.5ns ± 0% -4.64% (p=0.000 n=39+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.3ns ± 0%
45.3ns ± 0% -4.09% (p=0.000 n=38+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 1%
45.6ns ± 0% -4.71% (p=0.000 n=37+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.66% (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 1%
45.6ns ± 1% -4.62% (p=0.000 n=37+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.67% (p=0.000 n=38+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:9 ] 80.5ns ± 1%
74.7ns ± 0% -7.16% (p=0.000 n=38+35)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 105ns ± 1%
99ns ± 0% -5.91% (p=0.000 n=38+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 111ns ± 1%
106ns ± 1% -4.86% (p=0.020 n=39+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:23 ] 135ns ± 0%
130ns ± 0% -3.45% (p=0.020 n=35+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:46 ] 225ns ± 1%
223ns ± 0% -0.91% (p=0.003 n=37+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:120 ] 467ns ± 0%
472ns ± 0% +1.09% (p=0.003 n=38+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 81.6ns ± 1%
74.8ns ± 0% -8.40% (p=0.000 n=37+33)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 82.0ns ± 1%
74.8ns ± 0% -8.80% (p=0.000 n=37+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:21 ] 82.1ns ± 1%
74.9ns ± 0% -8.86% (p=0.000 n=35+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:42 ] 97.6ns ± 2%
91.8ns ± 0% -5.95% (p=0.000 n=35+27)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:111 ] 97.2ns ± 1%
91.2ns ± 2% -6.19% (p=0.000 n=37+38)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1
[framing_bytes/iter:54 header_bytes/iter:9 ] 230ns ± 0%
221ns ± 0% -3.91% (p=0.000 n=38+37)
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:16 ] 206ns ± 2%
170ns ± 1% -17.51% (p=0.000 n=39+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:3 ] 66.4ns ± 2%
62.5ns ± 1% -5.85% (p=0.000 n=34+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.5ns ± 0%
45.9ns ± 1% -3.29% (p=0.000 n=26+38)
2019-09-06 13:43:29 -07:00
rmstar
a9dbfb7c2f
Merge pull request #20028 from rmstar/ioscppe2e
...
Enable end2end C++ tests on iOS.
2019-09-06 13:27:13 -07:00
Karthik Ravi Shankar
7ec1a9663d
Merge branch 'master' into move-method-handler
2019-09-06 12:21:29 -07:00
Yash Tibrewal
97f1f57dab
Allow call credentials to be set even after the call is created but before initial metadata is sent
2019-09-05 18:13:59 -07:00
Prashant Jaikumar
9f02fc7f91
Enable end2end C++ tests on iOS.
...
Some e2e tests were disabled on iOS because they hit the Apple CFStream bug.
This commit enables e2e tests and works around the Apple bug by disabling CFStream.
2019-09-05 13:43:45 -07:00
Vijay Pai
9bb1247bdb
Merge pull request #16327 from vjpai/keep_running
...
C++ microbenchmarks: update from KeepRunning to range-based for
2019-09-05 11:07:53 -07:00
Juanli Shen
91274b0430
Merge pull request #20152 from AspirinSJL/group_test
...
Organize test cases for xds test
2019-09-04 13:41:33 -07:00
rmstar
6751e6ea43
Merge pull request #20138 from rmstar/timejumptestfix
...
Don't run time_jump_test under sanitizers
2019-09-04 10:47:49 -07:00
Juanli Shen
c831a28dbd
Organize test cases for xds test
2019-09-03 16:47:25 -07:00
Karthik Ravi Shankar
a1c0d3442f
Merge branch 'master' into move-method-handler
2019-09-03 14:47:45 -07:00
hcaseyal
311bf04ec9
Merge pull request #19788 from chrisse74/master
...
remove all unused-parameter warnings in C++
2019-09-03 13:58:13 -07:00
Arjun Roy
6175294416
Merge pull request #20014 from arjunroy/on_hdr_nobranch
...
s/branch/tail_call/ for CH2 on_hdr().
2019-09-03 12:44:56 -07:00
Vijay Pai
c458f1cbbc
Merge pull request #20136 from grpc/revert-16452-add_msg_size_test
...
Revert "Test message size of 100MB"
2019-09-03 08:44:05 -07:00
Karthik Ravi Shankar
ce29926334
Merge branch 'master' into move-method-handler
2019-09-03 08:08:18 -07:00
rmstar
d9c9b52a68
Merge pull request #19507 from rmstar/ioscpptest_readme
...
Added documentation for C++ tests on iOS
2019-08-30 14:18:57 -07:00
hcaseyal
fac072341c
Merge pull request #20126 from hcaseyal/bm_build
...
Remove build target for microbenchmark
2019-08-30 14:16:08 -07:00
Prashant Jaikumar
b436758b14
Added documentation for C++ tests on iOS
2019-08-30 13:08:38 -07:00
Prashant Jaikumar
2e1cb0d91a
Don't run time_jump_test under sanitizers
2019-08-30 11:43:21 -07:00
Vijay Pai
65eb9c9ddb
Revert "Test message size of 100MB"
2019-08-30 08:14:44 -07:00
Prashant Jaikumar
d2b5fd75f0
Added test for time jumps
2019-08-29 22:41:06 -07:00
Hope Casey-Allen
32801fb5eb
Remove build target for microbenchmark
2019-08-29 14:11:05 -07:00
Vijay Pai
1077b3435c
Use range-based for on state rather than state.KeepRunning when possible
2019-08-29 11:27:00 -07:00
Juanli Shen
be4318810c
Merge pull request #16452 from AspirinSJL/add_msg_size_test
...
Test message size of 100MB
2019-08-29 08:59:40 -07:00
Mark D. Roth
fbd7ab53c7
Merge pull request #19036 from markdroth/lb_policy_per_rpc_backend_metric_api
...
Add API for accessing per-call backend metric data in LB policies.
2019-08-29 07:40:45 -07:00
Mark D. Roth
d810671d93
Merge pull request #20039 from markdroth/health_check_service_name_change
...
Apply health check service name changes to existing subchannels.
2019-08-29 07:14:40 -07:00
Juanli Shen
d34f366337
Test message size of 100MB
2019-08-28 21:46:53 -07:00
Prashant Jaikumar
4dfa808e75
Add test for timer expiry racing with cancelation
2019-08-28 17:09:42 -07:00
Juanli Shen
5f7f11e56e
Merge pull request #20022 from AspirinSJL/xds_test_refactor
...
Refactor response building in xds test
2019-08-28 16:22:29 -07:00
hcaseyal
07ba4de392
Merge pull request #20091 from hcaseyal/bm_chttp2_transport
...
Fix race in bm_chttp2_transport
2019-08-28 16:13:23 -07:00
Karthik Ravi Shankar
de2006d3e1
Merge branch 'master' into move-method-handler
2019-08-28 14:01:58 -07:00
Arjun Roy
b46e3668d3
s/branch/tail_call/ for CH2 on_hdr().
...
on_hdr() checks if a void-return function pointer is null before jumping to it.
If it is null, it returns an error; else it executes that function and returns
success.
This change converts the void-returning function to one that returns a
grpc_error* and thus saves a branch in on_hdr() (since we're branching once by
following the function pointer anyways, we're effectively coalescing these two
branches).
2019-08-28 13:06:11 -07:00
Mark D. Roth
21c5424477
Add API for accessing per-call backend metric data in LB policies.
2019-08-28 12:48:06 -07:00
Juanli Shen
a1ca6a099d
Refactor response building in xds test
2019-08-28 12:44:31 -07:00
Juanli Shen
f29aee7fa9
Merge pull request #20093 from AspirinSJL/tune_lr
...
Tune load reporter test
2019-08-28 10:49:15 -07:00
Hope Casey-Allen
6dfe27ab08
Fix race in bm_chttp2_transport
2019-08-28 10:07:38 -07:00
Mark D. Roth
c8430023a5
Apply health check service name changes to existing subchannels.
2019-08-28 09:05:59 -07:00
Juanli Shen
732e2a1e90
Tune load reporter test
2019-08-27 15:56:59 -07:00
Vijay Pai
c22afac623
Merge pull request #16733 from vjpai/generic_lifetime
...
Confirm that generic API method name is not needed after call creation
2019-08-27 14:40:52 -07:00
Mark D. Roth
0bdeca47b6
Merge pull request #19038 from markdroth/lb_policy_create_channel_api_improvement
...
Remove CreateChannel() method from LB helper API.
2019-08-27 10:54:52 -07:00
Yash Tibrewal
2ba3ad5d2a
Merge pull request #20057 from yashykt/interceptionexample1
...
Improve comment
2019-08-23 15:58:36 -07:00
Yash Tibrewal
088b67deba
Improve comment
2019-08-23 15:06:39 -07:00
Prashant Jaikumar
2b9ab6d10c
timer_test: add test case for grpc shutdown while timer is pending
2019-08-23 13:54:16 -07:00
Prashant Jaikumar
9a41e12a4f
Skip timer test when running under event manager
2019-08-22 18:41:38 -07:00
Prashant Jaikumar
20e2964ada
cfstream_test: workaround Apple CFStream bug
2019-08-21 22:03:48 -07:00