포맷과 I/O를 백그라운드 스레드로 미루는 초저지연 비동기 C++17 로깅 및 메트릭 라이브러리입니다.
hotpath-rs/hotpath
CPU, 메모리, async, SQL, HTTP, I/O 병목을 측정하고 Prometheus와 Grafana로 내보내는 Rust 프로파일러입니다.
- 스타
- 1,899
- 포크
- 61
- 열린 이슈
- 8
- 마지막 커밋
- 21시간 전
어떤 프로젝트인가요?
hotpath는 코드가 어디에서 시간을 쓰고, CPU를 소모하고, 메모리를 할당하는지 찾기 위한 Rust 프로파일링 툴킷입니다. I/O 대기로 느려지는 함수와 CPU를 많이 사용하는 함수를 구분하며, 함수, 채널, future, 스트림, 락, SQL 쿼리, HTTP 호출, 바이트 단위 I/O를 계측할 수 있습니다.
프로파일링은 기능 플래그로 제어되므로 hotpath나 hotpath-alloc 같은 기능을 활성화하지 않으면 계측 매크로는 아무 작업도 하지 않습니다. 프로그램 종료 시 정적 리포트를 출력하거나, 실시간 TUI 대시보드에서 결과를 확인할 수 있습니다. 운영 환경 모니터링을 위해 메트릭을 Prometheus와 Grafana로 내보낼 수도 있습니다.
프로젝트에는 AI 에이전트가 프로파일링 데이터를 조회할 수 있는 MCP 서버와, 코딩 에이전트를 사용해 저장소에 프로파일링 설정을 추가하는 CLI 명령도 포함되어 있습니다.
핵심 기능
- 01함수별 리포트와 함께 함수 실행 시간, CPU 샘플, 메모리 할당을 측정합니다.
- 02큐 깊이와 지연 시간을 포함해 async future, 채널, 스트림을 추적합니다.
- 03sqlx와 Diesel의 SQL 쿼리, reqwest와 ureq의 HTTP 호출을 프로파일링합니다.
- 04axum 서버의 라우트별 지연 시간과 오류를 기록합니다.
- 05메트릭을 Prometheus로 내보내 Grafana 대시보드에서 확인할 수 있습니다.
- 06실시간 TUI 대시보드와 AI 에이전트용 MCP 서버를 제공합니다.
활용 사례
- Rust 서비스에서 CPU 시간을 가장 많이 사용하거나 메모리를 가장 많이 할당하는 함수를 찾을 때
- I/O를 기다리느라 느린 코드와 CPU 병목 코드의 원인을 구분할 때
- async Tokio 애플리케이션에서 락 경합이나 채널 지연을 진단할 때
- Prometheus와 Grafana를 통해 운영 환경의 SQL 및 HTTP 지연 시간을 모니터링할 때
빠른 시작
- 1
hotpath CLI를 설치하세요
cargo install hotpath --version '^0.28' - 2
AI 에이전트에게 저장소에서 프로파일링을 설정하도록 하세요
hotpath init --agent claude - 3
또는 Cargo.toml에 hotpath 의존성을 직접 추가하세요
hotpath = "0.28" - 4
프로파일링을 활성화한 상태로 프로그램을 실행하세요
cargo run --features='hotpath,hotpath-alloc'
사용 전 알아둘 점
- 핵심 공개 API는 안정적이지만, 내부 보고서 형식, TUI/MCP 내부 구현, 고급 설정 옵션은 릴리스마다 변경될 수 있습니다.
- 전체 계측을 사용하려면 기능 게이트가 적용된 매크로와 의존성을 자체 코드에 추가해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- hotpath은(는) 무엇인가요?
- CPU, 메모리, async, SQL, HTTP, I/O 병목을 측정하고 Prometheus와 Grafana로 내보내는 Rust 프로파일러입니다. hotpath는 코드가 어디에서 시간을 쓰고, CPU를 소모하고, 메모리를 할당하는지 찾기 위한 Rust 프로파일링 툴킷입니다. I/O 대기로 느려지는 함수와 CPU를 많이 사용하는 함수를 구분하며, 함수, 채널, future, 스트림, 락, SQL 쿼리, HTTP 호출, 바이트 단위 I/O를 계측할 수 있습니다.
- hotpath은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- hotpath은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- hotpath은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. hotpath의 마지막 커밋은 2026년 10월 21일입니다.
- hotpath은(는) 어디에 사용할 수 있나요?
- Rust 서비스에서 CPU 시간을 가장 많이 사용하거나 메모리를 가장 많이 할당하는 함수를 찾을 때 I/O를 기다리느라 느린 코드와 CPU 병목 코드의 원인을 구분할 때 async Tokio 애플리케이션에서 락 경합이나 채널 지연을 진단할 때 Prometheus와 Grafana를 통해 운영 환경의 SQL 및 HTTP 지연 시간을 모니터링할 때
- hotpath는 어떻게 설치하나요?
- hotpath CLI를 설치하세요: cargo install hotpath --version '^0.28' AI 에이전트에게 저장소에서 프로파일링을 설정하도록 하세요: hotpath init --agent claude 또는 Cargo.toml에 hotpath 의존성을 직접 추가하세요: hotpath = "0.28" 프로파일링을 활성화한 상태로 프로그램을 실행하세요: cargo run --features='hotpath,hotpath-alloc'
- hotpath은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/hotpath-rs/hotpath
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Android, Linux, Chromium의 트레이스를 분석하는 SDK, 시스템 데몬, 브라우저 기반 UI를 갖춘 오픈소스 트레이싱·프로파일링 도구 모음입니다.
Grafana Labs가 만든 수평 확장형 멀티 테넌트 로그 집계 시스템으로, 로그 내용이 아닌 레이블만 인덱싱합니다.
서비스와 인프라의 Grafana 대시보드와 사전 구성된 알림을 만들고 관리해 쿼리를 직접 작성하지 않도록 합니다.
Docker 컨테이너의 실시간 통계와 로그를 확인하고 제어하는 터미널 UI(TUI)입니다.
Python 코드, 네이티브 확장 모듈, 인터프리터의 메모리 할당을 추적하고 여러 유형의 리포트를 생성하는 메모리 프로파일러입니다.