Всё, везде и сразу: трейсинг в условиях хайлоада и 10к бэкендов

Бэкенд, теория программирования

Трейсинг

Бэкенд / другое
Профилирование
Распределенные системы
Логирование и мониторинг
Логи, метрики, ошибки

Доклад принят в программу конференции

Мнение Программного комитета о докладе

В масштабе ВК использовать стандартный open tracing практически невозможно. Вы узнаете, чем плох JSON в трейсинге, зачем нужен свой бинарный формат, как выделить важное на этапе сбора, где хранить то, что собрали, и как сделать трейсы человекочитаемыми, если твой проект действительно большой.

Целевая аудитория

Те, кто хочет узнать, как трейсить больше, чем позволяет Open Telemetry, и быстрее, чем существующие tracing SDK.

Тезисы

Поговорим о том, как мы расширяли distributed tracing под нужды ВКонтакте. Сама по себе технология понятна — это сбор информации о взаимодействии между элементами системы при обработке запроса. Есть и популярные инструменты для хранения и визуализации трейсов: например, Jaeger и Sentry. А также способы их сбора из прикладного кода (tracing SDK для различных языков).

Как и другие стандартные инструменты, встречаясь с реальным хайлоадом, они дают трещины. Что, если мы хотим хранить данных больше, чем позволяет стандарт? Что, если мы хотим трекать память в условиях асинхронных корутин? Что, если данных очень много, а мы хотим трейсить каждый-каждый запрос с минимальным оверхедом и существующие SDK для нашего продакшна не подойдут?

Я расскажу, как мы в целом переосмысливали процесс трейсинга, упёршись в подход Open Telemetry. В итоге у нас получилась более богатая модель данных, при этом сбор трейса на реальном проде получился практически zero overhead.

Александр Кирсанов

VK, ВКонтакте

Внутри ВКонтакте занимается разработкой KPHP и ряда других Open Source-проектов, оптимизацией ядра и работой на стыке PHP – KPHP – движки.

VK, ВКонтакте

ВКонтакте — крупнейшая социальная сеть в России и странах СНГ. Мы ставим перед собой масштабные вызовы и делаем технологии доступными для каждого пользователя. ВКонтакте помогает решать любые повседневные задачи — и даже больше!

Видео

Другие доклады секции

Бэкенд, теория программирования