عن المشروع
pprof هي أداة لتصور وتحليل بيانات التنميط. تقرأ عينات التنميط بتنسيق profile.proto وتنشئ تقارير لتصور البيانات والمساعدة في تحليلها، وتنتج تقارير نصية ورسومية من خلال استخدام حزمة التصور dot.
profile.proto هو protocol buffer يصف مجموعة من callstacks ومعلومات الرمزية. الاستخدام الشائع هو تمثيل مجموعة من callstacks المُعيّنة من التنميط الإحصائي. يمكن قراءة الملفات الشخصية من ملف محلي أو عبر HTTP، ويمكن تجميع أو مقارنة ملفات تعريف متعددة من نفس النوع.
إذا كانت عينات الملف الشخصي تحتوي على عناوين آلة، يمكن لـ pprof رمزتها من خلال استخدام أدوات binutils الأصلية (addr2line و nm).
يتطلب بناء pprof مجموعة تطوير Go من إصدار مدعوم واختياريًا Graphviz لإنشاء التصورات الرسومية. يمكن تثبيت الأداة عبر `go install github.com/google/pprof@latest`.
يشمل الاستخدام الأساسي إنشاء تقارير نصية مرتبة حسب السخونة، وإنشاء رسوم بيانية SVG تُفتح في متصفح الويب، والتشغيل في الوضع التفاعلي حيث يمكن للمستخدمين إصدار أوامر للتصور والتحسين، والتشغيل عبر واجهة ويب باستخدام علامة `-http` لبدء خادم ويب محلي بواجهة تفاعلية قائمة على المتصفح.
يمكن لـ pprof أيضًا قراءة ملفات `perf.data` التي ينشئها أداة perf في Linux باستخدام برنامج `perf_to_profile` من حزمة perf_data_converter. بالنسبة لنظام Windows، يتطلب عرض تفكيك الملفات الشخصية المجمعة من برامج Go أن يكون الملف التنفيذي مبنيًا باستخدام `go build -buildmode=exe` ويجب تثبيت LLVM أو GCC حتى تتوفر أدوات مثل addr2line و nm.
هذا ليس منتجًا رسميًا من Google.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.