Commit Graph

399 Commits

Author SHA1 Message Date
Craig Tiller 5db17f7350
Revert "a useful change (#27381)" (#27411)
This reverts commit 11eb70bbed.
2021-09-20 10:30:59 -07:00
Craig Tiller 11eb70bbed
a useful change (#27381)
* a useful change

* Automated change: Fix sanity tests

* fix

* fix

* QsortCompare it is!

* Automated change: Fix sanity tests

* add missing header

* clang-tidy fixes, tweak clamp to only use <

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-20 09:13:27 -07:00
Richard Belleville b6cc72f129
Revert "Run 2to3 on tools directory (#26002)" (#27183)
This reverts commit a388361c3d.
2021-08-30 12:29:20 -07:00
Richard Belleville a388361c3d
Run 2to3 on tools directory (#26002)
* Run 2to3 on tools directory

* Delete github_stats_tracking

* Re-run 2to3

* Remove unused script

* Remove unused script

* Remove unused line count utility

* Yapf. Isort

* Remove accidentally included file

* Restore line_count directory
2021-08-30 09:25:21 -07:00
Craig Tiller 46bd552337
Eliminate gen_legal_metadata_characters (#27019)
* eliminate gen_legal_metadata_characters

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-08-17 20:09:16 -07:00
Craig Tiller 5dc93179eb
modernize % encoding routines (#27018)
* modernize % encoding routines

* Automated change: Fix sanity tests

* use bitset

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-08-16 11:16:18 -07:00
Craig Tiller 78c98a9b06
Switch template metaprogramming helper for promises library (#26908)
* Switch template metaprogramming helper for promises library

* py3
2021-08-09 13:21:51 -07:00
Lidi Zheng 826da6136c
Update Envoy API to the latest version (2021-07-30) (#26848)
* Bump Envoy and related submodules to latest

* Update googleapis

* Update scripts for newer submodules

* Update udpa

* Add opentelemetry

* Python changes for opentelemetry

* Update udpa in check_submodules

* Add opentelemetry to check submodules

* Regenerate upb files

* Add new proto dependency to upb-gen and Bazel

* Regenerate project
2021-08-03 09:12:42 -07:00
Lidi Zheng 2231c2ba77
Introduce Python import sorting to our sanity test suite (#26768)
* Add isort_code.sh to sanity tests

* Run tools/distrib/isort_code.sh

* Fine tune the import order for relative imports

* Make pylint and project generation happy

* Fix a few corner cases

* Use --check instead of --diff

* The import order impacts test result somehow

* Make isort print diff and check output at the same time

* Let tools/run_tests/python_utils be firstparty library

* Run isort against latest HEAD
2021-07-26 12:31:21 -07:00
Craig Tiller 987d526efc
Eliminate some HPACK LUTs (#26657)
Eliminate HPACK table

Use a switch statement instead of a table lookup for the first byte of
HPACK parsing.

This will lead the way to some other improvements down the track (I have
a substantial overhaul here planned), but this is a necessary first
step.
2021-07-14 12:16:17 -07:00
Craig Tiller 95dfe09710
Use constexpr to simplify HPACK parser (#26656)
* Use constexpr to simplify HPACK parser

This is a bit of a trial balloon: in C++11, generate at load time a
table that used to be hard coded. In C++14, generate that same table at
compile time, but eliminate the code generator.

Should this work out, I'd like to expand the technique so that we can
eliminate some of the confusing tables in this file by keeping the code
that generates them *in the same place* as the code that consumes them.

* comments

* c++14 fixes
2021-07-12 15:04:07 -07:00
Ashitha Santhosh 64d1894314
Revert: gRPC SDK Authorization Policy Proto. (#26508) 2021-06-18 22:05:26 -07:00
Lidi Zheng 1040fbdb9f
Re-introduce "CSDS Implementation" (#25762)
* Revert "Revert "CSDS Implementation (#25038)" (#25745)"

This reverts commit 98fd4e1e36.

* Add xDS special Bazel build rules

* Add 2 todos to remove the added rules
2021-03-22 13:14:19 -07:00
Lidi Zheng 98fd4e1e36
Revert "CSDS Implementation (#25038)" (#25745)
This reverts commit 27de24a38e.
2021-03-17 13:38:47 -07:00
Lidi Zheng 27de24a38e
CSDS Implementation (#25038)
* Implement the xDS Config Dump as CSDS in Core

* Revemp the logic of caching and constructing the CSDS response
* Unref created error
* Fix the clang tidy complains
* Resolve comments about symbol preload and Json ctor
* Improve readability
* Merge with new ADS logic && support latest CSDS
  * Refactor the version/client_status logic
  * Add support for error_state
  * Add support for does_not_exist
  * Add node information
* Fix the ProtoBuf segfault
* More test cases
* Refactor to use bytes as cache instead of JSON

* Apply clang_tidy's suggestion

* Resolve reviewer's requests

* Tiny stylish fixes && make sanity test happy

* WIP: still working on the matchers

* Update a bunch of matchers

* Improve readability a bit

* Resolve reviewer's suggestions

* Resolve reviewer's comments

* Make Unpack fail fast
2021-03-16 18:17:37 -07:00
Lidi Zheng 3b067c9f3f
Implement xDS client-side fault injection filter (#24354)
* Refactored with dynamic filters
* Error-tolerance tuned
* Fix leak of grpc_error and data race of canceller
* Adopt the latest xDS HTTP filter framework
* Fix fault injection tests' conflict with router filter
* Test alternative setup (override, no-override) without copy
* Refactor file strcutures of fault injection filter
* Rewrite the Json parsing/assembling logic again
* Added logic for aborting streaming RPC && resolve comments
2021-03-09 13:14:21 -08:00
Mark D. Roth 49601b0334
Second attempt: xDS HTTP filter support for gRPC client (#25558)
* Revert "Revert "xDS HTTP filter support for gRPC client" (#25555)"

This reverts commit 785a128a83.

* xds_end2end_test: avoid flakes from lingering shutdown from previous test
2021-02-26 07:39:27 -08:00
donnadionne 785a128a83
Revert "xDS HTTP filter support for gRPC client" (#25555)
This reverts commit b2164837a8.
2021-02-25 07:18:43 -08:00
Mark D. Roth b2164837a8 xDS HTTP filter support for gRPC client 2021-02-11 13:17:15 -08:00
Lidi Zheng 2161ed080d Update the udpa protos that moved around 2021-02-04 17:00:44 -08:00
Donna Dionne 19b1f8f64a Cds Watchers changes to support aggregate Cds and Logical DNS Cds. 2021-01-21 14:25:50 -08:00
Ashitha Santhosh ab9b01a03b
Merge pull request #25129 from ashithasantosh/sdk_authorization_policy
gRPC SDK Authorization Policy proto.
2021-01-14 10:14:01 -08:00
Sergii Tkachenko 8db79e2e71 Python style: reformat code using updated yapf 0.30.0 2021-01-13 14:00:12 -05:00
Ashitha Santhosh 1602a02a82 Add gRPC SDK Authorization Policy proto. 2021-01-13 00:43:43 -08:00
Esun Kim e4014fc2a6 Updated gen_upb_api.sh 2020-12-21 10:12:51 -08:00
Esun Kim 7d7c3cc711 Update by review 2020-12-02 13:42:53 -08:00
Yash Tibrewal 2a56886513 Update submodules: envoy-api, protoc-gen-validate, udpa 2020-09-29 12:03:40 -07:00
Ashitha Santhosh c50a33f0d1 Import checked.proto for CEL-based Authorization Engine. 2020-09-15 03:48:07 -07:00
Jan Tattermusch 54613cc45b upb codegen: put .upbdefs.h and .upbdefs.c files in a different directory 2020-08-20 18:17:20 +02:00
Yash Tibrewal 9e4ceb041e Move the proto to third_party 2020-08-12 14:21:14 -07:00
Yash Tibrewal 8da364d741 Add proto for MeshCA MeshCertificateService 2020-08-07 11:02:38 -07:00
Michael Wang d0311ac81a Basic class definition and constructor Cel eval engine
Merge remote-tracking branch 'upstream/master' into celeval_constructor

Iterate through policies and store CEL condition

git push origin ce Merge remote-tracking branch 'upstream/master' into celeval_constructor

added class and constructor comments for CelEvaluationEngine

CelEvaluationEngine class and constructor

Added cel_evaluation_engine to build

ran clang_tidy_code.sh

updated BUILD with cel_evaluation_engine

added rbac.upb.h/cc to BUILD

Rewrote cel_evaluation_engine code with upb conventions

removed unnecessary deps for cel_evaluation_engine in BUILD

Cel_evaluation_engine uses arenas to manage condition pointers

Used upb::Arena instead of upb_arena*, added temp_arena to save memory

Added action_allow_ member variable

Added fullstops to comments

initialize action_allow_

changed variable names to be more clear

removed unnecessary headers

correctly initialize the action_allow_ variable

changed constructor to use an initializer list

ran clang_tidy and clang_format scripts

added cel_engine_test

resolved merge conflicts and rewrote cel engine constructor to use new map api

changed variables to be more clear and made them const

changed syntax.upb.h so the build succeeds

changed syntax.upb.h so the build succeeds

changed version of upb in bazel_dpes

regenerated upb files with new upb version

added TODO regarding two-policy design

modified CelEvaluationEngine and tests to use two rbac policies

Made test messages consistent and added a case with too many policies

changed name from cel_engine to authorization_engine

fixed merge issues and updated authorization engine to v3 rbac

made constructor public and added namespace grpc_core
2020-08-04 18:23:21 +00:00
Mark D. Roth 181781387d xDS v3 support 2020-07-23 10:20:55 -07:00
Mark D. Roth a0f08b1b06 Revert "Merge pull request #21941 from markdroth/xds_logging"
This reverts commit 37d5d93983, reversing
changes made to 0e8190a3c9.
2020-07-17 10:19:28 -07:00
Mark D. Roth c1d7180daa Use upb textformat library to dump out raw xDS proto messages 2020-06-24 10:10:03 -07:00
michaelywg 308fbc6ade Added rbac.proto and dependencies, then ran gen_upb_api.sh 2020-06-11 15:47:23 -07:00
Mark D. Roth b95843c1b7 xds: Add support for send_all_clusters field in LRS. 2020-05-04 11:16:52 -07:00
Esun Kim 1adb077815 Changed gen_upb_api.h to use root BUILD file 2020-03-03 14:23:16 -08:00
Mark D. Roth b68f813e54 xds: send envoy.lb.does_not_support_overprovisioning client capability 2020-02-26 08:23:27 -08:00
Mark D. Roth ac7c1d20ed Add LDS/RDS into XdsClient 2020-01-24 08:05:02 -08:00
Esun Kim 7be821ac47 Yapf all target python sources 2020-01-03 09:25:10 -08:00
Esun Kim 3a519a0b64 Replaced grpc_core New & Delete with C++ new & delete 2019-11-06 17:52:26 -08:00
Juanli Shen 0a736c0d37 Update envoy API to HEAD 2019-10-24 17:21:26 -07:00
Juanli Shen 2dc42a1e02 Use ADS 2019-10-04 17:02:52 -07:00
Esun Kim fa7bdff69f Fix buffer-overflow in grpc_static_mdelem_for_static_strings 2019-08-30 10:55:27 -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
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
2019-08-27 16:29:12 -07:00
Esun Kim 7ec6e8a4de Remove nanopb from gRPC 2019-08-21 13:31:21 -07:00
Juanli Shen 45dd8be442 Use LRS in xds policy 2019-08-09 12:08:32 -07:00
Juanli Shen 79f191114e Use EDS in xds LB policy 2019-08-07 22:43:45 -07:00
Esun Kim 6ddfb384c1 Added google/protobuf/descriptor.upb.* to google_api_upb 2019-08-07 12:08:06 -07:00
Esun Kim f88bd06ee5 Go UPB! 2019-08-06 15:27:14 -07:00
Nicolas Noble d7167c4a7d
Merge pull request #19786 from nicolasnoble/bazel-version-force
Few fixes to the gen_upb_api.sh script.
2019-08-02 16:25:13 -07:00
Arjun Roy b437dc0c68 Reduce instruction count for CH2 metadata ops.
1) Statically pre-compute static slice indices to save some ALU ops when linking
batched metadata.
2) Change some asserts to debug_asserts since they can provably not be triggered
with the current implementation.
3) Save some slice comparison cycles inside CH2 parsing.
2019-08-01 14:29:22 -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
Nicolas "Pixel" Noble d38178a27d Few fixes to the gen_upb_api.sh script. 2019-07-30 02:53:15 +02:00
Esun Kim ceb12c6be5
Merge pull request #19777 from veblush/upb-check
Add check_upb_output to sanity test
2019-07-29 15:17:49 -07:00
Esun Kim e45c5f021b Add check_upb_output to sanity test 2019-07-29 10:06:49 -07:00
Mark D. Roth db3d8be647 Add MetadataInterface abstraction to LB policy API. 2019-07-27 12:35:38 -07:00
Esun Kim 7e367da22a Added more protos to upb 2019-07-26 09:11:46 -07:00
Nicolas "Pixel" Noble 5495a7f7b1 Merge branch 'master' of https://github.com/grpc/grpc into moiz-upb 2019-07-16 19:07:24 +02: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
Nicolas "Pixel" Noble 3de02bc8cd Merge branch 'master' of https://github.com/grpc/grpc into moiz-upb 2019-07-03 19:54:22 +02:00
Arjun Roy d527c1fbda Pre-compute static metadata index for hpack_encoder.
Originally, hpack_encoder would check if a metadata was static or not by
comparing its pointer to the known static metadata global table and checking if
it was within bounds. This check was performed regardless of if the metadata was
static or not, and is somewhat costly.

Instead, we now pre-compute the static metadata index during code generation
time, and store it with static metadata objects. We read that value only if we
are dealing with a static metadata flag (which we know from the storage type of
the grpc_mdelem).

This yields slightly faster metadata encoding:

BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384
[framing_bytes/iter:9 header_bytes/iter:0       ]              34.9ns ± 2%
34.2ns ± 1%  -2.04%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384
[framing_bytes/iter:9 header_bytes/iter:0       ]              34.9ns ± 2%
34.2ns ± 1%  -2.01%        (p=0.000 n=20+19)
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.6ns ± 0%
49.2ns ± 2%  -2.74%        (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:6       ]              84.7ns ± 1%
83.5ns ± 1%  -1.43%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.4ns ± 0%
47.9ns ± 0%  -4.83%        (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              51.1ns ± 2%
48.9ns ± 1%  -4.32%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.8ns ± 2%
48.8ns ± 2%  -3.88%        (p=0.000 n=19+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.2ns ± 1%
47.9ns ± 0%  -4.47%        (p=0.000 n=19+16)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.2ns ± 0%
47.9ns ± 0%  -4.46%        (p=0.000 n=18+16)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.2ns ± 0%
47.9ns ± 0%  -4.40%        (p=0.000 n=19+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.7ns ± 2%
48.8ns ± 2%  -3.81%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.9ns ± 2%
48.8ns ± 2%  -4.05%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.1ns ± 0%
48.0ns ± 1%  -4.27%        (p=0.000 n=17+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.1ns ± 0%
48.0ns ± 1%  -4.28%        (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.1ns ± 0%
48.0ns ± 0%  -4.33%        (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:9       ]              91.4ns ± 1%
90.7ns ± 1%  -0.79%        (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12      ]               116ns ± 1%
116ns ± 1%  -0.46%        (p=0.002 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14      ]               122ns ± 0%
121ns ± 0%  -0.69%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:23      ]               144ns ± 1%
144ns ± 0%  -0.23%        (p=0.009 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:46      ]               232ns ± 0%
232ns ± 1%  -0.26%        (p=0.021 n=18+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12      ]              92.9ns ± 1%
92.0ns ± 1%  -0.97%        (p=0.000 n=19+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14      ]              94.0ns ± 1%
92.6ns ± 1%  -1.45%        (p=0.000 n=20+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:21      ]              93.9ns ± 2%
92.8ns ± 1%  -1.17%        (p=0.001 n=20+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:111     ]               106ns ± 0%
105ns ± 3%  -1.15%        (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1
[framing_bytes/iter:81 header_bytes/iter:9      ]               355ns ± 1%
354ns ± 0%  -0.35%        (p=0.015 n=19+20)
BM_HpackEncoderEncodeHeader<RepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:8.00002 ]               139ns ± 1%
133ns ± 1%  -4.46%        (p=0.000 n=19+20)
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:16      ]               236ns ± 1%
231ns ± 1%  -2.24%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:3       ]              73.6ns ± 1%
70.5ns ± 1%  -4.14%        (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384
[framing_bytes/iter:9 header_bytes/iter:1       ]              50.5ns ± 0%
49.2ns ± 2%  -2.60%        (p=0.000 n=16+20)
2019-06-28 14:23:17 -07:00
Nicolas "Pixel" Noble 27030f58aa Renaming data-plane-api to envoy-api. 2019-06-25 21:13:45 +02:00
Arjun Roy 0f83755c6e chttp2 hpack encoder: fast-pathed static md/slice ops 2019-05-28 14:40:50 -07:00
Arjun Roy f65208af02 Added slice equality when static fastpath. 2019-05-10 11:35:27 -07:00
Arjun Roy 7d946633ea grpc_slice_refcount devirtualization 2019-04-19 12:20:26 -07:00
Vishal Powar df3d5bc8f7 Add upb generated code and build rule for lrs protocol. 2019-04-09 12:03:21 -07:00
Vishal Powar e959373742 Generate upb code for cds protos and BUILD rule changes 2019-03-22 19:40:08 -07:00
Vishal Powar fb15daf8b9 Add generated upb code for endpoints information.
Also,
  - Update upb submodule for new code generator and update generated
  files.
2019-03-21 17:24:57 -07:00
Vishal Powar f569cc1b36 Add BUILD rul and generated upb code for protos required to do DiscoveryRequest to xDS server
Also,
  - cleanup check scripts to look for file extension to exempt upb
  generated code.
2019-03-15 14:16:08 -07:00
Vishal Powar 319fcdf26e Add a script for generating C code and build rule for protobuf protos.
All these changes need to go together to make sense
  - changes to use new version of upb in bazel
  - allowing includes in build target option
  - script for generating c code (upb) for protos
  - generated code for example protos
  - adding changes for non-bazel builds
  - change sanity tests to ignore the generated files.
2019-03-13 12:53:17 -07:00
Alexander Polcyn ac6795a57e Revert "Changes add a script for generating C code and build rule for protobuf"
This reverts commit 62027b7e14.
2018-12-12 11:40:25 -08:00
Vishal Powar 62027b7e14 Changes add a script for generating C code and build rule for protobuf
protos

All these changes need to go together to make sense
  - changes to use new version of upb in bazel
  - allowing includes in build target option
  - script for generating c code for protos
  - generated code for example build
  - adding changes for non-bazel builds
  - change sanity tests to ignore the generated files.
2018-12-11 14:59:02 -08:00
Vishal Powar fafde8ff21 Adding ads (data-plane-api) method name to wellknown names list.
This is the api for getting assignments from xDS server
2018-11-16 15:16:39 -08:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Hope Casey-Allen bf4432b67e Add comment to specify hpack elements 2018-10-01 10:08:50 -07:00
Hope Casey-Allen 4772a743e8 Delete hpack lookup table 2018-09-28 13:47:04 -07:00
hcaseyal 0dd651dcea
Merge pull request #16663 from hcaseyal/delete_unecessary_callout_checks
Remove unnecessary callout_is_default checks
2018-09-20 11:01:53 -07:00
Hope Casey-Allen 091f8dd51e Remove unnecessary callout_is_default checks 2018-09-19 22:22:06 -07:00
Hope Casey-Allen 2a51d406e8 Minor cleanup to gen_static_metadadta.py 2018-09-19 14:39:33 -07:00
Hope Casey-Allen 327c514fe7 Some reorganizing to respond to code review comments 2018-09-19 13:50:25 -07:00
Hope Casey-Allen 5b27941372 Even cleaner implementation that does not modify the grpc_mdelem struct. 2018-09-12 16:34:38 -07:00
Hope Casey-Allen fba18108fa Merge branch 'hpack_static_table' of github.com:hcaseyal/grpc into hpack_static_table 2018-09-11 08:55:43 -07:00
Hope Casey-Allen 0b4e263fdf Small formatting and style changes 2018-09-11 08:52:59 -07:00
Hope Casey-Allen 4a9cd9c38b Fix codegen script to include port_platform 2018-09-10 22:30:26 -07:00
Hope Casey-Allen b731178a7c Fix codegen script to include port_platform 2018-09-10 22:29:03 -07:00
Hope Casey-Allen fbe594beeb Much cleaner approach that should address code review comments as well 2018-09-10 22:19:40 -07:00
Hope Casey-Allen 009d828341 WIP. Modifying grpc_mdelem to store the static hpack table idnex 2018-09-10 19:23:05 -07:00
Jan Tattermusch fcf533d916 try fix nanopb generation 2018-08-07 14:28:41 +02:00
David Garcia Quintas f3955ba711 Update to use the canonical version of LB proto 2018-06-21 17:46:31 -07:00
David Garcia Quintas bc9573d7ac back to using quotes for nanopb includes 2018-06-04 13:49:03 -07:00
David Garcia Quintas 99dc56758e more tweaks go output of nanopb gen 2018-06-01 16:19:58 -07:00
David Garcia Quintas 00e045dbb2 Fix the inclusion "third_party/nanopb/..." to simply "..." 2018-06-01 15:44:03 -07:00
Jan Tattermusch d8f9fe844f get rid of premature return in massage_qps_stats 2018-05-18 15:33:25 +02:00
Yash Tibrewal 31f4eee720 Clang format and yapf 2018-05-14 15:45:17 -07:00
Yash Tibrewal 519d2b1fae Cleanup stats removal for opt build. Stats will only be collected on debug builds or if GRPC_COLLECT_STATS is defined. 2018-05-14 15:17:43 -07:00
Yash Tibrewal ae3866bf6b Try removing stats 2018-05-04 15:03:08 -07:00
ncteisen 4454af55e1 Update stats generator 2018-05-01 09:45:01 -07:00
Yihua Zhang 04fb58efbd Add ALTS code to grpc/core 2018-03-08 06:49:24 -08:00
Sree Kuchibhotla ae277dd000
Revert "Add ALTS C stack to gRPC core" 2018-03-07 14:35:36 -08:00
Yihua Zhang eaf6486677 Add ALTS code to grpc/core 2018-03-06 21:40:45 -08:00
Mark D. Roth 718c8341ca Retry support. 2018-02-28 13:00:04 -08:00
Muxi Yan 3db2caaf2e Replace message/deflate,gzip with deflate,gzip 2018-02-06 18:17:42 -08:00
Muxi Yan fb061c329a Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2018-01-19 12:20:15 -08:00
Mehrdad Afshari 87cd994b04 Upgrade yapf to 0.20.0
Upgrade yapf version to 0.20.0 and reformat Python files.
2018-01-02 14:40:00 -08:00
Muxi Yan 032e9b32dc Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2017-12-13 14:04:45 -08:00
ncteisen cf1d28b473 Fix windows compile 2017-12-13 11:58:54 -08:00
ncteisen 7a2be20a8a yapf tools/distrib 2017-12-11 16:49:19 -08:00
ncteisen 5898847ddf yapf tools/codegen 2017-12-11 16:43:54 -08:00
Muxi Yan 99024d6436 Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2017-12-08 14:02:18 -08:00
Muxi Yan 6043006af1 Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2017-12-06 22:29:12 -08:00
Yash Tibrewal 8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed"" 2017-12-06 09:47:54 -08:00
Yash Tibrewal ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed" 2017-12-06 09:05:05 -08:00
Yash Tibrewal 6fbe010851 minor objc test change 2017-11-27 13:46:18 -08:00
Yash Tibrewal 9da7ac217a Merge branch 'master' into execctx 2017-11-27 13:42:21 -08:00
Mehrdad Afshari 28661ea6e1 Bump third_party/protobuf submodule to v3.5.0 2017-11-24 17:56:04 -08:00
Yash Tibrewal 0ee7574732 Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
2017-10-18 17:12:19 -07:00
Muxi Yan 4c7bc85bd8 Revert changes to "identity" "deflate" "gzip" "stream-gzip" compression algorithm names at surface API
This reverts commit 6360274841.
This reverts commit 33d7a7aa5a.
2017-10-11 16:27:51 -07:00
Muxi Yan 03fc857a6f Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2017-10-06 18:47:09 -07:00
Muxi Yan 6360274841 Make the names of compression algorithms backwards compatible at surface API 2017-10-06 17:25:40 -07:00
Yash Tibrewal bc460fa3c4 Rebasing on master for easier merging and testing 2017-10-02 19:01:25 -07:00
Yash Tibrewal 547653ebdb some build changes, some unresolved dependencies 2017-10-02 16:32:27 -07:00
Yash Tibrewal 19f0a909ac pointer conversion for libuv build. gen_stats_data.py to generate .cc 2017-10-02 16:29:41 -07:00
Yash Tibrewal 90adcf5e98 gen_static_metadata.py would generate .cc now. Also fixed asan build failures 2017-10-02 16:29:41 -07:00
Craig Tiller 2477cf3778 Revert "General executor speedups, introspection" 2017-09-26 12:20:35 -07:00
Muxi Yan 1c285b9812 Merge remote-tracking branch 'upstream/master' into fix-stream-compression-config-interface 2017-09-25 12:38:17 -07:00
Muxi Yan e6d888d0a0 Change C core surface API 2017-09-25 11:42:46 -07:00
Yash Tibrewal 81e476e6d6 Merge pull request #12624 from yashykt/ctocc6
C to C++ compilation
2017-09-19 16:31:44 -07:00
Craig Tiller 7fcdd7add0 Really spell out code generation 2017-09-19 14:11:21 -07:00
Yash Tibrewal 067611f192 static metadata and clang format 2017-09-18 15:42:40 -07:00
Craig Tiller 70bbb6b117 Fix schema generation 2017-09-13 09:04:30 -07:00
Craig Tiller bdfa308a1f Merge github.com:grpc/grpc into stats_json 2017-09-12 15:27:45 -07:00
Craig Tiller 5d6156033e Review feedback 2017-09-12 13:15:58 -07:00
Craig Tiller f11a40d23b Upload core stats to qps_test 2017-09-12 10:54:20 -07:00
Craig Tiller 4b7fe94a97 Automatically generate BigQuery schema details for all counters 2017-09-11 13:30:13 -07:00
Craig Tiller eda90974b4 Add a documentation field to stats, enforce its usage 2017-09-08 09:52:29 -07:00
Craig Tiller 3749a6d417 Merge github.com:grpc/grpc into stats_histo 2017-09-06 13:28:22 -07:00
Craig Tiller 3e3dd08087 Bounds fixes 2017-09-05 15:08:39 -07:00
Craig Tiller 07530dbbeb Fixup bounds 2017-09-05 14:55:43 -07:00
Mark D. Roth 4190f39afb Merge pull request #12298 from markdroth/default_metadata_fix
Detect default metadata using the callout list.
2017-09-05 10:20:43 -07:00
Craig Tiller cd0a91e4e1 Fix some rounding bugs 2017-09-02 17:58:22 -07:00
Flavio Medeiros 89e68acb50 Trying to make the code more readable. 2017-09-02 10:24:01 -07:00
Craig Tiller e4605634a7 Cleanup intification 2017-09-01 16:45:36 -07:00
Craig Tiller 56a84848c7 Merge branch 'stats_histo_ints' into stats_histo 2017-09-01 16:36:52 -07:00
Craig Tiller 40bca8468e Fix one rounding bug 2017-09-01 16:35:08 -07:00
Craig Tiller 97ec5eb61e Add stats test 2017-09-01 12:57:36 -07:00
Craig Tiller da5cd59ed3 Restrict histograms to integral boundaries 2017-09-01 10:03:40 -07:00
Mark D. Roth 9e3a19ee95 Use a separate table to determine which callouts are default. 2017-09-01 08:50:42 -07:00