- 0x.tools là bộ tiện ích mã nguồn mở để phân tích hiệu năng ứng dụng trên Linux
- Hướng tới việc triển khai đơn giản và phụ thuộc tối thiểu, giúp giảm ma sát khi xử lý sự cố hệ thống
- Không cần nâng cấp OS, cài đặt kernel module, framework giám sát nặng, Java agent hoặc cơ sở dữ liệu
- Có thể đo lường hoạt động ở cấp độ từng luồng, đồng thời theo dõi và lấy mẫu việc thực thi mã, trạng thái ngủ, system call và các vị trí chờ trong kernel
Công bố bản beta xcapture-bpf & xtop 2.0.2
- xcapture-bpf và xtop tương tự công cụ top trên Linux, nhưng dùng eBPF để xem dữ liệu hiệu năng từ nhiều góc độ khác nhau
- Có thể đi sâu từ tổng quan cấp hệ thống đến hoạt động của từng luồng và cả các sự kiện kernel
- eBPF hoàn toàn có thể lập trình được, và dự án dự định sẽ tận dụng tối đa điều đó
Tô sáng terminal và stacktile của xcapture-bpf
- Chức năng tìm kiếm/tô sáng văn bản trong terminal và cuộn hoạt động tốt với định dạng stacktile mới
- Stacktile có thể chứa nhiều loại thông tin, không chỉ tên hàm mà còn cả tên tệp hoặc lý do cấp phát bộ nhớ
Cài đặt xcapture-bpf
- xcapture-bpf hiện vẫn là bản beta, vì vậy không nên chạy trên hệ thống production
- Công cụ sử dụng eBPF, hiện dựa vào BCC và python3 và dùng chúng làm frontend
- Đã được kiểm thử trên RHEL 8.1 hoặc Ubuntu 24.04 trở lên
Các công cụ đi kèm
- Cung cấp các công cụ tương tác thời gian thực và công cụ profiling tần suất thấp
- Mô tả các công cụ chính:
psn: lấy mẫu hoạt động luồng hàng đầu hiện tại
xcapture: bộ lấy mẫu trạng thái luồng chi phí thấp
xcapture-bpf: bộ lấy mẫu trạng thái luồng có thể lập trình, chi phí thấp, dùng eBPF
syscallargs: danh sách system call và đối số
schedlat: hiển thị độ trễ lập lịch CPU của một tiến trình đơn lẻ
run_xcapture.sh: script daemon đơn giản để tiếp tục chạy xcapture
run_xcpu.sh: lấy mẫu stack liên tục tần suất thấp của các luồng trên CPU
Cách dùng và ví dụ đầu ra
- Dùng
xcapture để lấy mẫu hoạt động luồng Linux và hiển thị đầu ra độ rộng cố định
- Có thể xuất ra tệp CSV để phân tích hiệu năng trên dòng lệnh
Cài đặt và cách dùng
xcapture, schedlat, psn lấy mẫu hệ thống tệp /proc như các công cụ Linux tiêu chuẩn
- Hoạt động trên Linux kernel phiên bản 2.6 trở lên mà không cần cấu hình bổ sung
FAQ
- 0x.tools là sản phẩm mã nguồn mở theo giấy phép GPL v3
- Overhead đo lường dưới 1% năng lực CPU của máy chủ
- Có thể dùng an toàn trong môi trường production
- Lý do dùng lấy mẫu /proc thay vì Perf và eBPF: vì trong các doanh nghiệp hiện có, không thể dùng eBPF cho production quy mô lớn
Ý kiến của GN⁺
- 0x.tools là bộ công cụ mạnh mẽ để phân tích hiệu năng hệ thống Linux
- Việc dùng eBPF để xem dữ liệu hiệu năng từ nhiều góc độ giúp công cụ trở nên hữu ích
- Được thiết kế để có thể sử dụng an toàn trong môi trường production
- So với các công cụ phân tích hiệu năng khác, ưu điểm là overhead thấp và cài đặt đơn giản
- Tận dụng các công nghệ hiện đại như eBPF để nâng cao độ chính xác và tính linh hoạt của phân tích hiệu năng
Chưa có bình luận nào.