This is a shared library target for gRPC Sleuth Python extension.
<!--
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#40965
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40965 from yousukseung:sleuth-so b6f99b496b46e8dd599b08662370d4fdf4050b9c
PiperOrigin-RevId: 825233373
- Use a print function instead of stdout/stderr
- Made existing main() into a library accessible via an API.
- Enabled multiple executions of the current main().
- Removed absl flags for better flag management when using the API.
- Consolidated SLEUTH_TOOL and absl flags (only behavioral change).
PiperOrigin-RevId: 823083768
gRPC is currently getting formatted with two different clang-format implementations, and due to some weirdness they have different include file orderings. This change introduces clang-format configuration to ensure that the two systems align - it's *highly* expected that this will need some maintenance going forward as the two systems evolve.
Closes#40905
PiperOrigin-RevId: 819606209
This change introduces a new tool to the `sleuth` utility, allowing users to fetch latent see data from a gRPC server. The `fetch_latent_see_json` tool connects to a specified target, samples latent see data, and outputs it in JSON format to a file or stdout. The `Client` class is updated to include a `LatentSee` stub and a method to call the latent see service.
PiperOrigin-RevId: 813787648
This change introduces a new `ls` command to sleuth which allows listing channelz entities. The command can optionally filter by entity kind. A new flag `--channelz_columns` is added to customize the columns displayed in the output, allowing users to specify which entity properties to show. The underlying `EntityTableColumn` struct is updated to use `std::string` for better lifetime management.
PiperOrigin-RevId: 807749528
This change introduces `LegacyZTraceCollector` to capture read and write frame events within the chaotic good legacy transport, using `ReadFrameTrace` and `WriteFrameTrace` structs to store frame header information.
PiperOrigin-RevId: 806040637
1. Keepalive_permit_without_calls now reads value from channel_args.
2. Modified a test to be more robust.
3. fix sanity
Closes#40667
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40667 from ac-patel:keepalive1 587536ebcffb9747734a6de124870e5ed87a84b3
PiperOrigin-RevId: 805703360
This change introduces `grpc_zviz::layout::TextElement` and `TextTable` to render channelz entities in a human-readable plain text format. A new `dump_channelz_text` command is added to the `sleuth` tool, which uses this new layout to output all channelz data. The `SLEUTH_TOOL` macro is also updated to prevent variable redefinition.
PiperOrigin-RevId: 805641583
This change refactors `cli_credentials_internal` into a separate `cc_library` to allow reuse. It also introduces a new gRPC debugging tool called `sleuth`. The initial version of `sleuth` includes a `dump_channelz` command, which queries and prints all channelz entities from a specified target.
PiperOrigin-RevId: 805635745