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

OSCHINA-MIRROR/mirrors-grpc-framework

Клонировать/Скачать
trace_flags.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 28.06.2025 08:23 b4cba57

Флаги трассировки gRPC

Переменная окружения GRPC_TRACE поддерживает список, разделённый запятыми, имён трассировщиков или шаблонов, которые предоставляют дополнительные сведения о том, как gRPC C core обрабатывает запросы через отладочные журналы. Доступные трассировщики включают:

  • api - Вызовы API к C core.
  • backend_metric - API для записи метрик бэкенда на C++.
  • backend_metric_filter - Фильтр, который заполняет данные метрик бэкенда в метаданных сервера.
  • bdp_estimator - Поведение логики оценки bdp.
  • call - Трассировка операций на вызове через стек gRPC.
  • call_error - Возможные ошибки, влияющие на итоговые статусы вызовов.
  • cares_address_sorting - Операции сортировщика адресов резолвера DNS на основе c-ares.
  • cares_resolver - Операции резолвера DNS на основе c-ares.
  • cds_lb - Политика балансировки нагрузки CDS.
  • channel - Операции со стеком каналов C core.
  • channel_stack - Конструирование набора фильтров в стеке канала.
  • chaotic_good - Хаотичный транспорт.
  • chttp2_hpack_parser - Парсер HTTP/2 HPACK.
  • chttp2_new_stream - Создание входящих потоков HTTP/2.
  • client_channel - Активность плоскости управления клиентским каналом, включая взаимодействие резолвера и политики балансировки нагрузки.
  • client_channel_call - Активность клиентского канала, связанная с разрешением имени.
  • client_channel_lb_call - Активность клиентского канала, связанная с выбором балансировки нагрузки.
  • client_idle_filter - Фильтр простоя клиента.
  • compression - Операции сжатия.
  • connectivity_state - Изменения состояния подключения каналов.
  • dns_resolver - Активный резолвер DNS.
  • environment_autodetect - Автоматическое обнаружение среды GCP.
  • event_engine - Операции высокого уровня EventEngine.
  • event_engine_client_channel_resolver - Состояние и события резолвера клиентского канала на основе EventEngine.
  • event_engine_dns - Резолвер DNS на основе EventEngine.
  • event_engine_endpoint - Операции Endpoint на основе EventEngine.
  • event_engine_endpoint_data - Подробный дамп данных TCP Endpoint на основе EventEngine.
  • event_engine_poller - События Poller на основе EventEngine.
  • fault_injection_filter - Внедрение ошибок.
  • flowctl - Управление потоком HTTP/2.
  • fork - Поддержка fork.
  • glb - Балансировщик нагрузки gRPClb.
  • grpc_authz_api - Авторизация gRPC.
  • handshaker - Состояние рукопожатия.
  • health_check_client - Код клиента проверки состояния здоровья.
  • http - Двигатель транспорта HTTP/2.
  • http1 - Операции HTTP/1.x, выполняемые gRPC.
  • http2_ping - Ping/ping acks/antagonist writes в стеке HTTP/2.
  • http2_stream_state - Изменения состояния потока HTTP/2.
  • http_keepalive - Keepalive pings gRPC.
  • inproc - Внутрипроцессный транспорт.
  • metadata_query - Запросы метаданных GCP.
  • op_failure - Информация об ошибках при добавлении ошибки в очередь завершения. Трассировщик api должен быть включен для того, чтобы этот флаг имел эффект.
  • orca_client - Клиент для отчетности о метриках бэкенда вне основного потока.
  • outlier_detection_lb - Обнаружение выбросов.
  • pick_first - Политика балансировки нагрузки "выбрать первое".
  • plugin_credentials - Плагинные учетные данные.
  • priority_lb - Политика приоритетной балансировки нагрузки.
  • queue_pluck - Извлечение из очереди завершения. Трассировщик api должен быть включен для того, чтобы этот флаг имел эффект.
  • resource_quota - Внутренности объектов квот ресурсов.
  • retry - Повторные вызовы.
  • ring_hash_lb - Политика балансировки нагрузки ring hash.
  • rls_lb - Политика балансировки нагрузки RLS.
  • round_robin - Политика балансировки нагрузки round robin.
  • secure_endpoint - Байты, проходящие через зашифрованные каналы.
  • server_channel - Легковесная трассировка значимых событий серверного канала.
  • stateful_session_filter - Привязка сеанса с сохранением состояния.
  • subchannel - Состояние подключения подканалов.
  • subchannel_pool - Пул подканалов.
  • tcp - Байты, входящие и исходящие из канала.
  • timer - Таймеры (alarms) в внутренностях gRPC.
  • timer_check - Более подробная трассировка логики таймеров в внутренностях gRPC.
  • token_fetcher_credentials - Фреймворк учетных данных для получения токенов, используемый для (например) учетных данных получения токенов oauth2.
  • tsi - Безопасность транспорта TSI.
  • weighted_round_robin_lb - Политика балансировки нагрузки взвешенного round robin.
  • weighted_target_lb - Политика балансировки нагрузки взвешенной цели.
  • xds_client - Клиент XDS.
  • xds_client_refcount - Счетчик ссылок XDS клиента.
  • xds_cluster_impl_lb - Политика балансировки нагрузки XDS Cluster impl.
  • xds_cluster_manager_lb - Политика балансировки нагрузки XDS Cluster manager.
  • xds_override_host_lb - XDS Override host LB.
  • xds_resolver - Резолвер XDS.
  • xds_server_config_fetcher - Получатель конфигурации сервера XDS.
  • xds_wrr_locality_lb - Политика балансировки нагрузки XDS WRR locality.

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

  • auth_context_refcount – Счетчик ссылок контекста аутентификации.
  • call_combiner – Состояние комбинатора вызова.
  • call_refcount – Счетчик ссылок на вызове.
  • call_state – Трассировка переходов через состояние спины вызова.
  • chttp2_server_refcount – Счетчик ссылок в Chttp2 Server.
  • closure – Создание, планирование и завершение устаревших замыканий (closures).
  • combiner – Состояние блокировки комбинатора (combiner).
  • cq_refcount – Счетчик ссылок очереди завершения (completion queue).
  • error_refcount – Счетчик ссылок ошибок (errors).
  • fd_refcount – Счетчик ссылок файловых дескрипторов (file descriptors).
  • fd_trace – Устаревшие вызовы create(), shutdown() и close() файловых дескрипторов для каналов (channels).
  • lb_policy_refcount – Счетчик ссылок политики балансировки нагрузки (LB policy).
  • party_state – Координация действий, связанных с вызовом (call).
  • pending_tags – Незавершенные теги в очереди завершения. Трассировщик api должен быть включен для того, чтобы этот флаг имел эффект.
  • http2_ph2_transport – Промис-базированный транспорт HTTP/2 (Promise Based HTTP2 transport).
  • polling – Активный движок опроса (polling engine).
  • polling_api – Вызовы API к движку опроса (polling engine).
  • promise_primitives – Низкоуровневые примитивы в библиотеке промисов (promise library).
  • resolver_refcount – Счетчик ссылок резолвера (resolver).
  • security_connector_refcount – Счетчик ссылок соединителей безопасности (security connectors), являющихся частью учетных данных канала (channel credentials).
  • slice_refcount – Счетчик ссылок сегментов (slices).
  • stream_refcount – Счетчик ссылок потоков (streams).
  • subchannel_refcount – Счетчик ссылок подканалов (subchannels).
  • work_serializer – Механизм синхронизации, используемый для обеспечения того, чтобы только один поток выполнялся в любой момент времени (work serializer).
  • ztrace – Глобальные трассировки ztrace (для отладки системы ztrace).

Шаблоны и особые случаи:

  • * можно использовать для включения всех трассировок.
  • Индивидуальные трассировки можно отключить, добавив перед ними -.
  • *refcount* включит все трассировщики для отладки счетчиков ссылок (refcount debugging).
  • Если присутствует list_tracers, то при запуске программы будут выведены все доступные трассировщики.

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

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

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

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