Типы профилировщиков
Профилирование ClickHouse с помощью интеграции XRay
sleepForNanoseconds — это удобная функция, чтобы проверить, сколько времени
занимает ее выполнение.
Профилирование нативного приложения с помощью XRay
Добавьте инструментацию в код
-fxray-instrumentнужен, чтобы инструментировать код.-fxray-instruction-threshold=1используется, чтобы инструментировать все функции, даже если они очень маленькие, как в нашем примере. По умолчанию инструментируются функции, содержащие не менее 200 инструкций.
Запустите процесс с корректными значениями переменных окружения, чтобы собрать трассировку
XRAY_OPTIONS, чтобы
настроить, когда профилировщик начинает сбор данных и как именно он это делает.
Преобразование трассировки
trace_event очень полезен, потому что
его легко разобрать, и уже есть ряд инструментов, которые его поддерживают, поэтому мы будем использовать именно его:
Визуализируйте трассировку
Хронологический порядок
Перекос влево
Сэндвич
Ознакомьтесь с документацией
- SYSTEM INSTRUMENT — Добавьте или удалите точки инструментирования.
- system.instrumentation — Просматривайте инструментированные точки.
- system.symbols — Просматривайте символы, чтобы добавлять точки инструментирования.
- system.trace_log — Просматривайте данные, собранные с помощью точек инструментирования.
- XRay Instrumentation
- Документация Debugging with XRay с дополнительными сведениями.