Yash Tibrewal
6d249c0af2
Observability: Experimental arg to disable client side tracing ( #31093 )
...
* Observability: Experimental arg to disable client side tracing
* Fix IWYU
* Reviewer comments
* Reviewer comments
* Reviewer comment: Move experimental/internal arg to different file
* Fix build
* Fix IWYU
2 years ago
Esun Kim
ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] ( #31089 )
...
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]
* Clean up unnecessary error
* Fix
* Fix2
* Remove unnecessary else
2 years ago
Mark D. Roth
cdb7d2c93c
XdsEndpointResourceType: use ValidationErrors and add unit tests ( #31076 )
...
* simplify XdsResourceType::Decode() API
* fix xds_client_test
* xDS endpoint: use ValidationErrors to improve error messages
* fix sanity
* add xDS endpoint resource type test
* clang-format
* remove a couple of now-unnecessary end2end tests
* generate_projects
* fix xds_csds_e2e_test
* iwyu
* attempt to avoid ubsan failure
2 years ago
Craig Tiller
ebc4f236b6
[slice] Remove _internal variants of APIs ( #30953 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
32b43f0168
[channel_args] Make channel_stack_init take new type ( #30841 )
...
* [channel_args] Make channel_stack_init take new type
* fix
* fix
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yousuk Seung
747d016397
Support --max_recv_msg_size in grpc cli ( #31106 )
...
* Support --max_recv_msg_size in grpc cli
* Comment typos fixed in tests.
2 years ago
AJ Heller
fb14fdf0e0
Performant thread-safe Work Queue ( #30821 )
...
* WorkQueue
* weaken the large obj stress test for Windows; documentation
* update comment
* Add WorkQueue microbenchmark. Results below ...
------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
------------------------------------------------------------------------------------------
BM_WorkQueueIntptrPopFront/1 297 ns 297 ns 2343500 items_per_second=3.3679M/s
BM_WorkQueueIntptrPopFront/8 7022 ns 7020 ns 99356 items_per_second=1.13956M/s
BM_WorkQueueIntptrPopFront/64 59606 ns 59590 ns 11770 items_per_second=1074k/s
BM_WorkQueueIntptrPopFront/512 477867 ns 477748 ns 1469 items_per_second=1071.7k/s
BM_WorkQueueIntptrPopFront/4096 3815786 ns 3814925 ns 184 items_per_second=1073.68k/s
I0902 19:05:22.138022069 12 test_config.cc:194] TestEnvironment ends
================================================================================
* use int64_t for times. 0 performance change
------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
------------------------------------------------------------------------------------------
BM_WorkQueueIntptrPopFront/1 277 ns 277 ns 2450292 items_per_second=3.60967M/s
BM_WorkQueueIntptrPopFront/8 6718 ns 6716 ns 105497 items_per_second=1.19126M/s
BM_WorkQueueIntptrPopFront/64 56428 ns 56401 ns 12268 items_per_second=1.13474M/s
BM_WorkQueueIntptrPopFront/512 458953 ns 458817 ns 1550 items_per_second=1.11591M/s
BM_WorkQueueIntptrPopFront/4096 3686357 ns 3685120 ns 191 items_per_second=1.1115M/s
I0902 19:25:31.549382949 12 test_config.cc:194] TestEnvironment ends
================================================================================
* add PopBack tests: same performance profile exactly
* use Mutex instead of Spinlock
It's safer, and so far equally performant in benchmarks of opt builds
* add deque test for comparison. It is faster on all tests.
* Add sparsely-populated multi-threaded benchmarks.
* fix
* fix
* refactor to help thread safety analysis
* Specialize WorkQueue for Closure*s and AnyInvocables
* remove unused callback storage
* add single-threaded benchmark for closure vs invocable
* sanitize
* missing include
* move bm_work_queue to microbenchmarks so it isn't exported
* s/workqueue/work_queue/g
* use nullptr instead of optionals for popped closures
* reviewer test suggestion
* private things are private
* add a work_queue fuzzer
Ran for 10 minutes @ 42 jobs @ 42 workers. Zero failures.
Checked in a selection of 100 good seeds after merging the thousands of
results.
* fix
* fix header guards
* nuke the corpora
* feedback
* sanitize
* Timestamp::Now
* fix
* fuzzers do not work on windows
* windows does not like multithreaded benchmark tests
2 years ago
Craig Tiller
f15ba1ffc7
[tls] Remove support for pthread tls ( #31040 )
...
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* merge
* fix
* final script fix for proper destination & target
* more deployment target fix
* objc ios test script fix
Co-authored-by: Denny C. Dai <dennycd@me.com>
Co-authored-by: dennycd <dennycd@google.com>
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Craig Tiller
da08fe1d6f
Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )" ( #31079 )
...
This reverts commit 17f515744f
.
2 years ago
Yash Tibrewal
9cff4d2d28
OpenCensus Plugin: Add missing measure and views for started RPCs ( #31034 )
2 years ago
Mark D. Roth
07df5ff9c7
json_object_loader: refactor ErrorList into its own library ( #31049 )
...
* json_object_loader: refactor ErrorList into its own library
* fix observability_config_test
* generate_projects
* iwyu
2 years ago
Cheng-Yu Chung
0cb5faf8e4
Remove `include/grpcpp/impl/codegen/client_interceptor.h` ( #31054 )
...
* Remove `include/grpcpp/impl/codegen/client_interceptor.h`
* Update comment
2 years ago
Cheng-Yu Chung
17f515744f
Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )
2 years ago
Mark D. Roth
e475e165a7
LB policies: convert to new JSON API ( #30468 )
...
* Declarative JSON parser
* Automated change: Fix sanity tests
* fix
* shrinking stuff a little
* static vtables
* separate fns
* simpler?
* make maps work
* windows fixes
* Automated change: Fix sanity tests
* simplify code
* Automated change: Fix sanity tests
* vtable-test
* dont always create vec/map impls for every type
* comments
* make error consistent
* move method private
* progress
* durations!
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* post-load
* Automated change: Fix sanity tests
* document JsonPostLoad() and add static_assert
* don't copy field names, to avoid length limitations
* use absl::Status
* accept either string or number for numeric values
* add test for direct data member of another struct type
* remove unused method
* add support for retaining part of the JSON wirthout processing
* update test for changes in Json::Parse() API
* add absl::optional support
* Automated change: Fix sanity tests
* fix tests, improve error messages, and add overload to parse to existing object
* remove overload of LoadFromJson()
* change special case for Json to instead use Json::Object
* fix build
* improve error structure, add missing types, and improve tests
* clang-format
* Automated change: Fix sanity tests
* update grpclb parsing
* fix build
* convert outlier_detection LB config
* convert priority LB policy
* convert ring_hash LB config
* add LoadJsonObjectField(), add LoadFromJson() overload that takes an ErrorList parameter, and add tests for parsing bare top-level types
* fix msan
* Automated change: Fix sanity tests
* WIP on RLS parsing conversion
* fix error message
* Automated change: Fix sanity tests
* fixed RLS parser tests
* fix error prefix in OD, priority, and ring_hash policies
* convert weighted_target policy
* convert xds_cluster_manager
* convert cds policy
* convert xds_cluster_resolver
* convert xds_cluster_impl
* Automated change: Fix sanity tests
* fix test
* fix xds_cluster_impl drop config parsing
* Automated change: Fix sanity tests
* attempt to fix mac build
* work around gcc6 problem
* Automated change: Fix sanity tests
* fix build
* add mechanism to conditionally disable individual fields
* fix build
* Automated change: Fix sanity tests
* fix move assignment operator
* fix build
* Automated change: Fix sanity tests
* fix build and simplify RLS duplicate key check
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix build
* iwyu
* fix build
* fix sanity
* add LoadRefCountedFromJson() and use it to eliminate some moves
* fix build
* Automated change: Fix sanity tests
Co-authored-by: Craig Tiller <craig.tiller@gmail.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
6d792b6bce
xDS resource validation: identify extensions by type_url instead of name ( #31024 )
...
* xDS resource validation: identify extensions by type_url instead of name
* fix build
2 years ago
Yash Tibrewal
5cd8ee25f8
GcpObservabilityConfig: New changes ( #31038 )
...
* GcpObservabilityConfig: New changes
* Fix IWYU
2 years ago
Yash Tibrewal
27e5b4e187
GcpObservabilityConfig: Fall-back to GCP environment variables ( #31022 )
2 years ago
Yash Tibrewal
6098202c09
GcpObservabilityTest: Cleanup ( #31023 )
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
Craig Tiller
d9ac89a441
[gprpp] absl::Notification polyfill ( #31008 )
...
* [gprpp] absl::Notification polyfill
* grpc_core::
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
2 years ago
Craig Tiller
96264e07b8
Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )
...
This reverts commit 74c0d6fe3f
.
2 years ago
Mark D. Roth
e5aadf985e
Revert "Revert "client_channel: allow LB policy to communicate update errors to resolver ( #30809 )" ( #30970 )" ( #30981 )
...
This reverts commit 1648bc08e0
.
2 years ago
Cheng-Yu Chung
b765b06155
Remove `include/grpcpp/impl/codegen/async_stream.h` ( #30941 )
...
* Remove `include/grpcpp/impl/codegen/async_stream.h`
* Fix
* Fix
* Update
2 years ago
Craig Tiller
74c0d6fe3f
[c++] Move environment functions to C++ ( #30937 )
...
* [gprpp] Move env to C++
* move headers/impl
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update http_proxy.cc
* fix
* fix
* rename
* fix merge
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Richard Belleville
1648bc08e0
Revert "client_channel: allow LB policy to communicate update errors to resolver ( #30809 )" ( #30970 )
...
This reverts commit 9ff943b81e
.
2 years ago
Craig Tiller
92f58c18a8
Revert "Revert "[chttp2] Improve huffman decode efficiency ( #30479 )" ( #30961 )" ( #30962 )
...
This reverts commit bfea47093f
.
2 years ago
Cheng-Yu Chung
cb3d7a9e9e
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h`"" ( #30955 )
...
* Revert "Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` (#30945 )" (#30950 )"
This reverts commit 0c454fa875
.
* Fix
2 years ago
Carlos Sobrinho
63df245532
If `-infile` is not readable, bail out and show an error! ( #30760 )
...
Without this, `grpc_cli` will connect, send the metadata and then completely stall until it is killed leading to believe it is the server that is stalled instead of `grpc_cli` that won't send the message.
2 years ago
Craig Tiller
bfea47093f
Revert "[chttp2] Improve huffman decode efficiency ( #30479 )" ( #30961 )
...
This reverts commit 6c7f921f5f
.
2 years ago
Yash Tibrewal
b3ad894e05
GcpObservability: Use the observability config ( #30932 )
...
* GcpObservability: Use the observability config
* iwyu
* Fix build
2 years ago
Cheng-Yu Chung
6e57952589
Revert "Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )" ( #30951 )" ( #30956 )
...
This reverts commit a81b61113c
.
2 years ago
Craig Tiller
6c7f921f5f
[chttp2] Improve huffman decode efficiency ( #30479 )
...
* first pass
* refinement #1
* fix
* opt
* 8
* 5
* 12
* 10
* 7
* 15
* 8n
* 15n
* 8a
* 16a
* 15a
* 5a
* 10a
* 7a
* 9a
* 12a
* 11a
* 11b
* 11b
* 7b
* 15b
* 14b
* 15i
* 12i
* 9i
* 10i
* finalizing
* fix
* tweak
* 10f
* 10r
* 7r
* 8r
* 9r
* more
* rething
* 8s
* 9s
* 12s
* 7s
* 10s
* 15snr
* 12snr
* 14snr
* 13snr
* 11snr
* 20snr
* 15snr
* 18snr
* 7snr
* 7snr
* 12-2stp
* 13-2stp
* 14-2stp
* 11-2stp
* 10-2stp
* 9-3stp
* 8-3stp
* 7-3stp
* 8-2stp
* auto-tune1
* max-depth-2
* max-depth-3
* max-depth-2
* abbreviate
* working version
* add benchmark
* fix
* fix
* fix
* ditch define
* better code layout
* static fns
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix build
* cleanup and comment
* fmt
* fix
* test
* tag
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* progress
* progress
* progress
* fixes
* cleanup
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fmt
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* add encode/decode fuzzer
* Automated change: Fix sanity tests
* fix
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
9ff943b81e
client_channel: allow LB policy to communicate update errors to resolver ( #30809 )
...
* client_channel: allow LB policy to communicate update errors to resolver
* fix tests
* Automated change: Fix sanity tests
* fix build
* fix another "ignoring return value" warning
* fix use-after-move
* fix channel to invoke resolver callback when service config fails on initial resolution
* remove outdated TODO
* improve comments
* fix PollingResolver to defer re-resolution requests while waiting for result-health callback
* Automated change: Fix sanity tests
* absl::exchange -> std::exchange
* fix dns_resolver_cooldown_test
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
aaec373a10
Second attempt: XdsClient: add unit test and fix watcher notification bugs ( #30943 )
...
* Revert "Revert "XdsClient: add unit test and fix watcher notification bugs (#30823 )" (#30942 )"
This reverts commit 6d2c4a8314
.
* use GRPC_CUSTOM_JSONUTIL macro for JsonPrintOptions
2 years ago
Craig Tiller
0c454fa875
Revert "Remove `include/grpcpp/impl/codegen/async_unary_call.h` ( #30945 )" ( #30950 )
...
This reverts commit 7dbc73d4f3
.
2 years ago
Craig Tiller
a81b61113c
Revert "Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )" ( #30951 )
...
This reverts commit c6326bbc75
.
2 years ago
Cheng-Yu Chung
c6326bbc75
Remove `include/grpcpp/impl/codegen/async_generic_service.h` ( #30450 )
...
* Remove `include/grpcpp/impl/codegen/async_generic_service.h`
* Fix test
* Reserve compatibility
2 years ago
Cheng-Yu Chung
7dbc73d4f3
Remove `include/grpcpp/impl/codegen/async_unary_call.h` ( #30945 )
2 years ago
Richard Belleville
6d2c4a8314
Revert "XdsClient: add unit test and fix watcher notification bugs ( #30823 )" ( #30942 )
...
This reverts commit bcd8c991e6
.
2 years ago
Mark D. Roth
bcd8c991e6
XdsClient: add unit test and fix watcher notification bugs ( #30823 )
...
This adds a unit test for XdsClient and fixes several watcher-notification bugs found in the process. Specifically:
- When an ADS stream fails or an xDS channel reports a connectivity failure, report an error only to the watchers for resources being subscribed to on that particular channel, not to watchers on other channels.
- Cache the error status for the channel, so that if a new watcher is started after the channel reports the error, we can immediately report that error to the new watcher.
- If a resource is NACKed and has not been previously cached, or does not exist, report that fact to any new watcher that may be started later.
- If a resource in an ADS response is unparseable but is wrapped in a `Resource` wrapper, we do know its name, so record the validation failure in the cache and report it to the watchers.
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Yash Tibrewal
ebcda5f0c1
GcpObservabilityConfig: s/disabled/enabled ( #30905 )
2 years ago
Yash Tibrewal
f7f4c9b584
GcpObservability: Code for reading config from env var ( #30889 )
...
* GcpObservability: Code for reading config from env var
* Comments
* Fix deps
* clang-tidy
2 years ago
Craig Tiller
2b46cb40d3
[config] Move certificate provider registry into core config ( #30890 )
...
* [config] Move certificate provider registry into core config
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
a644d8c9b4
GcpObservabilityConfig: cloud_trace.sampling_rate ( #30904 )
2 years ago
Yash Tibrewal
260a02d1ad
Revert "Revert "GcpObservabilityConfig: Add some basic field parsing structure"" ( #30894 )
...
* Revert "Revert "GcpObservabilityConfig: Add some basic field parsing structure (#30866 )" (#30892 )"
This reverts commit 37b631d1fd
.
* Add json_args deps for layering check
2 years ago
Craig Tiller
37b631d1fd
Revert "GcpObservabilityConfig: Add some basic field parsing structure ( #30866 )" ( #30892 )
...
This reverts commit 31c68b5f10
.
2 years ago
Craig Tiller
7ba58bb925
[build] Move certificate provider registry into its own build target ( #30836 )
...
* [build] Move cert registry into its own build target
* Automated change: Fix sanity tests
* fix
* forgot to save file
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago