1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/akenzc-grpc

Клонировать/Скачать
environment_variables.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 28.05.2025 23:34 0b1547e

Переменные окружения для gRPC

gRPC C ядро основанные реализации (те, которые содержатся в этом репозитории) предоставляют некоторую конфигурацию в виде переменных окружения, которые можно установить.

  • grpc_proxy, https_proxy, http_proxy URI прокси-сервера для использования при поддержке HTTP CONNECT. Эти переменные проверяются в указанном порядке, и используется первая из них, которая имеет значение.

  • no_grpc_proxy, no_proxy Список хостов, разделённых запятыми, для подключения к которым не используется прокси-сервер, даже если прокси-сервер установлен. Эти переменные проверяются в указанном порядке, и используется первая из них, которая имеет значение.

  • GRPC_ABORT_ON_LEAKS Помощник отладки для вызова функции abort() при утечке gRPC объектов после grpc_shutdown(). Установите значение в 1 для вызова abort(), если не установлено или равно 0, процесс не будет завершён.

  • GOOGLE_APPLICATION_CREDENTIALS Путь для поиска учетных данных для использования при создании учетных данных Google

  • GRPC_SSL_CIPHER_SUITES Список крипто-средств, разделённых двоеточиями, для использования с OpenSSL По умолчанию: ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384

  • GRPC_DEFAULT_SSL_ROOTS_FILE_PATH PEM файл для загрузки SSL корневых сертификатов* GRPC_POLL_STRATEGY [только для окружений на основе POSIX] Определяет, какие механизмы опроса использовать при запуске gRPC. Это запятая-разделенный список механизмов, которые проверяются в порядке приоритета от первого до последнего. Доступные механизмы опроса включают:

    • epoll (только для Linux) - механизм опроса, основанный на семействе системных вызовов epoll
    • poll - переносимый механизм опроса, основанный на вызове poll(), предназначенный для использования в качестве запасного механизма, когда нет ничего лучше
    • legacy - (устаревший) оригинальный механизм опроса для gRPC
  • GRPC_TRACE Список трейсеров, разделённых запятыми, которые предоставляют дополнительные сведения о том, как gRPC C core обрабатывает запросы через отладочные логи. Доступные трейсеры включают:

    • api - отслеживает вызовы API к C core
    • bdp_estimator - отслеживает поведение логики оценки BDP (Bandwidth Delay Product)
    • call_error - отслеживает возможные ошибки, вносящие вклад в окончательное состояние вызова
    • cares_resolver - отслеживает операции c-ares-базированного DNS-разрешителя
    • cares_address_sorting - отслеживает операции c-ares-базированного DNS-разрешителя, включая сортировку разрешённых адресов
    • cds_lb - отслеживает политику CDS (Consistent Hash Load Balancing)
    • channel - отслеживает операции на стеке каналов C core
    • channel_stack - отслеживает набор фильтров в стеке каналов при создании - client_channel - отслеживает активность управления клиентским каналом, включая взаимодействие разрешителя и политики балансировки нагрузки
    • client_channel_call - отслеживает активность вызова клиента, связанную с разрешением имен
    • client_channel_lb_call - отслеживает активность вызова клиента, связанную с выбором балансировки нагрузки
    • compression - отслеживает операции сжатия
    • connectivity_state - отслеживает изменения состояния соединения каналов
    • cronet - отслеживает состояние в транспортном движке cronet
    • dns_resolver - отслеживает состояние в нативном DNS-разрешителе
    • executor - отслеживает внутренний пул потоков gRPC ('executor')
    • glb - отслеживает политику балансировки нагрузки grpclb
    • handshaker - отслеживает состояние рукопожатия
    • health_check_client - отслеживает код клиента для проверки состояния
    • http - отслеживает состояние в транспортном движке http2
    • http2_stream_state - отслеживает все изменения состояния потока http2
    • http1 - отслеживает операции HTTP/1.x, выполняемые gRPC
    • inproc - отслеживает транспорт в процессе
    • http_keepalive - отслеживает пинги keepalive gRPC
    • flowctl - отслеживает управление потоком http2
    • op_failure - отслеживает информацию об ошибках при отправке ошибки на очередь завершения
    • pick_first - отслеживает политику балансировки нагрузки pick first
    • plugin_credentials - отслеживает плагины для проверки подлинности
    • pollable_refcount - отслеживает подсчёт ссылок на 'pollable' объекты (только в режиме DEBUG) - priority_lb - отслеживает политику приоритетной балансировки нагрузки
    • resource_quota - отслеживает внутренности объектов квоты ресурсов
    • ring_hash_lb - отслеживает политику балансировки нагрузки ring hash
    • rls_lb - отслеживает политику балансировки нагрузки RLS
    • round_robin - отслеживает политику балансировки нагрузки round robin
    • queue_pluck - server_channel - легковесный трейс значимых событий серверного канала
    • secure_endpoint - трейс байтов, проходящих через зашифрованные каналы
    • subchannel - трейс состояния подключения подканала
    • subchannel_pool - трейс пула подканалов
    • timer - таймеры (сигналы) в внутренней структуре gRPC
    • timer_check - более подробный трейс логики таймеров в внутренней структуре gRPC
    • transport_security - трейс метаданных о создании безопасного канала
    • tcp - трейс байтов, входящих и исходящих из канала
    • tsi - трейс безопасности транспорта TSI
    • weighted_target_lb - трейс политики балансировки нагрузки weighted_target
    • xds_client - трейс клиента XDS
    • xds_cluster_manager_lb - трейс политики балансировки нагрузки менеджера кластера
    • xds_cluster_impl_lb - трейс политики балансировки нагрузки реализации кластера
    • xds_cluster_resolver_lb - трейс политики балансировки нагрузки резолвера кластера
    • xds_resolver - трейс резолвера XDS

Следующие трейсеры будут работать только в бинарных файлах, построенных в режиме DEBUG. Это достигается путем вызова CONFIG=dbg make <target>

  • metadata - отслеживает создание и мутацию метаданных - combiner - отслеживает состояние блокировки combiner

    • call_combiner - отслеживает состояние call combiner
    • closure - отслеживает создание, планирование и завершение работы closure
    • fd_trace - отслеживает вызовы fd create(), shutdown() и close() для каналов
    • pending_tags - отслеживает теги, которые все еще находятся в процессе завершения в очередях завершения
    • polling - отслеживает выбранный движок опроса
    • polling_api - отслеживает вызовы API к движку опроса
    • subchannel_refcount
    • queue_refcount
    • error_refcount
    • stream_refcount
    • workqueue_refcount
    • fd_refcount
    • cq_refcount
    • auth_context_refcount
    • security_connector_refcount
    • resolver_refcount
    • lb_policy_refcount
    • chttp2_refcount 'all' также может быть использован для включения всех трейсеров. Индивидуальные трейсеры могут быть отключены путем добавления к ним префикса '-'.

    'refcount' включит все трейсеры для отладки refcount.

    Если 'list_tracers' присутствует, то при запуске программы будут выведены все доступные трейсеры.

    Пример: export GRPC_TRACE=all,-pending_tags

  • GRPC_VERBOSITY Значение по умолчанию для уровня подробности логирования gRPC - одно из:

    • DEBUG - логирует все сообщения gRPC
    • INFO - логирует сообщения INFO и ERROR
    • ERROR - логирует только ошибки (по умолчанию)
    • NONE - не логирует ничего
  • GRPC_STACKTRACE_MINLOGLEVEL Минимальный уровень логирования для вывода трассировки стека - одно из DEBUG, INFO, ERROR и NONE. NONE является значением по умолчанию.

  • GRPC_TRACE_FUZZER Если установлено, фuzzerы будут выводить трассировки (обычно они подавлены).* GRPC_DNS_RESOLVER Определяет, какой DNS-ресолвер использовать. По умолчанию используется ares, если gRPC был построен с поддержкой c-ares. В противном случае значение этой переменной окружения игнорируется. Доступные DNS-ресолверы включают:

    • ares (по умолчанию на большинстве платформ, кроме iOS, Android или Node) - DNS-ресолвер, основанный на библиотеке c-ares
    • native - DNS-ресолвер, основанный на getaddrinfo(), создаёт новый поток для выполнения разрешения имен
  • GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS По умолчанию: 5000 Определяет интервал между двумя резервными проверками на клиентских каналах. Эти проверки выполняются в потоке таймера, чтобы gRPC мог обрабатывать сбои соединений, когда нет активного потока проверок. Они помогают восстановить отключенные клиентские каналы (в основном из-за бездействия), чтобы следующий RPC на этом канале не завершился ошибкой. Установите значение в 0, чтобы отключить резервные проверки.

  • grpc_cfstream Установить в 1 для включения эксперимента CFStream. В рамках этого эксперимента gRPC использует API CFStream для создания TCP-соединений. Опция доступна только на платформе iOS и при определении макроса GRPC_CFSTREAM.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/akenzc-grpc.git
git@api.gitlife.ru:oschina-mirror/akenzc-grpc.git
oschina-mirror
akenzc-grpc
akenzc-grpc
master