threadsnoop.bt(8) System Manager's Manual threadsnoop.bt(8)

threadsnoop.bt - ردیابی ایجاد نخ (Thread) از طریق ()pthread_create. از bpftrace/eBPF استفاده می‌کند.

threadsnoop.bt

ابزار threadsnoop فراخوانی‌های ()pthread_create را ردیابی کرده و مسیر ایجاد نخ‌ها را نمایش می‌دهد. این ابزار می‌تواند برای شناسایی و تحلیل مشخصات بار کاری (Workload Characterization) استفاده شود و ابزار مکملی برای execsnoop.bt(8) است که ()execve را ردیابی می‌کند.

این ابزار با ردیابی ()pthread_create از کتابخانه libpthread.so.0 کار می‌کند. ممکن است لازم باشد مسیر این کتابخانه در کد منبع ابزار ویرایش شود تا با سیستم شما مطابقت داشته باشد.

از آنجا که این ابزار از BPF استفاده می‌کند، تنها کاربر ریشه (root) می‌تواند از آن استفاده کند.

CONFIG_BPF و bpftrace.

ردیابی فراخوانی‌های ()pthread_create:
# threadsnoop.bt

زمان سپری‌شده از هنگام شروع ردیابی توسط ابزار (بر حسب میلی‌ثانیه).
شناسه فرایند (Process ID).
نام فرایند (نخ).
نام روال شروع (Start Routine) در صورت در دسترس بودن نماد (Symbol)، در غیر این صورت آدرس هگزادسیمال مربوط به روال شروع.

انتظار می‌رود نرخ ایجاد نخ‌ها پایین باشد (بسیار کمتر از ۱۰۰۰ در ثانیه)، بنابراین انتظار می‌رود سربار این ابزار ناچیز باشد.

این ابزار از کتاب «BPF Performance Tools» نشریه ادیسون وزلی (Addison Wesley 2019) برگرفته شده است:

http://www.brendangregg.com/bpf-performance-tools-book.html

برای مستندات بیشتر درباره این ابزار به کتاب مراجعه کنید.

این نسخه در مخزن bpftrace قرار دارد:

https://github.com/bpftrace/bpftrace

همچنین در توزیع bpftrace به فایل همراه _examples.txt که شامل نمونه‌های استفاده، خروجی و توضیحات این ابزار است مراجعه کنید.

Linux

ناپایدار - در حال توسعه.

Brendan Gregg

execsnoop.bt(8)

2019-07-02 USER COMMANDS