Esun Kim
c965ca1494
Pull out configuration from ssl_utils
5 years ago
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.
5 years ago
Yash Tibrewal
361a902262
Reviewer comments
5 years ago
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)
5 years ago
Yash Tibrewal
97f1f57dab
Allow call credentials to be set even after the call is created but before initial metadata is sent
5 years ago
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.
5 years ago
Mark D. Roth
51d18ecc63
Convert mpscq API from C to C++.
5 years ago
Vijay Pai
fd9bdd9922
Avoid duplicate initialization of SSL (from within grpc and from test)
5 years ago
Mark D. Roth
d3f50ace39
Use mutex instead of combiner in client channel data plane.
5 years ago
Jan Tattermusch
ece5fbdcb0
partially revert alpine distribtest attempts
5 years ago
Jan Tattermusch
9171646713
fix dependencies for classic .csproj
5 years ago
Jan Tattermusch
aeb04913ad
improved C# distribtest
5 years ago
Jan Tattermusch
504c4ace80
remove legacy c# testcodegen
5 years ago
Jan Tattermusch
21104ec1ee
remove BOM
5 years ago
Jan Tattermusch
0040bb9353
attempt to add alpine C# distribtest
5 years ago
Juanli Shen
c831a28dbd
Organize test cases for xds test
5 years ago
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
5 years ago
Esun Kim
3c6bb96a1f
Add test for static elements
5 years ago
Prashant Jaikumar
b436758b14
Added documentation for C++ tests on iOS
5 years ago
Prashant Jaikumar
2e1cb0d91a
Don't run time_jump_test under sanitizers
5 years ago
Vijay Pai
65eb9c9ddb
Revert "Test message size of 100MB"
5 years ago
Prashant Jaikumar
d2b5fd75f0
Added test for time jumps
5 years ago
Hope Casey-Allen
32801fb5eb
Remove build target for microbenchmark
5 years ago
Vijay Pai
1077b3435c
Use range-based for on state rather than state.KeepRunning when possible
5 years ago
Juanli Shen
d34f366337
Test message size of 100MB
5 years ago
Prashant Jaikumar
4dfa808e75
Add test for timer expiry racing with cancelation
5 years ago
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).
5 years ago
Mark D. Roth
21c5424477
Add API for accessing per-call backend metric data in LB policies.
5 years ago
Juanli Shen
a1ca6a099d
Refactor response building in xds test
5 years ago
Hope Casey-Allen
6dfe27ab08
Fix race in bm_chttp2_transport
5 years ago
Mark D. Roth
c8430023a5
Apply health check service name changes to existing subchannels.
5 years ago
Arjun Roy
2767accc1b
Fixed init-order-fiasco for static slice table.
...
Fixes init-order bug affecting https://github.com/grpc/grpc/issues/19819 which
was first exposed by this commit:
857375a142
5 years ago
Juanli Shen
732e2a1e90
Tune load reporter test
5 years ago
Mark D. Roth
18be57b4df
LB policy API changes suggested by Sanjay.
5 years ago
Esun Kim
2707fd0bd4
Added GRPC_USE_CPP_STD_LIB flag
5 years ago
yang-g
3728329033
return unavailable on transport closed
5 years ago
Yash Tibrewal
088b67deba
Improve comment
5 years ago
Prashant Jaikumar
2b9ab6d10c
timer_test: add test case for grpc shutdown while timer is pending
5 years ago
Esun Kim
a031f0ffd6
Remove all nanopb defines
5 years ago
Mark D. Roth
5d646ff9ff
Make Map<> copyable.
5 years ago
Prashant Jaikumar
9a41e12a4f
Skip timer test when running under event manager
5 years ago
Prashant Jaikumar
20e2964ada
cfstream_test: workaround Apple CFStream bug
5 years ago
Karthik Ravi Shankar
2b8ad5ee56
Fix golden test compilation
5 years ago
Esun Kim
7ec6e8a4de
Remove nanopb from gRPC
5 years ago
Esun Kim
e0b94db1b9
Enforce abstract class rule
5 years ago
Hope Casey-Allen
59564ebd96
Fix warnings to unblock gcc8 support
5 years ago
Prashant Jaikumar
41986e8ed8
Added test for timer wakeups
5 years ago
Nicolas Noble
b49ba51f84
Forgot one file.
5 years ago
Juanli Shen
1abba74225
Fix unused result error
5 years ago
Juanli Shen
a802b14be6
Add xds resolver
5 years ago