Оценка производительности¶
Модуль tracing предназначен для выполнения трассировок пользовательских функций. Трассировки позволяют разработчикам понять, как именно их код выполняется в продакшене, определить узкие места в системе и улучшить производительность и надежность приложения.
В Tarantool DB модуль доступен в виде технологической роли tracing. Эта роль включена по умолчанию на всех экземплярах кластера, но не используется до включения в конфигурации.
При запуске приложения модуль трассировки инициализируется и настраивается согласно параметрам в конфигурации. Чтобы начать трассировку определенной операции или функции, разработчики используют функцию start_span(). Во время вызова определяется временная метка начала операции и возвращается объект span – сегмент трассировки. По завершении операции разработчик вызывает функцию finish() для соответствующего сегмента трассировки, чтобы определить временную метку окончания операции и возникшие ошибки. Собранные данные о сегментах трассировки периодически отправляются на внешний сервер для хранения результатов трассировки, например Zipkin или Jaeger. После этого разработчик анализирует данные на сервере.
Важно
Модуль tracing
может быть ресурсоемким и снижать производительность.
Перед включением роли рекомендуется провести нагрузочное тестирование для оценки потенциального влияния на производительность.
Влияния на производительность нет, если роль выключена в конфигурации (секция tracing
отсутствует или указан параметр tracing.enabled: false)
и если в коде нет вызовов функций start_span().