This removes all xDS protos except for 5 of them that have services. We still have some limitations in our internal build system that make it hard to use the real xDS protos for those files, but we're now using the real xDS protos for the rest.
(Note: discovery.proto is actually a special case. While it does have services, we don't actually use those services, so that's not the reason we need a copy of this file. Unfortunately, the xDS BUILD files group discovery.proto into the same build target as ads.proto, which has services that we actually use, thus requiring us to have our own copy. This means that depending on the real discovery.proto causes us to also depend on the real ads.proto, which causes a conflict in the protobuf registry by linking two copies of ads.proto. However, we *are* using the real discovery.proto in unit tests, which do not depend on ads.proto.)
PiperOrigin-RevId: 693907782
The following files have been moved:
- src/core/lib/avl/*
- src/core/lib/backoff/*
- src/core/lib/debug/event_log*
- src/core/lib/iomgr/gethostname*
- src/core/lib/iomgr/grpc_if_nametoindex*
- src/core/lib/matchers/*
- src/core/lib/uri/* (renamed from uri_parser.* to uri.*)
- src/core/lib/gprpp/* (existing src/core/util/time.cc was renamed to gpr_time.cc to avoid conflict)
Closes#36792
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36792 from markdroth:reorg_util d4e8996f48
PiperOrigin-RevId: 676947640
[Gpr_To_Absl_Logging] Remove logging header from example and test/core/ folder
Closes#37492
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37492 from tanvi-jagtap:remove_header_test_core_misc fbcd02ab53
PiperOrigin-RevId: 663593905
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log
In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.
We have the following mapping
1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)
Reviewers need to check :
1. If the above mapping is correct.
2. The content of the log is as before.
gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.
Closes#36701
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36701 from tanvi-jagtap:test_core_gpr_log 1d8c69e9c6
PiperOrigin-RevId: 636850577
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - BUILD
In this CL we are just editing the build and bzl files to add dependencies.
This is done to prevent merge conflict and constantly having to re-make the make files using generate_projects.sh for each set of changes.
Closes#36605
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36605 from tanvi-jagtap:build_test_core_misc_02 f928eb19de
PiperOrigin-RevId: 633516934
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log
In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.
We have the following mapping
1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)
Reviewers need to check :
1. If the above mapping is correct.
2. The content of the log is as before.
gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.
Closes#36595
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36595 from tanvi-jagtap:regex_test_core_iomgr_transport b0836fda1c
PiperOrigin-RevId: 633456839
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT
Replacing GPR_ASSERT with absl CHECK
These changes have been made using string replacement and regex.
Will not be replacing all instances of CHECK with CHECK_EQ , CHECK_NE etc because there are too many callsites. Only ones which are doable using very simple regex with least chance of failure will be replaced.
Given that we have 5000+ instances of GPR_ASSERT to edit, Doing it manually is too much work for both the author and reviewer.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36440
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36440 from tanvi-jagtap:tjagtap_iomgr_memory_usage a56570338e
PiperOrigin-RevId: 628276606
Relands #34785, which was reverted in #34818.
The first commit is the revert. The second commit removes the gtest
dependency from the xds_server library, which should address the
testonly problem internally.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Why: Cleanup for chttp2_transport ahead of promise conversion - lots of
logic has become interleaved throughout chttp2, so some effort to
isolate logic out is warranted ahead of that conversion.
What: Split configuration and policy tracking for each of ping rate
throttling and abuse detection into their own modules. Add tests for
them.
Incidentally: Split channel args into their own header so that we can
split the policy stuff into separate build targets.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Allows usage on machines that don't support ipv4.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Allow usage in production tasks
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Will be used to evaluate experiment effects on memory usage once they're
toggled on.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Add a check that SEND_STATUS_FROM_SERVER and RECV_MESSAGE are not in the same batch.
This is necessary pre-work for #31204 and implements part of grpc/proposal#336.
Also eliminates fling instead of updating it:
My expectation is nobody has looked at this corner in many years
It's not a benchmark we want: concentrating on a microbenchmark that doesn't include a binding layer caused us to favor designs that emphasized a lightweight core at the expense of a expensive bindings. We should consider the whole.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Added new files for channel client/server
* Committing to switch branch
* Rebasing branch
* Switching branch
* Server process getting called
* Still working
* RPC received success, with sleep
* gRPC Receive success, grpc timeout
* Earlier but Clang tidy
* Fix timeout issue, remove some logs
* Added signint handler, test passing but flaky
* added sleep to reduce flakiness, removed some dependencies, changed LOG to gpr_log
* Changed benchmark_name default back to call
* remove deleted files
* grpc shutdown timeout
* trying to add shutdown
* Some changes
* Removed shutdown
* Automated change: Fix sanity tests
* Changes for review comments
* Changed comments
* Changed benchmark driver defaults so that CI testing would happen for all benchmarks
* Get server memory using RPC
* Add PID method to get memory
* Added gpr_subprocess_get_process_id to windows
* Removed GetAfterSnapshot since theres a not RPC method to get memory
* Automated change: Fix sanity tests
* Changed benchmark driver defaults so that CI testing would happen for all benchmarks
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Forgot semicolon
* Fix includes
* Automated change: Fix sanity tests
* Added GetMemUsage and changed Snapshot and callback server and client to call it
* Moved GetMemUsage from header file
* removed some unnecessary includes
* Automated change: Fix sanity tests
* Updating build file
* forgot a comma
* Added tags to BUILD for memstats
* Automated change: Fix sanity tests
* Switching branches
* Changed channel creation and GetBeforeSnapshot
* Switching branches
* Intermediate commit
* Revert merge commit
* Fixed merge issues
* Automated change: Fix sanity tests
* Changes to fix asan failures
* Automated change: Fix sanity tests
* Fix comment
Co-authored-by: nancylucy01 <nancylucy01@users.noreply.github.com>
* Revert "Revert "Adding methods to get memory usage of server for the perchannel benchmark (#30390)" (#30433)"
This reverts commit 3fe438b55a.
* Made all variables used
* Added new files for channel client/server
* Committing to switch branch
* Rebasing branch
* Switching branch
* Server process getting called
* Still working
* RPC received success, with sleep
* gRPC Receive success, grpc timeout
* Earlier but Clang tidy
* Fix timeout issue, remove some logs
* Added signint handler, test passing but flaky
* added sleep to reduce flakiness, removed some dependencies, changed LOG to gpr_log
* Changed benchmark_name default back to call
* remove deleted files
* grpc shutdown timeout
* trying to add shutdown
* Some changes
* Removed shutdown
* Automated change: Fix sanity tests
* Changes for review comments
* Changed comments
* Changed benchmark driver defaults so that CI testing would happen for all benchmarks
* Get server memory using RPC
* Add PID method to get memory
* Added gpr_subprocess_get_process_id to windows
* Removed GetAfterSnapshot since theres a not RPC method to get memory
* Automated change: Fix sanity tests
* Changed benchmark driver defaults so that CI testing would happen for all benchmarks
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Forgot semicolon
* Fix includes
* Automated change: Fix sanity tests
* Added GetMemUsage and changed Snapshot and callback server and client to call it
* Moved GetMemUsage from header file
* removed some unnecessary includes
* Automated change: Fix sanity tests
* Updating build file
* forgot a comma
* Added tags to BUILD for memstats
* Automated change: Fix sanity tests
Co-authored-by: nancylucy01 <nancylucy01@users.noreply.github.com>
* Added new files for channel client/server
* Committing to switch branch
* Rebasing branch
* Switching branch
* Server process getting called
* Still working
* RPC received success, with sleep
* gRPC Receive success, grpc timeout
* Earlier but Clang tidy
* Fix timeout issue, remove some logs
* Added signint handler, test passing but flaky
* added sleep to reduce flakiness, removed some dependencies, changed LOG to gpr_log
* Changed benchmark_name default back to call
* remove deleted files
* grpc shutdown timeout
* trying to add shutdown
* Some changes
* Removed shutdown
* Automated change: Fix sanity tests
* Changes for review comments
* Changed comments
* Changed benchmark driver defaults so that CI testing would happen for all benchmarks
* Automated change: Fix sanity tests
Co-authored-by: nancylucy01 <nancylucy01@users.noreply.github.com>
* Changed benchmark driver's flags and updated calling python script. Untested
* Changes made for debugging/testing
* Switching branch
* Removed debug statements and changed file permissions for memory_diff
* Minor changes for review
* Changed secure description
* Changed flag configuration for clarity
* Added dep to BUILD file
* Changed return value
* Edits for review, added comments
* Changed a print statement
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>