Асинхронная библиотека логирования и метрик на C++17 с минимальными задержками: форматирование и ввод-вывод выполняются в фоновом потоке.
hotpath-rs/hotpath
Профилировщик Rust для поиска узких мест CPU, памяти, async-кода, SQL, HTTP и I/O с экспортом в Prometheus и Grafana.
- Звёзды
- 1,899
- Форки
- 61
- Открытые issues
- 8
- Последний коммит
- 19 часов назад
Что это?
hotpath — набор инструментов для профилирования Rust, который помогает выяснить, на что уходит время, какие участки загружают CPU и где выделяется память. Он отличает медленные функции, ожидающие завершения I/O, от функций с высокой нагрузкой на CPU, а также позволяет инструментировать функции, каналы, futures, streams, locks, SQL-запросы, HTTP-вызовы и побайтовый I/O.
Профилирование включается через features: если не активировать, например, hotpath или hotpath-alloc, макросы инструментирования превращаются в no-op. Результаты можно вывести в виде статического отчёта при завершении программы или смотреть в интерактивной TUI-панели. Метрики также можно экспортировать в Prometheus и Grafana для мониторинга в production.
В проект входит MCP-сервер, через который AI-агенты могут запрашивать данные профилирования, а также команда CLI для настройки профилирования в репозитории с помощью coding agent.
Ключевые возможности
- 01Измеряет время выполнения функций, собирает сэмплы CPU и данные о выделении памяти, формирует отчёты по каждой функции.
- 02Отслеживает async futures, каналы и streams, включая глубину очереди и задержки.
- 03Профилирует SQL-запросы в sqlx и Diesel, а также HTTP-вызовы в reqwest и ureq.
- 04Собирает данные о задержках и ошибках для каждого маршрута в серверах axum.
- 05Экспортирует метрики в Prometheus и Grafana для отображения на дашбордах.
- 06Предоставляет интерактивную TUI-панель и MCP-сервер для AI-агентов.
Сценарии использования
- Поиск функций, на которые приходится основная нагрузка на CPU или наибольшее число выделений памяти в сервисе на Rust.
- Определение того, замедляется ли код из-за ожидания I/O или высокой нагрузки на CPU.
- Диагностика конкуренции за locks и медленной работы каналов в async-приложениях на Tokio.
- Мониторинг задержек SQL и HTTP в production с помощью Prometheus и Grafana.
В подборках
Темы
Частые вопросы
- Что такое hotpath?
- Профилировщик Rust для поиска узких мест CPU, памяти, async-кода, SQL, HTTP и I/O с экспортом в Prometheus и Grafana. hotpath — набор инструментов для профилирования Rust, который помогает выяснить, на что уходит время, какие участки загружают CPU и где выделяется память. Он отличает медленные функции, ожидающие завершения I/O, от функций с высокой нагрузкой на CPU, а также позволяет инструментировать функции, каналы, futures, streams, locks, SQL-запросы, HTTP-вызовы и побайтовый I/O.
- hotpath можно использовать бесплатно? Какая у него лицензия?
- hotpath распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- hotpath всё ещё поддерживается?
- Активно поддерживается. Последний коммит в hotpath — 21 окт. 2026 г..
- Для чего можно использовать hotpath?
- Поиск функций, на которые приходится основная нагрузка на CPU или наибольшее число выделений памяти в сервисе на Rust. Определение того, замедляется ли код из-за ожидания I/O или высокой нагрузки на CPU. Диагностика конкуренции за locks и медленной работы каналов в async-приложениях на Tokio. Мониторинг задержек SQL и HTTP в production с помощью Prometheus и Grafana.
- Где скачать hotpath?
- Исходный код и инструкции по установке — на GitHub: https://github.com/hotpath-rs/hotpath
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Набор инструментов с открытым исходным кодом для трассировки и профилирования: SDK, системные демоны и браузерный интерфейс для анализа трасс на Android, Linux и в Chromium.
Горизонтально масштабируемая многопользовательская система агрегации логов от Grafana Labs, которая индексирует только метки, а не содержимое логов.
Создаёт панели Grafana и настраивает готовые оповещения для распространённых сервисов и инфраструктуры — без ручного написания запросов.
Терминальный интерфейс (TUI) для просмотра и управления Docker-контейнерами: статистика в реальном времени, логи и доступ через exec.
Профилировщик памяти для Python: отслеживает выделения памяти в Python-коде, нативных расширениях и интерпретаторе и формирует отчёты нескольких типов.