• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!---
2Automatically generated by tools/codegen/core/gen_trace_flags.py
3--->
4
5gRPC Trace Flags
6----------------
7
8The `GRPC_TRACE` environment variable supports a comma-separated list of tracer
9names or glob patterns that provide additional insight into how gRPC C core is
10processing requests via debug logs. Available tracers include:
11
12  - api - API calls to the C core.
13  - backend_metric - C++ backend metric recorder APIs.
14  - backend_metric_filter - Filter that populates backend metric data in server trailing metadata.
15  - bdp_estimator - Behavior of bdp estimation logic.
16  - call - Traces operations on a call through the gRPC stack.
17  - call_error - Possible errors contributing to final call statuses.
18  - cares_address_sorting - Operations of the c-ares based DNS resolver's address sorter.
19  - cares_resolver - Operations of the c-ares based DNS resolver.
20  - cds_lb - CDS LB policy.
21  - channel - Operations on the C core channel stack.
22  - channel_stack - Construction of the set of filters in a channel stack.
23  - chaotic_good - Chaotic good transport.
24  - chttp2_hpack_parser - HTTP/2 HPACK parser.
25  - chttp2_new_stream - HTTP/2 incoming stream creation.
26  - client_channel - Client channel control plane activity, including resolver and load balancing policy interaction.
27  - client_channel_call - Client channel call activity related to name resolution.
28  - client_channel_lb_call - Client channel call activity related to load balancing picking.
29  - client_idle_filter - Client idleness filter.
30  - compression - Compression operations.
31  - connectivity_state - Connectivity state changes to channels.
32  - cronet - Cronet transport engine.
33  - dns_resolver - The active DNS resolver.
34  - environment_autodetect - GCP environment auto-detection.
35  - event_engine - High-level EventEngine operations.
36  - event_engine_client_channel_resolver - EventEngine-based client channel resolver state and events.
37  - event_engine_dns - EventEngine DNS resolver.
38  - event_engine_endpoint - EventEngine Endpoint operations.
39  - event_engine_endpoint_data - Detailed dump of EventEngine endpoint TCP data.
40  - event_engine_poller - EventEngine Poller events.
41  - executor - gRPC's legacy thread pool ('the executor').
42  - fault_injection_filter - Fault injection.
43  - flowctl - Http2 flow control.
44  - fork - Fork support.
45  - glb - gRPClb load balancer.
46  - grpc_authz_api - gRPC authorization.
47  - handshaker - Handshaking state.
48  - health_check_client - Health checking client code.
49  - http - Http2 transport engine.
50  - http1 - HTTP/1.x operations performed by gRPC.
51  - http2_ping - Pings/ping acks/antagonist writes in http2 stack.
52  - http2_stream_state - Http2 stream state mutations.
53  - http_keepalive - gRPC keepalive pings.
54  - inproc - In-process transport.
55  - metadata_query - GCP metadata queries.
56  - op_failure - Error information when failure is pushed onto a completion queue. The `api` tracer must be enabled for this flag to have any effect.
57  - orca_client - Out-of-band backend metric reporting client.
58  - outlier_detection_lb - Outlier detection.
59  - pick_first - Pick first load balancing policy.
60  - plugin_credentials - Plugin credentials.
61  - priority_lb - Priority LB policy.
62  - queue_pluck - Completion queue plucking. The `api` tracer must be enabled for this flag to have any effect.
63  - resource_quota - Resource quota objects internals.
64  - retry - Call retries.
65  - ring_hash_lb - Ring hash load balancing policy.
66  - rls_lb - RLS load balancing policy.
67  - round_robin - Round robin load balancing policy.
68  - secure_endpoint - Bytes flowing through encrypted channels.
69  - server_channel - Lightweight trace of significant server channel events.
70  - stateful_session_filter - Stateful session affinity.
71  - subchannel - Connectivity state of subchannels.
72  - subchannel_pool - Subchannel pool.
73  - tcp - Bytes in and out of a channel.
74  - timer - Timers (alarms) in the grpc internals.
75  - timer_check - more detailed trace of timer logic in grpc internals.
76  - token_fetcher_credentials - Token fetcher call credentials framework, used for (e.g.) oauth2 token fetcher credentials.
77  - tsi - TSI transport security.
78  - weighted_round_robin_lb - Weighted round robin load balancing policy.
79  - weighted_target_lb - Weighted target LB policy.
80  - xds_client - XDS client.
81  - xds_client_refcount - Refcount of XDS client.
82  - xds_cluster_impl_lb - XDS Cluster impl LB policy.
83  - xds_cluster_manager_lb - XDS Cluster manager LB policy.
84  - xds_override_host_lb - XDS Override host LB.
85  - xds_resolver - XDS Resolver.
86  - xds_server_config_fetcher - XDS Server config fetcher.
87  - xds_wrr_locality_lb - XDS WRR locality LB policy.
88
89The following tracers will only run in binaries built in DEBUG mode. This is
90accomplished by invoking `bazel build --config=dbg <target>`
91  - auth_context_refcount - Auth context refcounting.
92  - call_combiner - Call combiner state.
93  - call_refcount - Refcount on call.
94  - call_state - Traces transitions through the call spine state machine.
95  - closure - Legacy closure creation, scheduling, and completion.
96  - combiner - Combiner lock state.
97  - cq_refcount - Completion queue refcounting.
98  - error_refcount - Error refcounting.
99  - fd_refcount - File descriptor refcounting.
100  - fd_trace - Legacy file descriptor create(), shutdown() and close() calls for channel fds.
101  - lb_policy_refcount - LB policy refcounting.
102  - party_state - Coordination of activities related to a call.
103  - pending_tags - Still-in-progress tags on completion queues. The `api` tracer must be enabled for this flag to have any effect.
104  - ph2 - Promise Based HTTP2 transport.
105  - polling - The active polling engine.
106  - polling_api - API calls to polling engine.
107  - promise_primitives - Low-level primitives in the promise library.
108  - resolver_refcount - Resolver refcouting.
109  - security_connector_refcount - Refcounting for security connectors (part of channel credentials).
110  - slice_refcount - Slice refcounting.
111  - stream_refcount - Stream refcounting.
112  - subchannel_refcount - Subchannel refcounting.
113  - work_serializer - A synchronization mechanism used to ensure that only one thread is executing at a given time.
114
115Glob patterns and special cases:
116  - `*` can be used to turn all traces on.
117  - Individual traces can be disabled by prefixing them with `-`.
118  - `*refcount*` will turn on all of the tracers for refcount debugging.
119  - if `list_tracers` is present, then all of the available tracers will be
120    printed when the program starts up.
121
122Example:
123export GRPC_TRACE=*,-pending_tags
124