Commit Graph

941 Commits

Author SHA1 Message Date
Mark D. Roth 7f7a6916f6
Merge pull request #23581 from markdroth/server_c++
Convert grpc_server to idiomatic C++.
2020-08-03 14:45:53 -07:00
Mark D. Roth 0b61aea1c5 Convert grpc_server to idiomatic C++. 2020-08-03 12:56:29 -07:00
Vijay Pai cd20a80a1e
Merge pull request #23653 from vjpai/bm_cq
Properly follow callback CQ API guarantees rather than existing behavior in ubm
2020-08-03 12:39:17 -07:00
Vijay Pai 94a85b051d Expand comment to address reviewer feedback 2020-07-31 14:26:17 -07:00
Michael Wang c6586f087f implemented get_local_address accessor for grpc_endpoint 2020-07-29 19:39:22 +00:00
Vijay Pai 968e1b40a5 Properly follow callback API guarantees rather than existing behavior 2020-07-28 12:42:20 -07:00
Vijay Pai 9c5a39c6db Revert "Merge pull request #23361 from vjpai/em_agnostic_core_callback_cq"
This reverts commit a46cb5e86a, reversing
changes made to b5d42e75fb.
2020-07-28 09:55:43 -07:00
Vijay Pai 9d79ca6058 C++ify core server 2020-07-20 03:15:18 -07:00
Vijay Pai 7ee2bc6db5 EM-agnostic callback completion queue 2020-07-08 16:12:23 -07:00
Vijay Pai b92ca15356
Increase size of a test to match internal guidance 2020-07-06 09:51:05 -07:00
Esun Kim c736cf073c Added call to grpc::testing::TestEnvironment in more tests 2020-07-01 13:27:08 -07:00
Esun Kim 62ac3f075a Added call to grpc::testing::TestEnvironment in tests 2020-07-01 11:37:57 -07:00
Esun Kim 165ee5007a Replaced grpc::string with std::string 2020-06-29 17:56:36 -07:00
Yash Tibrewal e98eaa5052
Revert "Revert "Add message-size check before message decompression"" 2020-06-23 12:19:07 -07:00
Karthik Ravi Shankar 70465c92ec
Merge pull request #23180 from karthikravis/opencensus
Move OpenCensus back to ::grpc from ::grpc_impl
2020-06-23 11:31:43 -07:00
Karthik Ravi Shankar f0d2aff3c7 Merge branch 'master' into opencensus 2020-06-22 17:24:05 -07:00
Vijay Pai c7f2956b67
Revert "Add message-size check before message decompression" 2020-06-22 16:18:36 -07:00
Yash Tibrewal 0497ad8bb0 Add missing message-size check before decompressing
Add and fix tests for limit check before decompression

Code restructuring to allow easy reuse of service config call data

Regenerate projects

Reviewer comments
2020-06-19 14:49:18 -07:00
Karthik Ravi Shankar 7fa6826134 Merge branch 'master' into opencensus 2020-06-10 17:47:16 -07:00
Karthik Ravi Shankar 89763a96fd Move OpenCensus back to ::grpc from ::grpc_impl
Revert - Revert "Revert "Fold opencensus into grpc_impl namespace"" #18396
2020-06-10 17:36:58 -07:00
Esun Kim 92d31d6f99 Remove the flaky flag from bm_opencensus_plugin 2020-05-04 11:41:09 -07:00
Esun Kim 234b356e2f Fix the flaky bm_opencensus_plugin 2020-04-29 09:35:57 -07:00
Vijay Pai 527509abc4 Unmark flaky on streaming_pump 2020-04-08 10:31:47 -07:00
Vijay Pai f1979cece2 Disable SockPair fixture 2020-04-08 08:41:54 -07:00
Jan Tattermusch a791e16983 mark more tests as flaky 2020-03-17 05:32:17 -04:00
Jan Tattermusch 880111fe47
Merge pull request #22355 from jtattermusch/bm_metadata_not_flaky
bm_metadata is not flaky anymore
2020-03-16 18:14:25 +01:00
Vijay Pai b4f0cad4bd
bm_arena needs more time
Internal tests show that it needs a large timeout. This has passed 100x without timeout.
2020-03-16 08:12:15 -07:00
Jan Tattermusch 29528fc026 bm_metadata is not flaky anymore 2020-03-16 03:07:25 -04:00
Yash Tibrewal b40b162cc9 Add missing grpc_slice_unref to bm_metadata 2020-03-13 18:28:16 -07:00
Jan Tattermusch cbb0ef2717 try marking some offenders as flaky 2020-02-27 22:37:32 -05:00
Jan Tattermusch 543d8796f0 dont build some microbenchmarks on windows 2020-02-26 19:56:49 -05:00
Esun Kim b92c3a2879 Changed Closure to TestClosure to avoid name conflict 2020-02-18 17:25:55 -08:00
Yash Tibrewal b18ae4b784 Add notap tag to tests that cause issues timeout issues internally 2020-02-18 12:31:46 -08:00
Jan Tattermusch 5e19408ef5 disable bm_chttp2_transport on msan 2020-02-18 03:20:18 -08:00
Jan Tattermusch cb6d09ac21 add missing bm_pollset and bm_chttp2_transport targets to bazel build 2020-02-18 02:34:42 -08:00
Vijay Pai f7d857a8e4 Make threadpool and trickle tests manual only (excessive time/resources) 2020-02-13 10:12:12 -08:00
Vijay Pai 1513f3a7b4 Reduce unneeded sizes and disable tests on mac for resource limits 2020-02-13 09:34:15 -08:00
Vijay Pai 0c0f3f0556 Declare microbenchmarks as tests rather than binaries, fix issues 2020-02-13 09:34:15 -08:00
Vijay Pai 2678afe310 Stop using core server shutdown in microbenchmarks 2020-01-21 14:24:42 -08:00
Lidi Zheng d5d6914751 Make buildifier sanity test fail-able 2019-12-18 16:16:49 -08:00
Jan Tattermusch 5d352ded8b disable a few macos bazel tests 2019-11-25 13:35:26 +01:00
Vijay Pai be6979202b Revamp server-side C++ callback API, message allocator, and mocking 2019-11-20 16:56:18 -08:00
Yash Tibrewal 79aa21fa71 Reviewer comments 2019-11-13 14:14:02 -08:00
Yash Tibrewal 61020b55f9 Remove GRPC_CLOSURE_LIST_SCHED and remove scheduler field from grpc_closure 2019-11-12 18:23:29 -08:00
Yash Tibrewal d60b60a837 Reviewer comments 2019-11-08 10:45:50 -08:00
Yash Tibrewal fe88f14410 Merge branch 'master' into removrun 2019-11-07 15:13:03 -08:00
Esun Kim 3a519a0b64 Replaced grpc_core New & Delete with C++ new & delete 2019-11-06 17:52:26 -08:00
Lidi Zheng c34bef4ca4 Format all Bazel files with buildifier 2019-11-05 14:03:52 -08:00
Yash Tibrewal 08ba7246c0 Remove GRPC_CLOSURE_RUN and replace with grpc_core::Closure::Run 2019-11-01 16:21:16 -07:00
Yash Tibrewal 3a189d7e08 test changes 2019-10-31 17:09:38 -07:00
Vijay Pai e35c869aaf Remove unused-parameter warnings, round 2 (19 of 19) 2019-10-21 09:16:35 -07:00
Yash Tibrewal 780d41224c Squashed commit of the following:
commit 1547cb209a
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 13:12:55 2019 -0700

    Revert some other GRPC_CLOSURE_RUN till other issues are fixed

commit 3edeee7ce9
Merge: 22b343e4fb e8f78e7a5d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:26:26 2019 -0700

    Merge branch 'master' into combinernew

commit 22b343e4fb
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:22:34 2019 -0700

    Change some TCP posix closures to GRPC_CLOSURE_RUN

commit 19e60dfe8f
Merge: 153bdcbc97 feae38d3ab
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:56:46 2019 -0700

    Merge branch 'master' into combinernew

commit 153bdcbc97
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:41:14 2019 -0700

    Proxy fixture fix

commit c6da80bcce
Merge: 6a32264cdf 98abc22f4c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:05:18 2019 -0700

    Merge branch 'master' into combinernew

commit 6a32264cdf
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:01:55 2019 -0700

    Reviewer comments

commit 6bbd3a1c3c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:55:43 2019 -0700

    Fallback cleanup

commit aaa04526a2
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:24:18 2019 -0700

    Clean up

commit 4266be13d5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:20:05 2019 -0700

    Make sure start_ping is called before finish_ping for bdp and keepalive

commit 14107957aa
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:56:07 2019 -0700

    chttp2 fixes

commit 5643aa6cb3
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:25:19 2019 -0700

    Remove closure list scheduling from combiners

commit c596449430
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:35:54 2019 -0700

    ares windows fix

commit 9f933903b9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:23:11 2019 -0700

    More fixes

commit 3c3a7d0e9b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 16:08:07 2019 -0700

    Fix errors

commit 56539cc448
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 15:22:28 2019 -0700

    Everything compiles

commit 714ec01e4b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:44:18 2019 -0700

    src compiles

commit 54dcbd170d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:16:08 2019 -0700

    chttp2_transport changes

commit 7a3388b077
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 18:33:55 2019 -0700

    resource quota and lb policy

commit 714e4c849f
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 17:23:04 2019 -0700

    Further

commit 1d17ad7d44
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 13:34:52 2019 -0700

    ares ev driver windows changes

commit 3110c062c5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:47:37 2019 -0700

    ares dns changes

commit 0e10bc17ea
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:24:45 2019 -0700

    Add dns_resolver changes

commit 4a71a911e8
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:08:10 2019 -0700

    Add fake_resolver changes

commit 8610a64ec9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 19:31:13 2019 -0700

    Remaning one from xds_client

commit 5f22055d0d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 18:47:28 2019 -0700

    One left from xds_client.cc

commit 4b1223f875
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 17:17:12 2019 -0700

    modifications for xds.cc

commit a17bbbd840
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 13:06:25 2019 -0700

    grpclb.cc changes

commit 3a33ed4762
Merge: 11058748fd 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:24:11 2019 -0700

    Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew

commit 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:18:00 2019 -0700

    New combiner
2019-10-18 15:07:54 -07:00
Vijay Pai e8f78e7a5d
Merge pull request #20644 from vjpai/remove_warn_17
Remove unused parameter warnings (17 of 20)
2019-10-18 10:32:48 -07:00
Vijay Pai 82e185399d clang-format 2019-10-17 09:08:21 -07:00
Vijay Pai 0cab2084e6 clang-format 2019-10-17 09:08:04 -07:00
Vijay Pai 6ca827a008 Remove unused parameter warning (18 of 20) 2019-10-17 08:52:05 -07:00
Vijay Pai 406b70629a Remove unused parameter warning (17 of 20) 2019-10-17 08:52:00 -07:00
Yash Tibrewal 0a57e9cc69 Fix bm chttp2 transport 2019-10-02 16:14:43 -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
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
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
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
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
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
Hope Casey-Allen 6dfe27ab08 Fix race in bm_chttp2_transport 2019-08-28 10:07:38 -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
Hope Casey-Allen 59564ebd96 Fix warnings to unblock gcc8 support 2019-08-20 16:02:53 -07:00
Mark D. Roth a23e7ab188 Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-08-20 07:58:38 -07:00
Arjun Roy 557446a11e Added specializations for grpc_mdelem_create.
In several cases, we create grpc mdelem structures using known-static
metadata inputs. Furthermore, in several cases we create a slice on
the heap (e.g. grpc_slice_from_copied_buffer) where we know we are
transferring refcount ownership. In several cases, then, we can:

1) Avoid unnecessary ref/unref operations that are no-ops (for static
   slices) or superfluous (if we're transferring ownership).
2) Avoid unnecessarily comprehensive calls to grpc_slice_eq (since
   they'd only be called with static or interned slice arguments,
   which by construction would have equal refcounts if they were
   in fact equal.
3) Avoid unnecessary checks to see if a slice is interned (when we
   know that they are).

To avoid polluting the internal API, we introduce the notion of
strongly-typed grpc_slice objects. We draw a distinction between
Internal (interned and static-storage) slices and Extern (inline and
non-statically allocated). We introduce overloads to
grpc_mdelem_create() and grpc_mdelem_from_slices() for the fastpath
cases identified above based on these slice types.

From the programmer's point of view, though, nothing changes - they
need only use grpc_mdelem_create() and grpc_mdelem_from_slices() as
before, and the appropriate fastpath will be picked based on type
inference. If no special knowledge exists for the slice type (i.e. we
pass in generic grpc_slice objects), the slowpath method will still
always return correct behaviour.

This is good for:
- Roughly 1-3% reduction in CPU time for several unary/streaming
  ping pong fullstack microbenchmarks.
- Reduction of about 15-20% in CPU time for some hpack parser
  microbenchmarks.
- 10-12% reduction of CPU time for metadata microbenchmarks involving
  interned slice comparisons.
2019-07-30 17:07:44 -07:00
yunjiaw26 f14f1dd61d
Merge pull request #19695 from yunjiaw26/bm_threadpool
Add threadpool benchmark and build files
2019-07-29 18:38:22 -07:00
Yunjia Wang 8318e578db SpikyLoad: construct outside 2019-07-29 10:52:32 -07:00
Yunjia Wang c3c24d089d Use Template 2019-07-29 10:30:09 -07:00
Yunjia Wang d87b5285ca Fix comment 2019-07-24 13:33:24 -07:00
Yunjia Wang efd6946d21 Reformat 2019-07-23 15:35:50 -07:00
Yunjia Wang 9242fe122d AddSelf more scenarios 2019-07-23 09:47:26 -07:00
Mark D. Roth 46f706c99b Revert "Merge pull request #19686 from gnossen/revert_breakage"
This reverts commit 1f2398b0d5, reversing
changes made to 99169d811c.
2019-07-23 07:50:27 -07:00
Yunjia Wang 8278d3e6a5 Resolving comments 2019-07-22 17:24:09 -07:00
Yunjia Wang 847faf407f Removes unused variable error 2019-07-19 12:10:52 -07:00
Yunjia Wang 85314b3fcc Re-format 2019-07-19 10:49:35 -07:00
Yunjia Wang c6bc2b1875 Add threadpool benchmark and build files 2019-07-19 10:23:22 -07:00
Richard Belleville 63b4f3d819 Revert "Merge pull request #19673 from markdroth/channel_grpc_init"
This reverts commit 4e21980716, reversing
changes made to 62b8a783fa.
2019-07-18 13:00:24 -07:00
Mark D. Roth 8cc5b8f680 Defer grpc shutdown until after channel destruction. 2019-07-17 16:35:14 -07:00
Arjun Roy b1d73a01f1 Removed duplicate static table from hpack table. Removed an or instruction for
every usage of static grpc metadata. Inlined hpack table lookups for static
metadata.

This leads to faster hpack parser creation:
BM_HpackParserInitDestroy 5.32µs ± 1% 0.06µs ± 1%  -98.91% (p=0.000 n=18+19)

And slightly faster parsing:
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader>
456ns ± 1%              435ns ± 1%   -4.74%        (p=0.000 n=18+19)
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata,
OnInitialHeader>
1.06µs ± 2%             1.04µs ± 2%   -1.82%        (p=0.000 n=19+20)

It also yields a slight (0.5 - 1.0 microsecond) reduction in CPU time for
fullstack unary pingpong:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512
[polls/iter:3.0001                         ]            23.9µs ± 2%
23.0µs ± 1%  -3.63%          (p=0.002 n=6+6)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.00015                        ]            35.1µs ± 1%
34.2µs ± 1%  -2.57%          (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00011                        ]            21.7µs ± 3%
21.2µs ± 2%  -2.44%          (p=0.017 n=6+5)
2019-07-15 15:39:31 -07:00
Yash Tibrewal 56a0153f16 Heap allocate the stream object for other benchmark cases too 2019-06-14 14:44:49 -07:00
Yash Tibrewal cceca10a8a Fix data race, heap use-after-free issue in bm_chttp2_transport 2019-06-13 17:05:51 -07:00
Mark D. Roth 4f3a55b73d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-06-05 13:56:06 -07:00
Mark D. Roth 0f5834b88d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-05-29 15:40:24 -07:00
Karthik Ravi Shankar 196b0aa3a3
Revert "Revert "Start supporting a callback-based RPC under lock"" 2019-05-29 13:15:47 -07:00
Karthik Ravi Shankar b790c24e5c
Revert "Start supporting a callback-based RPC under lock" 2019-05-29 11:20:36 -07:00
Mark D. Roth 477ebef532 Remove CreateChannel() method from LB helper API. 2019-05-28 14:18:15 -07:00
Karthik Ravi Shankar b18faa6c95 Fix tsan error 2019-05-23 20:08:45 -07:00
Karthik Ravi Shankar d2c8eb94c9 Fix microbenchmark failures 2019-05-23 18:09:12 -07:00
Karthik Ravi Shankar 3f05ac9584 Merge branch 'master' into callback-rpc-lock 2019-05-22 17:39:08 -07:00
Karthik Ravi Shankar e1f62278e3 Fix clang error 2019-05-22 13:53:10 -07:00
Karthik Ravi Shankar 4f7f561564 Add synchronization to bm test
- since we made the callback run on another thread, add synchronization
in bm tests as well
2019-05-22 10:42:50 -07:00
Karthik Ravi Shankar 40210d3b8a Move Channel to grpc_impl 2019-05-17 09:12:33 -07:00
Karthik Ravi Shankar 772a74aced Revert changes to Channel 2019-05-15 14:24:17 -07:00
Na-Na Pang a02c76dfb9 Cancel predefine number of streaming 2019-05-13 13:29:06 -07:00
Na-Na Pang 87d75d2a88 Add explicit and fix error 2019-05-10 11:23:24 -07:00
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