magic-trace
Intel Processor Trace를 기반으로 한 고해상도 추적 도구는 약 40 나노초의 정확도로 기록 프로그램의 모든 기능을 호출하여 코드를 수정할 필요 없이 재생식 상호 작용 분석을 제공합니다.
스마트 다운로드
Download 버전 다운로드
v1.2.4 · 6.5 MB
비디오를 재생하는 것과 마찬가지로 프로그램 나노초 수준의 함수 호출 세부 사항을 볼 수 있으며 성능의 병골과 비정상적인 행동을 신속하게 찾을 수 있습니다.
주요 기능
- ["C/C++, Rust 등 컴파일 언어를 포함한 모든 함수 호출 캡처), 해상도 약 40 나노초,"" 침략 추적: 애플리케이션 코드를 수정하거나 재 컴파일할 필요가 없음"","수동 Ctrl+C 또는 지정 함수 자동 트리거, 최대 약 10 밀리 초의 역사를 거슬러 올라갈 수","동화적 호출 스택 타임라인 생성, 확장, 측정, 태그 등 작업을 지원","인텔 프로세서 트레이스 하드웨어를 통해 낮은 비용을 달성 (2-10%)","perf 백엔드와 통합할 수 있으며 핵 상태 추적 (root 권한이 필요)"]
할 수 없는 것
- •Intel Skylake 및 이후 CPU 아키텍처만 지원되며 Linux 시스템만 가상 머신에서 실행을 지원하지 않습니다(가상 머신은 일반적으로 Intel PT 침투를 지원하지 않습니다) -trace-include-kernel을 사용하면 루트 권한이 필요합니다.
사용 사례
- 생산 환경 요청 응답이 느린 이유를 분석하고, 비정상적인 요청과 정상적인 요청의 행동 차이를 구별하고
- 트랙프로그램이 붕괴되기 전에 마지막 몇 밀리 초의 완전한 실행 경로를 추적하고, 단일 스택을 대체합니다.
상세 설명
Magic-trace는 Jane Street에서 개발한 고성능 추적 도구로 인텔 프로세서 트레이스 기술을 기반으로 약 40 나노초의 해상도 기록 프로그램에서 수행하는 모든 기능 호출을 기록합니다. 그것은 링크 버퍼를 통해 지속적으로 컨트롤 스트림을 녹음하고, 트래킹 시 (Ctrl+C 또는 지정된 함수를 호출하는 것과 같은) 트래킹 시점 전에 약 10 미리초의 전체 호출 스택 역사를 캡처하고, 상호 작용 가능한 타임 라인 뷰를 생성합니다. 전통적인 샘플링 도구 perf와는 달리, magic-trace는 모든 컨트롤 스트림을 캡처하여 이벤트가 발생하기 전의 마이크로초의 정확한 행동을 확인할 수 있습니다. 응용 프로그램 코드를 수정할 필요
태그
시작하기
소프트웨어 설치
배포판에 맞는 패키지를 설치 (dpkg / rpm / AppImage)
최신 버전의 실행 파일을 다운로드하고 chmod +x magic-trace를 실행하여 실행 권한을 부여합니다
목적 프로그램을 시작하고 magic-trace attach -pid $(프로그램 이름)을 실행합니다
Ctrl+C를 몇 초 동안 기다리면 magic-trace가 현재 디렉토리에 trace.fxt.gz 파일을 생성합니다
- 최신 버전의 실행 파일을 다운로드하고 chmod +x magic-trace를 실행하여 실행 권한을 부여합니다
- 목적 프로그램을 시작하고 magic-trace attach -pid $(프로그램 이름)을 실행합니다
- Ctrl+C를 몇 초 동안 기다리면 magic-trace가 현재 디렉토리에 trace.fxt.gz 파일을 생성합니다
최신 릴리스 노트
## What's Changed
* Add support for compressed output files, whether gzip (supported by Pe… by @bnigito in https://github.com/janestreet/magic-trace/pull/306
* Handle TSX transactions by @bnigito in https://github.com/janestreet/magic-trace/pull/308
* Fix symbol resolution for Rust binaries by @JosiahWhite in https://github.com/janestreet/magic-trace/pull/321
* Reap zombie `perf` processes from capability detection by @Xyene in https://github.com/janestreet/magic-trace/pull/316
* Recognize `int3` instructions in trace parser by @Xyene in https://github.com/janestreet/magic-trace/pull/322
* Add a `MAGIC_TRACE_NO_OCAML_EXCEPTION_DEBUG_INFO` environment variable by @bnigito in https://github.com/janestreet/magic-trace/pull/305
## New Contributors
* @bnigito made their first contribution in https://github.com/janestreet/magic-trace/pull/305
* @JosiahWhite made their first contribution in https://github.com/janestreet/magic-trace/pull/321
**Full Changelog**: https://github.com/janestreet/magic-trace/compare/v1.2.3...v1.2.4
체크섬 없음
이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다
SHA256 체크섬
체크섬 없음
GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
다운로드한 실행 파일을 직접 삭제할 수 있습니다(다른 시스템 파일이 남아 있지 않습니다).
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.