• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1gRPC environment variables
2--------------------------
3
4gRPC C core based implementations (those contained in this repository) expose
5some configuration as environment variables that can be set.
6
7* http_proxy
8  The URI of the proxy to use for HTTP CONNECT support.
9
10* GRPC_ABORT_ON_LEAKS
11  A debugging aid to cause a call to abort() when gRPC objects are leaked past
12  grpc_shutdown(). Set to 1 to cause the abort, if unset or 0 it does not
13  abort the process.
14
15* GOOGLE_APPLICATION_CREDENTIALS
16  The path to find the credentials to use when Google credentials are created
17
18* GRPC_SSL_CIPHER_SUITES
19  A colon separated list of cipher suites to use with OpenSSL
20  Defaults to:
21    ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384
22
23* GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
24  PEM file to load SSL roots from
25
26* GRPC_POLL_STRATEGY [posix-style environments only]
27  Declares which polling engines to try when starting gRPC.
28  This is a comma-separated list of engines, which are tried in priority order
29  first -> last.
30  Available polling engines include:
31  - epoll (linux-only) - a polling engine based around the epoll family of
32    system calls
33  - poll - a portable polling engine based around poll(), intended to be a
34    fallback engine when nothing better exists
35  - legacy - the (deprecated) original polling engine for gRPC
36
37* GRPC_TRACE
38  A comma separated list of tracers that provide additional insight into how
39  gRPC C core is processing requests via debug logs. Available tracers include:
40  - api - traces api calls to the C core
41  - bdp_estimator - traces behavior of bdp estimation logic
42  - call_combiner - traces call combiner state
43  - call_error - traces the possible errors contributing to final call status
44  - channel - traces operations on the C core channel stack
45  - client_channel - traces client channel activity, including resolver
46    and load balancing policy interaction
47  - compression - traces compression operations
48  - connectivity_state - traces connectivity state changes to channels
49  - executor - traces grpc's internal thread pool ('the executor')
50  - fd_trace - traces fd create(), shutdown() and close() calls for channel fds.
51    Also traces epoll fd create()/close() calls in epollex polling engine
52    traces epoll-fd creation/close calls for epollex polling engine
53  - glb - traces the grpclb load balancer
54  - handshaker - traces handshaking state
55  - http - traces state in the http2 transport engine
56  - http2_stream_state - traces all http2 stream state mutations.
57  - http1 - traces HTTP/1.x operations performed by gRPC
58  - inproc - traces the in-process transport
59  - flowctl - traces http2 flow control
60  - op_failure - traces error information when failure is pushed onto a
61    completion queue
62  - pick_first - traces the pick first load balancing policy
63  - plugin_credentials - traces plugin credentials
64  - pollable_refcount - traces reference counting of 'pollable' objects (only
65    in DEBUG)
66  - resource_quota - trace resource quota objects internals
67  - round_robin - traces the round_robin load balancing policy
68  - queue_pluck
69  - server_channel - lightweight trace of significant server channel events
70  - secure_endpoint - traces bytes flowing through encrypted channels
71  - timer - timers (alarms) in the grpc internals
72  - timer_check - more detailed trace of timer logic in grpc internals
73  - transport_security - traces metadata about secure channel establishment
74  - tcp - traces bytes in and out of a channel
75  - tsi - traces tsi transport security
76
77  The following tracers will only run in binaries built in DEBUG mode. This is
78  accomplished by invoking `CONFIG=dbg make <target>`
79  - alarm_refcount - refcounting traces for grpc_alarm structure
80  - metadata - tracks creation and mutation of metadata
81  - combiner - traces combiner lock state
82  - closure - tracks closure creation, scheduling, and completion
83  - pending_tags - traces still-in-progress tags on completion queues
84  - polling - traces the selected polling engine
85  - polling_api - traces the api calls to polling engine
86  - queue_refcount
87  - error_refcount
88  - stream_refcount
89  - workqueue_refcount
90  - fd_refcount
91  - cq_refcount
92  - auth_context_refcount
93  - security_connector_refcount
94  - resolver_refcount
95  - lb_policy_refcount
96  - chttp2_refcount
97
98  'all' can additionally be used to turn all traces on.
99  Individual traces can be disabled by prefixing them with '-'.
100
101  'refcount' will turn on all of the tracers for refcount debugging.
102
103  if 'list_tracers' is present, then all of the available tracers will be
104  printed when the program starts up.
105
106  Example:
107  export GRPC_TRACE=all,-pending_tags
108
109* GRPC_VERBOSITY
110  Default gRPC logging verbosity - one of:
111  - DEBUG - log all gRPC messages
112  - INFO - log INFO and ERROR message
113  - ERROR - log only errors
114
115* GRPC_TRACE_FUZZER
116  if set, the fuzzers will output trace (it is usually supressed).
117
118* GRPC_DNS_RESOLVER
119  Declares which DNS resolver to use. The default is ares if gRPC is built with
120  c-ares support. Otherwise, the value of this environment variable is ignored.
121  Available DNS resolver include:
122  - native (default)- a DNS resolver based around getaddrinfo(), creates a new thread to
123    perform name resolution
124  - ares - a DNS resolver based around the c-ares library
125
126* GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS
127  Default: 5000
128  Declares the interval between two backup polls on client channels. These polls
129  are run in the timer thread so that gRPC can process connection failures while
130  there is no active polling thread. They help reconnect disconnected client
131  channels (mostly due to idleness), so that the next RPC on this channel won't
132  fail. Set to 0 to turn off the backup polls.
133
134* GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL
135  if set, flow control will be effectively disabled. Max out all values and
136  assume the remote peer does the same. Thus we can ignore any flow control
137  bookkeeping, error checking, and decision making
138
139* grpc_cfstream
140  set to 1 to turn on CFStream experiment. With this experiment gRPC uses CFStream API to make TCP
141  connections. The option is only available on iOS platform and when macro GRPC_CFSTREAM is defined.
142