Commit Graph

9830 Commits

Author SHA1 Message Date
Jan Tattermusch cc0bd13cb9 Merge remote-tracking branch 'upstream/master' into asylo_support 2019-09-18 08:54:33 +02:00
Mark D. Roth d1bca6ff92
Merge pull request #20119 from markdroth/c++_mpscq
Convert mpscq API from C to C++.
2019-09-17 15:24:13 -07:00
Juanli Shen b4277d191c
Merge pull request #20269 from AspirinSJL/tune
Tune xds test
2019-09-16 16:10:53 -07:00
Juanli Shen 7be5d098cf Tune xds test 2019-09-16 13:42:12 -07:00
Soheil Hassas Yeganeh 9b9764cb2a Fix build error in SSL fuzzer. 2019-09-16 15:10:02 -04:00
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 05901eaaa3 Fix filter_latency.cc
On Windows tests, clock monotonic doesn't progress. Switch to
CLOCK_PRECISE to fix this.
2019-09-09 18:34:09 -04:00
Esun Kim c965ca1494 Pull out configuration from ssl_utils 2019-09-09 11:18:17 -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
Jan Tattermusch d2f0e17d3a
Merge pull request #18697 from jtattermusch/csharp_improved_distribtest
Improved C# distribtests
2019-09-06 10:44:38 +02: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
Vijay Pai b7d69ad425
Merge pull request #20148 from bmzhao/fix-windows-base-ptr
Fix Windows's STACKFRAME Frame Addr in test_config.cc
2019-09-05 14:39:24 -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
Vijay Pai 8cd7f6445d
Merge pull request #20176 from vjpai/sslfix
Avoid duplicate initialization of SSL from within grpc and from test
2019-09-05 11:07:32 -07:00
Mark D. Roth 51d18ecc63 Convert mpscq API from C to C++. 2019-09-05 10:32:36 -07:00
Mark D. Roth 8ad4c608ad
Merge pull request #20035 from markdroth/client_channel_data_plane_synchronization
Use mutex instead of combiner in client channel data plane.
2019-09-05 10:30:36 -07:00
Vijay Pai fd9bdd9922 Avoid duplicate initialization of SSL (from within grpc and from test) 2019-09-05 08:33:32 -07:00
Mark D. Roth d3f50ace39 Use mutex instead of combiner in client channel data plane. 2019-09-05 08:13:59 -07:00
Jan Tattermusch ece5fbdcb0 partially revert alpine distribtest attempts 2019-09-05 08:06:39 -04:00
Jan Tattermusch 9171646713 fix dependencies for classic .csproj 2019-09-05 08:05:36 -04: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
Jan Tattermusch aeb04913ad improved C# distribtest 2019-09-04 12:02:21 -04:00
Jan Tattermusch 504c4ace80 remove legacy c# testcodegen 2019-09-04 11:33:59 -04:00
Jan Tattermusch 21104ec1ee remove BOM 2019-09-04 11:29:22 -04:00
Jan Tattermusch 0040bb9353 attempt to add alpine C# distribtest 2019-09-04 10:38:54 -04: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
Brian Zhao 8274502af8 Windows's STACKFRAME Frame Addr should be RBP, the base pointer, not RSP, the stack pointer. This is documented here: https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-stackframe with the comment "AddrFrame x64: The frame pointer is RBP or RDI." Note that this is also what StackWalker uses: https://github.com/JochenKalmbach/StackWalker#initializing-the-stackframe64 and what Chromium uses: https://codesearch.chromium.org/chromium/src/v8/src/base/debug/stack_trace_win.cc?l=200&rcl=69d20d247f62a3378d15ce0956ed8bf9665e6a44 release notes: no 2019-09-01 23:30:34 -07:00
Esun Kim 1168c903c1
Merge pull request #20109 from veblush/smetadata
Fix buffer-overflow in grpc_static_mdelem_for_static_strings
2019-08-30 16:55:51 -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
Esun Kim 3c6bb96a1f Add test for static elements 2019-08-30 13:56:40 -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