منصوبے کے بارے میں

pprof پروفائلنگ ڈیٹا کی ویژولائزیشن اور تجزیہ کے لیے ایک ٹول ہے۔ یہ profile.proto فارمیٹ میں پروفائلنگ نمونے پڑھتا ہے اور ڈیٹا کو دیکھنے اور تجزیہ کرنے میں مدد کے لیے رپورٹس بناتا ہے، اور dot ویژولائزیشن پیکج کے استعمال سے متنی اور گرافیکل دونوں قسم کی رپورٹس تیار کرتا ہے۔ profile.proto ایک پروٹوکول بفر ہے جو کال اسٹیکس اور سمبولائزیشن معلومات کے ایک سیٹ کی وضاحت کرتا ہے۔ ایک عام استعمال شماریاتی پروفائلنگ سے حاصل کردہ نمونہ شدہ کال اسٹیکس کی نمائندگی کرنا ہے۔ پروفائلز کو مقامی فائل سے یا HTTP کے ذریعے پڑھا جا سکتا ہے، اور ایک ہی قسم کے متعدد پروفائلز کو جمع یا موازنہ کیا جا سکتا ہے۔ اگر پروفائل نمونوں میں مشین ایڈریسز شامل ہوں، تو pprof مقامی binutils ٹولز (addr2line اور nm) کے استعمال سے ان کی سمبولائزیشن کر سکتا ہے۔ pprof بنانے کے لیے معاون ورژن کا Go ڈیولپمنٹ کٹ اور اختیاری طور پر گرافک ویژولائزیشنز بنانے کے لیے Graphviz درکار ہے۔ یہ ٹول `go install github.com/google/pprof@latest` کے ذریعے انسٹال کیا جا سکتا ہے۔ بنیادی استعمال میں گرمی کے لحاظ سے ترتیب دی گئی متنی رپورٹس بنانا، ویب براؤزر میں کھولی جانے والی SVG گرافس بنانا، انٹرایکٹو موڈ میں چلانا جہاں صارفین ویژولائزیشن اور بہتری کے لیے کمانڈز دے سکتے ہیں، اور `-http` فلیگ کے استعمال سے ویب انٹرفیس کے ذریعے چلانا شامل ہے تاکہ ایک مقامی ویب سرور انٹرایکٹو براؤزر پر مبنی انٹرفیس کے ساتھ شروع کیا جا سکے۔ pprof Linux perf ٹول کے ذریعے بنائی گئی `perf.data` فائلیں بھی پڑھ سکتا ہے، اس کے لیے perf_data_converter پیکج سے `perf_to_profile` پروگرام استعمال کیا جاتا ہے۔ Windows پر، Go پروگراموں سے جمع کیے گئے پروفائلز کی ڈس اسمبلی دیکھنے کے لیے ایگزیکیوٹیبل کو `go build -buildmode=exe` کے ساتھ بنانا ضروری ہے اور LLVM یا GCC انسٹال ہونا چاہیے تاکہ addr2line اور nm جیسے ٹولز دستیاب ہوں۔ یہ Google کی سرکاری پروڈکٹ نہیں ہے۔