All TraceFlags are now configured in `src/core/lib/debug/trace_flags.yaml`. The format is: ``` my_flag: default: false # the default value; default=false description: Some Description debug_only: false # debug_only flags only work in debug builds; default=false internal: false # internal flags will not show up in documentation; default=false ``` To regenerate the trace flag source code, run `tools/codegen/core/gen_trace_flags.py` (requires mako). This script is also run when sanity checking. This PR also adds two new features: ### Glob-based flag configuration Trace flag configuration now supports `?` (single wildcard character) and `*` (one or more wildcard characters). For example, using `GRPC_TRACE='event_engine*'` will enable all flags that match that glob. It expands to: * event_engine * event_engine_client_channel_resolver * event_engine_dns * event_engine_endpoint * event_engine_endpoint_data * event_engine_poller ### A cleaner trace-logging macro in abseil logging format If your goal is only to add log statements when the `fault_injection_filter` trace flag is enabled, you can use the macro: ``` GRPC_TRACE_LOG(fault_injection, INFO) << "Filtered:" << 42; ``` When the trace flag is enabled, the the log will show something like this: ``` I0000 00:00:1715733657.430042 16 file.cc:174] Filtered:42 ``` ---- Note: just like with the gpr_log to abseil logging conversion, the pre-existing trace logging usages can be replaced with the new tracing macro across multiple PRs. Closes #36576 PiperOrigin-RevId: 641295215 |
||
|---|---|---|
| .. | ||
| templates | ||
| BUILD | ||
| experiments_compiler.py | ||
| gen_config_vars.py | ||
| gen_experiments.py | ||
| gen_grpc_tls_credentials_options.py | ||
| gen_header_frame.py | ||
| gen_huffman_decompressor.cc | ||
| gen_if_list.py | ||
| gen_join.py | ||
| gen_seq.py | ||
| gen_server_registered_method_bad_client_test_body.py | ||
| gen_stats_data.py | ||
| gen_trace_flags.py | ||
| gen_trace_flags_ci.sh | ||
| gen_upb_api.sh | ||
| gen_upb_api_from_bazel_xml.py | ||
| optimize_arena_pool_sizes.py | ||