پرش به محتوا
آرش حاتمی

hatamiarash7/ pingpe-overview

سال توسعه: ۱۴۰۳ متن‌باز

خلاصه‌سازی و مقایسهٔ نتایج ping.pe

افزونهٔ مرورگر برای جمع‌بندی تأخیر موقعیت‌های مختلف در ping.pe، شناسایی نودهای کندتر، مقایسهٔ اجراها و دریافت خروجی CSV و JSON.

سرویس ping.pe نتیجهٔ پینگ به یک مقصد را از موقعیت‌های مختلف نمایش می‌دهد. وقتی تعداد ردیف‌ها زیاد می‌شود، پیدا کردن نودهای کندتر و مقایسهٔ وضعیت قبل و بعد از یک تغییر، به بررسی دستی جدول نیاز دارد. Ping.pe Overview نتایج همین صفحه را در پنجرهٔ افزونه جمع‌بندی می‌کند تا بتوانید تصویر روشن‌تری از تأخیر موقعیت‌ها داشته باشید.

افزونه داده‌های جدول بازشده در مرورگر را می‌خواند و با رسیدن نتایج جدید، آمار را به‌روزرسانی می‌کند. اجرای پینگ همچنان بر عهدهٔ ping.pe است؛ افزونه لایه‌ای برای خلاصه‌سازی، مقایسه و خروجی گرفتن از این داده‌ها فراهم می‌کند.

چه آماری نمایش داده می‌شود؟

  • میانگین تأخیر: میانگین حسابی ستون avg در موقعیت‌های واردشده به محاسبه.
  • میانه و صدک ۹۵: دو شاخص دیگر از توزیع مقدار avg بین همین موقعیت‌ها، برای بررسی وضعیت معمول و بخش کندتر نتایج.
  • Last، Best و Worst: میانگین آخرین، بهترین و بدترین زمان پاسخ ثبت‌شده در موقعیت‌ها.
  • تعداد نودها: تعداد موقعیت‌هایی که در آمار فعلی شرکت دارند.
  • فهرست بیشترین تأخیر: نمایش ۵، ۱۰ یا ۱۵ موقعیت با بالاترین مقدار avg، همراه با نوار بصری تأخیر؛ انتخاب پیش‌فرض ۵ مورد است.

در منطق محاسبهٔ آمار، هر موقعیت وزن یکسانی دارد. بنابراین صدک ۹۵ مربوط به میانگین تأخیر موقعیت‌ها است، نه صدک ۹۵ همهٔ بسته‌های پینگ. عنوان «میانگین جهانی» در رابط نیز به نودهای حاضر در محاسبه اشاره دارد، نه اندازه‌گیری تأخیر تمام کاربران اینترنت.

نصب و شروع کار

۱. در فایرفاکس، صفحهٔ افزونه در Mozilla Add-ons را باز کنید و افزونه را نصب کنید.

۲. یک صفحهٔ پینگ، برای مثال ping.pe/8.8.8.8، را باز کنید و منتظر رسیدن نتایج بمانید.

۳. همان زبانه را فعال نگه دارید و روی آیکون افزونه در نوار ابزار یا فهرست افزونه‌ها کلیک کنید.

۴. خلاصهٔ آمار و فهرست موقعیت‌های کندتر را ببینید. نتایج به‌صورت زنده تازه می‌شوند و دکمهٔ بازخوانی نیز برای دریافت دوبارهٔ داده‌ها در دسترس است.

برای استفادهٔ معمول نیازی به فایل پیکربندی یا اجرای دستور در ترمینال نیست. اگر صفحهٔ فعال مربوط به ping.pe نباشد، افزونه راهنمای باز کردن صفحهٔ مناسب را نمایش می‌دهد؛ اگر هنوز داده‌ای آماده نشده باشد، پیام انتظار برای نتایج نشان داده می‌شود.

حذف موقعیت‌های چین از محاسبه

گزینهٔ Exclude China به‌صورت پیش‌فرض فعال است. با خاموش کردن آن، نودهای چین نیز وارد آمار می‌شوند. این انتخاب و تعداد ردیف‌های فهرست در حافظهٔ محلی افزونه ذخیره می‌شوند و در باز کردن بعدی باقی می‌مانند.

این فیلتر روی آمار تجمیعی، فهرست موقعیت‌ها، دادهٔ ذخیره‌شده برای مقایسه و خروجی فایل اثر دارد. در پیاده‌سازی فعلی، نودهای چین با شناسهٔ موقعیت‌هایی تشخیص داده می‌شوند که با CN شروع می‌شوند.

ذخیرهٔ نتیجه و مقایسهٔ دو اجرا

برای بررسی تغییر تأخیر، می‌توانید یک اجرا را به‌عنوان مبنا نگه دارید:

۱. پس از رسیدن نتایج، روی Save کلیک کنید تا دادهٔ فعلی به‌عنوان مبنا ذخیره شود.

۲. پینگ را دوباره اجرا کنید؛ برای مثال، پس از تغییری در تنظیمات شبکهٔ مقصد.

۳. پنجرهٔ افزونه را باز کنید و گزینهٔ Compare را فعال کنید.

در این حالت، اختلاف میانگین کلی و شاخص‌های Last، Best و Worst نسبت به مبنا نمایش داده می‌شود. کاهش تأخیر سبز و افزایش آن قرمز است. فهرست موقعیت‌ها نیز از حالت «بیشترین تأخیر» به «بیشترین تغییر» می‌رود و بر اساس بزرگی اختلاف avg مرتب می‌شود. موقعیت‌های تازه یا حذف‌شده با برچسب‌های new و gone مشخص می‌شوند.

هر بار زدن Save مبنای قبلی را جایگزین می‌کند. برای مقایسهٔ قابل‌تفسیر، مقصد و وضعیت گزینهٔ Exclude China را در دو اجرا یکسان نگه دارید؛ تغییر مجموعهٔ نودها هم می‌تواند میانگین را جابه‌جا کند. مبنا با نام موقعیت‌ها تطبیق داده می‌شود و به آدرس مقصد قفل نشده است.

خروجی گرفتن از داده‌ها

دکمه‌های CSV و JSON دادهٔ موقعیت‌های فعلی را به‌ترتیب در فایل‌های pingpe.csv و pingpe.json دانلود می‌کنند. خروجی CSV ستون‌های زیر را دارد:

location,last,avg,best,worst

این خروجی برای نگهداری نتیجه یا تحلیل بعدی در ابزارهای دیگر کاربرد دارد. فایل‌ها شامل ردیف‌های پس از اعمال فیلتر هستند؛ انتخاب نمایش ۵، ۱۰ یا ۱۵ موقعیت، تعداد ردیف‌های خروجی را محدود نمی‌کند. خروجی، دادهٔ فعلی موقعیت‌هاست و گزارش اختلاف با مبنای ذخیره‌شده نیست.

ساختار و محدودهٔ عملکرد

پروژه با JavaScript، HTML و CSS و بر پایهٔ WebExtensions و Manifest V3 ساخته شده است. فایل manifest مجوزهای activeTab، scripting و storage را تعریف می‌کند: خواندن صفحهٔ فعال پس از تعامل کاربر، اجرای اسکریپت استخراج داده و ذخیرهٔ تنظیمات و مبنای مقایسه.

اسکریپت استخراج داده تنها موقعیت‌هایی را وارد محاسبه می‌کند که هر چهار مقدار last، avg، best و worst آن‌ها عددی باشد. در نتیجه، ردیف‌های ناقص یا بدون پاسخ ممکن است در خلاصه حاضر نباشند و این آمار به‌تنهایی گزارشی از قطعی یا از دست رفتن بسته‌ها نیست. استخراج اطلاعات نیز به ساختار جدول ping.pe وابسته است و تغییر آن می‌تواند به به‌روزرسانی افزونه نیاز داشته باشد.

کد پروژه با مجوز MIT منتشر شده است و راهنمای استفاده و تغییرات آن در مخزن گیت‌هاب در دسترس است.