Commit Graph

399 Commits

Author SHA1 Message Date
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
Craig Tiller 5489d41c15 Expose histograms via microbenchmarks 2017-08-31 12:20:04 -07:00
Craig Tiller 520d76d698 Compile fix 2017-08-31 11:26:30 -07:00
Craig Tiller 640dfe499e Histogram support 2017-08-30 13:34:49 -07:00
Craig Tiller e944c5d490 Merge branch 'stats' into stats_histo 2017-08-29 14:16:14 -07:00
Craig Tiller 03c908fc9e Merge github.com:grpc/grpc into stats 2017-08-29 12:34:10 -07:00
Muxi Yan 68760439e7 Resolve performance 2017-07-27 15:11:15 -07:00
Muxi Yan 0603895423 Merge remote-tracking branch 'upstream/master' into stream_compression_config 2017-07-26 17:02:31 -07:00
Muxi Yan 68a0fd5416 Separate stream compression from message-wise compression 2017-07-26 14:20:01 -07:00
Craig Tiller 33aeabad66 begin building out histogram support 2017-07-20 16:02:24 -07:00
Craig Tiller 280866817f Add a simple stats framework to gRPC C core 2017-07-18 14:22:19 -07:00
Craig Tiller d996379030 Reset OWNERS state 2017-07-17 10:54:07 -07:00
Craig Tiller e476f7d33f Strawman OWNERS --> CODEOWNERS script 2017-07-13 08:52:00 -07:00
Muxi Yan 59827dd739 generate project 2017-07-12 14:04:30 -07:00
Noah Eisen e7ba3e91f8 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1846 2017-07-11 07:37:41 -07:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
David Garcia Quintas a818f72c0c Load Reporting back to using metadata 2017-04-15 11:25:48 -07:00
Bogdan Drutu c2b1f1672d Change metadata names used by the instrumentation. 2017-04-13 14:10:04 -07:00
Craig Tiller 12d716c88c add nl 2017-04-12 09:00:41 -07:00
Craig Tiller bee6a33c5c Fix include guards 2017-04-05 14:46:56 -07:00
Craig Tiller dd2f706b8b Generate slightly more efficient code 2017-04-05 08:11:44 -07:00
Craig Tiller 3d13d7e162 Update copyright, choose a better sort order for our enum 2017-04-05 08:02:42 -07:00
Craig Tiller ee787caf0e Merge github.com:grpc/grpc into truebin 2017-04-04 15:54:40 -07:00
Craig Tiller 87c79795e6 Perform option exchange 2017-04-03 17:05:12 -07:00
Craig Tiller c8f62bcb03 Add new setting for true-binary mode 2017-04-03 16:25:45 -07:00
Craig Tiller bf289563f6 Start gen script for new settings handling 2017-04-03 15:36:16 -07:00
Craig Tiller 9eb0fdec00 Reorganize ext tree
- filters live under filters
- lb_policy, resolver implementations (being part of client_channel) live under client_channel
2017-03-31 16:59:30 -07:00
Craig Tiller 0db30f3dd0 HPACK parsing benchmarks 2017-02-23 08:48:34 -08:00
David G. Quintas ca452f432e Merge pull request #9648 from dgquintas/lr_sans_md
Use call context to propagare LR costs
2017-02-16 12:46:11 -08:00
David Garcia Quintas 716f953532 Update protobuf version used for nanopb compiler 2017-02-14 10:54:20 -08:00
David Garcia Quintas f31f096274 Use call context to propagare LR costs 2017-02-13 16:26:00 -08:00
Craig Tiller 0c3fdad486 Fix hpack fuzzer 2017-01-21 15:16:26 -08:00
Craig Tiller 19cc2db3bc Merge branch 'slice_with_exec_ctx' into metadata_filter 2017-01-04 12:54:34 -08:00
Craig Tiller de7e8c78f7 Dont add copyright 2017-01-03 14:03:01 -08:00
Craig Tiller 5efdf3ca26 Fix casting error 2016-12-07 17:30:21 -08:00
Craig Tiller ebc77551e9 Fix memory overrun 2016-12-07 11:25:11 -08:00
Craig Tiller ddea41e666 Remove code, rely on a pip installable module to codegen 2016-11-30 17:05:54 -08:00
Craig Tiller 28d776e9d2 Make everything compile for clang & gcc 2016-11-23 10:16:53 -08:00
Craig Tiller 6ec8aa1c06 Simplify batch callout index calculation 2016-11-23 09:35:25 -08:00
Craig Tiller a82d2a36cf Fix compile, make slice.c respect sub_refcount 2016-11-23 08:13:46 -08:00
Craig Tiller 43a5169292 Declare sub_refcnt field 2016-11-23 08:03:02 -08:00
Craig Tiller a7d37a371a Initial conversion work to indexed metadata 2016-11-22 14:37:16 -08:00
Craig Tiller dcbe70c137 Faster comparison 2016-11-21 14:07:52 -08:00
Craig Tiller 3b05e1da91 Move from cmp --> eq, and provide a good implementation for interning 2016-11-21 13:46:31 -08:00
Craig Tiller 9ecadce1e0 Get identity law testing right 2016-11-18 14:52:25 -08:00
Craig Tiller 0160de9ae5 Begin moving mdelem to be a value type 2016-11-18 08:46:46 -08:00
Craig Tiller b2348ba1db Check length as well as start when determining static metadata id 2016-11-18 08:10:46 -08:00
Craig Tiller 1961436b93 Fix static string interning 2016-11-17 16:05:27 -08:00
Craig Tiller 7885d1abe7 Initial fixes 2016-11-17 14:07:45 -08:00
Craig Tiller 0451c3dbfc Move slice functions to vtable, implement hash 2016-11-17 09:34:14 -08:00
Craig Tiller d7f15831c6 Tests are starting to compile 2016-11-16 17:12:55 -08:00
Craig Tiller 47718a69a9 Add method config stuff 2016-11-14 14:48:42 -08:00
Craig Tiller 5ef31ab9c9 Progress towards mdstr elimination 2016-11-10 16:27:48 -08:00
Craig Tiller e52bbb1d01 Initial elimination of grpc_mdstr from metadata.{h,c} 2016-11-10 15:34:06 -08:00
Craig Tiller 515a33d6bd Perfect hashing code 2016-11-10 15:33:32 -08:00
Craig Tiller e4222b4cbd Add incldues, fix function names 2016-10-26 17:15:30 -07:00
David Garcia Quintas d8fe334d5b s/lb-cost/lb-cost-bin 2016-10-15 15:25:51 -07:00
David Garcia Quintas a3654db631 Renamed LB-related metadata keys 2016-10-11 15:55:40 -07:00
David G. Quintas d53957cf4e Merge pull request #8099 from dgquintas/census_md_rename_sep_16
Renamed grpc-census-bin to grpc-stats-bin
2016-09-21 12:38:27 -07:00
David Garcia Quintas 98d5f5cb3f Renamed grpc-census-bin to grpc-stats-bin 2016-09-14 14:34:22 -07:00
David Garcia Quintas ebe7c17613 Merge branch 'master' of github.com:grpc/grpc into lb_add_md 2016-09-12 22:57:29 -07:00
Craig Tiller e0321637d7 Merge pull request #7774 from ctiller/percent-encoder
Percent encoding routines
2016-09-06 22:08:12 -07:00
David Garcia Quintas b8245bd231 Merge branch 'master' of github.com:grpc/grpc into lb_add_md 2016-09-01 18:29:46 +02:00
Makdharma 178f4bc24d prep work for enabling caching
Added new header grpc-payload-bin
Added new channel arg for setting max payload size
Ability to create a GET request in client filter
Ability to parse the payload from header in server filter.
2016-08-24 15:16:53 -07:00
David Garcia Quintas 88ece58764 Update protobuf version to 3.0.0 2016-08-22 15:03:12 -07:00
Craig Tiller 1c7a84202f Add a strict and a permissive decoder, allow different reserved alphabets 2016-08-18 11:13:11 -07:00
David Garcia Quintas 8eec9ec6af Changed census static metadata keys for tracing and tag propagation 2016-08-01 17:06:43 -07:00
David Garcia Quintas 01c4d995d3 Added new features to load reporting.
- Propagation of (rpc) method name.
- Invocation of the hook at (call, channel) x (creation, destruction)
- Added enum to identify the source of invocation.
- Fixed testing. Went from test fixture to simple test.
2016-07-10 20:57:52 -07:00
David Garcia Quintas e7518461c2 Merge branch 'master' of github.com:grpc/grpc into lr_hook 2016-06-02 10:24:51 -07:00
Alistair Veitch 44181c02c4 fix options file; fix generated include guards 2016-05-26 10:29:38 -07:00
David Garcia Quintas 772f485334 Merge branch 'master' of github.com:grpc/grpc into lr_hook 2016-05-19 14:56:03 -07:00
Jan Tattermusch fffd296bc5 Merge pull request #6279 from dgquintas/lb_proto_v1
Updated load balancer proto to v1
2016-05-10 10:15:42 -07:00
David Garcia Quintas 1621c4d37c Added support for trailing metadata 2016-05-04 19:44:37 -07:00
Mark D. Roth 8a1d8052eb Added bad_client test to check that the server rejects requests with too
much metadata and refuses to send responses with too much metadata.
2016-05-03 10:44:56 -07:00
David Garcia Quintas 7f0793ad62 Updated load balancer proto to v1 2016-04-25 16:48:26 -07:00
Jan Tattermusch de4fcb3a7f Merge pull request #6050 from dgquintas/nanopb_generation
Generalized nanopb generator script
2016-04-20 21:00:59 -07:00
David Garcia Quintas f7d9cbe658 PR comments 2016-04-19 14:10:18 -07:00
Craig Tiller 942568bc9d Better dictionary 2016-04-18 22:19:00 -07:00
Craig Tiller 69b6d4ef62 Better dictionary 2016-04-18 15:08:14 -07:00
Craig Tiller 134a6b6ffd Dictionary support for fuzzers 2016-04-18 08:14:20 -07:00
David Garcia Quintas d6b4628f42 Further improvements 2016-04-01 19:10:09 -07:00
David Garcia Quintas 4875ce606b fixed typo 2016-04-01 14:39:35 -07:00
David Garcia Quintas bba0266a2f Generalized nanopb generator script 2016-03-31 22:10:01 -07:00
Craig Tiller 31efd7e864 Merge github.com:grpc/grpc into copyright-fix 2016-03-31 11:08:13 -07:00
Nicolas Noble 7894e60306 Merge pull request #6000 from ctiller/optionalize_roundrobin
Optionalize load balancing policies
2016-03-31 09:17:54 -07:00
Craig Tiller 64a12c55df Merge github.com:grpc/grpc into copyright-fix 2016-03-31 07:49:58 -07:00
Craig Tiller 6169d5f7b0 Update copyrights 2016-03-31 07:46:18 -07:00
Craig Tiller c2011586fa Merge github.com:grpc/grpc into idempotent 2016-03-28 22:53:34 -07:00
Craig Tiller 14e0d9862f Begin optionalizing lb policies: initial code movement 2016-03-28 17:11:26 -07:00
Craig Tiller 3bd9695939 Merge github.com:grpc/grpc into idempotent 2016-03-28 12:43:02 -07:00
Craig Tiller c7762a8c24 Move chttp2 related files under ext/ 2016-03-28 10:13:08 -07:00
Craig Tiller 605ad62563 Fix copyright 2016-03-25 20:07:21 -07:00
Craig Tiller ffae43c98c Fix paths 2016-03-25 19:34:29 -07:00
Craig Tiller 8424aee4cf Fix codegen for protos 2016-03-25 19:28:33 -07:00
David Garcia Quintas 07503b6e5c Add identity to static metadata accept-encodings bitmasks 2016-03-21 11:59:33 -07:00
Craig Tiller c6549764e8 Change client :method selection based on idempotency 2016-03-09 17:10:43 -08:00
Craig Tiller 023759216c Add comment 2016-02-22 22:27:28 -08:00
Craig Tiller 16f6826ffd Merge github.com:grpc/grpc into fix-proto-docker 2016-02-18 07:14:37 -08:00
Craig Tiller 38af6122dd Fix copyright 2016-02-12 10:14:34 -08:00
Craig Tiller a7d41147ea Merge github.com:grpc/grpc into bad_metadata 2016-02-12 10:13:52 -08:00
Craig Tiller 00c4829669 Ignore pb.h, pb.c for clang-fmt 2016-02-11 16:20:28 -08:00