Repolode
hotpath-rs

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. 1

    hotpath CLI를 설치하세요

    cargo install hotpath --version '^0.28'
  2. 2

    AI 에이전트에게 저장소에서 프로파일링을 설정하도록 하세요

    hotpath init --agent claude
  3. 3

    또는 Cargo.toml에 hotpath 의존성을 직접 추가하세요

    hotpath = "0.28"
  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트