Ghi chép học tập về Systemtap - Phần Một - tỷ số bóng đá pháp

/imgposts/0wxuzfys.jpg

Hai ngày trước, tôi đã đọc bài viết của chuyên gia Chương Dị Xuân về chủ đề Tracing Động (Dynamic Tracing). Bài viết này đã giúp tôi có cái nhìn mới mẻ hơn về một số vấn đề mà tôi đang gặp phải. Để có thể biến những kiến thức này thành kết quả cụ thể, tôi quyết định bắt đầu bằng việc ghi lại một tỷ số bóng đá pháp số ghi chú đơn giản về quá trình học tập.

Trước hết, Systemtap giống như một công cụ dò tìm (probe) ở mức hệ thống Linux. Nó cho phép người dùng theo dõi và giám sát các trò chơi bắn cá hoạt động khác nhau của hệ thống. Ví dụ với máy chủ sử dụng Ubuntu 22.04 trên nền tảng Alibaba Cloud, chúng ta cần cài đặt gói systemtap-sdt-dev. Sau đó, thay vì cách tiếp cận thông thường qua ngôn ngữ C, tôi muốn khám phá cách giám sát các ứng dụng như PHP.

Để làm được điều này, chúng ta cần xây dựng phiên bản PHP với tham số biên dịch --enable-dtrace. Khi đã hoàn tất việc biên dịch, chúng ta có thể tạo một kịch bản kiểm tra đơn giản:

1<?php
2function a($b, $c) {
3    return $b + $c;
4}
5sleep(1);
6echo a(1, 2);

Mục đích chính của đoạn mã này là kích hoạt các cuộc gọi hệ thống (system calls), từ đó giúp chúng ta phân tích sâu hơn về hành vi của chương trình.