diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/grpc/TROUBLESHOOTING.md | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/grpc/TROUBLESHOOTING.md')
-rw-r--r-- | contrib/libs/grpc/TROUBLESHOOTING.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/contrib/libs/grpc/TROUBLESHOOTING.md b/contrib/libs/grpc/TROUBLESHOOTING.md new file mode 100644 index 0000000000..035213b9e1 --- /dev/null +++ b/contrib/libs/grpc/TROUBLESHOOTING.md @@ -0,0 +1,43 @@ +# Troubleshooting gRPC + +This guide is for troubleshooting gRPC implementations based on C core library (sources for most of them are living in the `grpc/grpc` repository). + +## Enabling extra logging and tracing + +Extra logging can be very useful for diagnosing problems. All gRPC implementations based on C core library support +the `GRPC_VERBOSITY` and `GRPC_TRACE` environment variables that can be used to increase the amount of information +that gets printed to stderr. + +## GRPC_VERBOSITY + +`GRPC_VERBOSITY` is used to set the minimum level of log messages printed by gRPC (supported values are `DEBUG`, `INFO` and `ERROR`). If this environment variable is unset, only `ERROR` logs will be printed. + +## GRPC_TRACE + +`GRPC_TRACE` can be used to enable extra logging for some internal gRPC components. Enabling the right traces can be invaluable +for diagnosing for what is going wrong when things aren't working as intended. Possible values for `GRPC_TRACE` are listed in [Environment Variables Overview](doc/environment_variables.md). +Multiple traces can be enabled at once (use comma as separator). + +``` +# Enable debug logs for an application +GRPC_VERBOSITY=debug ./helloworld_application_using_grpc +``` + +``` +# Print information about invocations of low-level C core API. +# Note that trace logs of log level DEBUG won't be displayed. +# Also note that most tracers user log level INFO, so without setting +# GPRC_VERBOSITY accordingly, no traces will be printed. +GRPC_VERBOSITY=info GRPC_TRACE=api ./helloworld_application_using_grpc +``` + +``` +# Print info from 3 different tracers, including tracing logs with log level DEBUG +GRPC_VERBOSITY=debug GRPC_TRACE=tcp,http,api ./helloworld_application_using_grpc +``` + +Known limitations: `GPRC_TRACE=tcp` is currently not implemented for Windows (you won't see any tcp traces). + +Please note that the `GRPC_TRACE` environment variable has nothing to do with gRPC's "tracing" feature (= tracing RPCs in +microservice environment to gain insight about how requests are processed by deployment), it is merely used to enable printing +of extra logs. |