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

gethostlatency.bt - نمایش تاخیر فراخوانی‌های getaddrinfo/gethostbyname[2]. استفاده از bpftrace/eBPF.

gethostlatency.bt

این ابزار فراخوانی‌های gethostbyaddr()، getaddrinfo()، gethostbyname() و gethostbyname2() را در سراسر سیستم ردیابی و چاپ می‌کند و شناسه فرایند (PID) و نام دستور مسئول، تاخیر فراخوانی (مدت زمان) به میلی‌ثانیه، و رشته میزبان (host) را نشان می‌دهد.

این ابزار می‌تواند با مشخص کردن اینکه کدام جستجوهای نام میزبان دوردست کند بوده‌اند و به چه میزان، برای شناسایی تاخیر DNS مفید باشد.

این ابزار در حال حاضر از ردیابی پویای توابع و ثبات‌های سطح کاربر استفاده می‌کند و ممکن است برای تطابق با نرم‌افزار و معماری پردازنده شما به اصلاحاتی نیاز داشته باشد.

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

CONFIG_BPF و bcc.

ردیابی جستجوهای میزبان (getaddrinfo/gethostbyname[2]) در سراسر سیستم:
# gethostlatency.bt

زمان اجرای دستور (HH:MM:SS).
شناسه فرایند (PID) کارخواهی که فراخوانی را انجام می‌دهد.
نام فرایند (دستور) کارخواهی که فراخوانی را انجام می‌دهد.
تاخیر فراخوانی به میلی‌ثانیه.
رشته نام میزبان: هدف جستجو.

نرخ جستجوها معمولاً باید نسبتاً پایین باشد، بنابراین انتظار نمی‌رود بار پردازشی مشکلی ایجاد کند.

این ابزار برگرفته از bpftrace است.

https://github.com/bpftrace/bpftrace

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

این یک نسخه bpftrace از ابزار bcc با همین نام است. ابزار bcc گزینه‌های خط فرمان را ارائه می‌دهد.

https://github.com/iovisor/bcc

Linux

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

Brendan Gregg

tcpdump(8), gethostbyname(3), getaddrinfo(3)

2018-09-08 USER COMMANDS