You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Трейсинг - очень мощный инструмент Observability, позволяет расследовать проблемы с запросами.
По-простому, это распределенный stacktrace, который сохраняет вызовы между сервисами. Подробнее можно почитать про это тут
План работы:
Поддержать передачу trace_id в gRPC заголовке traceparent: Add traceparent to TRequestSettings #326. Это позволит соединить спаны клиента и сервера YDB в единый трейс.
Поддержать загрузку спанов уже от самого SDK:
Мы не можем завязываться на один клиент отгрузки трейсов, так что надо придумать единый интерфейс, который мы будем реализовывать в различных плагинах (паттерн Адаптер). Можно посмотреть на YDB Go SDK, или на другие драйвера БД.
Реализовать плагин для OpenTelemetry клиента. Он будет реализовывать общий интерфейс, пользователи будут передавать его в NYdb::TDriver. Можно выбрать другой OpenTelemetry клиент, если он будет популярнее, тут есть простор для исследования.
Разметить вызовы SDK спанами и отгружать их в плагин, который нам передал пользователь. Со спанами важно соблюдать баланс, их должно быть достаточно, чтобы понимать, что было с запросом в SDK, но и не слишком много, чтобы не перегрузить трейс спанами от SDK
The text was updated successfully, but these errors were encountered:
Трейсинг - очень мощный инструмент Observability, позволяет расследовать проблемы с запросами.
По-простому, это распределенный stacktrace, который сохраняет вызовы между сервисами. Подробнее можно почитать про это тут
План работы:
NYdb::TDriver
. Можно выбрать другой OpenTelemetry клиент, если он будет популярнее, тут есть простор для исследования.The text was updated successfully, but these errors were encountered: