पूर्ण-रिपोर्ट
यह कमांड परफ-रिपोर्ट है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर में से एक का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
perf-report - perf.data पढ़ें (perf रिकॉर्ड द्वारा बनाया गया) और प्रोफ़ाइल प्रदर्शित करें
SYNOPSIS
पर्फ़ रिपोर्ट [-मैं | --इनपुट = फ़ाइल]
वर्णन
यह आदेश perf . के माध्यम से दर्ज की गई प्रदर्शन काउंटर प्रोफ़ाइल जानकारी प्रदर्शित करता है
रिकॉर्ड।
विकल्प
-मैं, --इनपुट=
इनपुट फ़ाइल का नाम। (डिफ़ॉल्ट: perf.data जब तक कि स्टड एक फीफो न हो)
-v, --verbose
अधिक वर्बोज़ बनें। (प्रतीक पता, आदि दिखाएं)
-एन, --शो-एनआर-नमूने
प्रत्येक प्रतीक के लिए नमूनों की संख्या दिखाएँ
--शो-सीपीयू-उपयोग
विभिन्न सीपीयू मोड के लिए नमूना प्रतिशत दिखाएं।
-टी, --थ्रेड्स
प्रति-थ्रेड इवेंट काउंटर दिखाएं। इनपुट डेटा फ़ाइल को -s विकल्प के साथ रिकॉर्ड किया जाना चाहिए।
-सी, --comms=
इन कॉमम्स में केवल प्रतीकों पर विचार करें। सीएसवी जो समझता है फ़ाइल: // फ़ाइल नाम प्रविष्टियों।
यह विकल्प ओवरहेड कॉलम के प्रतिशत को प्रभावित करेगा। देखें --प्रतिशत के लिए
और जानकारी।
--पिड =
केवल दी गई प्रक्रिया आईडी (अल्पविराम से अलग की गई सूची) के लिए ईवेंट दिखाएं।
--टिड =
केवल दी गई थ्रेड आईडी (अल्पविराम से अलग की गई सूची) के लिए ईवेंट दिखाएं।
-डी, --डीएसओएस =
केवल इन dsos में प्रतीकों पर विचार करें। सीएसवी जो समझता है फ़ाइल: // फ़ाइल नाम प्रविष्टियों।
यह विकल्प ओवरहेड कॉलम के प्रतिशत को प्रभावित करेगा। देखें --प्रतिशत के लिए
और जानकारी।
-एस, --चिह्न=
केवल इन प्रतीकों पर विचार करें। सीएसवी जो समझता है फ़ाइल: // फ़ाइल नाम प्रविष्टियाँ। इस विकल्प
ओवरहेड कॉलम के प्रतिशत को प्रभावित करेगा। अधिक जानकारी के लिए देखें -- प्रतिशत।
--प्रतीक-फ़िल्टर=
केवल वही प्रतीक दिखाएं जो इस फ़िल्टर से (आंशिक रूप से) मेल खाते हों।
-यू, --छुपा-अनसुलझे
केवल एक प्रतीक के लिए हल की गई प्रविष्टियाँ प्रदर्शित करें।
-एस, --सॉर्ट =
दी गई कुंजी (कुंजी) द्वारा हिस्टोग्राम प्रविष्टियों को क्रमबद्ध करें - CSV प्रारूप में कई कुंजियों को निर्दिष्ट किया जा सकता है।
निम्नलिखित सॉर्ट कुंजियाँ उपलब्ध हैं: पिड, कॉम, डीएसओ, प्रतीक, पैरेंट, सीपीयू, सॉकेट,
srcline, वजन, local_weight.
प्रत्येक कुंजी का निम्नलिखित अर्थ है:
· कॉम: कार्य का आदेश (नाम) जिसके माध्यम से पढ़ा जा सकता है / खरीद //कॉम
· पिड: कार्य की कमान और ज्वार
· डीएसओ: नमूने के समय निष्पादित पुस्तकालय या मॉड्यूल का नाम
· प्रतीक: नमूने के समय निष्पादित कार्य का नाम
· पैरेंट: फ़ंक्शन का नाम पैरेंट रेगेक्स फ़िल्टर से मेल खाता है। बेजोड़ प्रविष्टियां हैं
"[अन्य]" के रूप में प्रदर्शित होता है।
· सीपीयू: सीपीयू नंबर कार्य नमूना के समय चला था
· सॉकेट: प्रोसेसर सॉकेट नंबर कार्य नमूना के समय चल रहा था
· srcline: नमूने के समय निष्पादित फ़ाइल नाम और लाइन नंबर। बौना
डिबगिंग जानकारी प्रदान की जानी चाहिए।
· srcfile: उसी की स्रोत फ़ाइल का फ़ाइल नाम। बौनी जानकारी की आवश्यकता है।
· वजन: घटना विशिष्ट वजन, जैसे स्मृति विलंबता या लेनदेन निरस्त लागत। इस
वैश्विक भार है।
· local_weight: ऊपर के वज़न का स्थानीय वज़न संस्करण।
· लेन-देन: लेन-देन निरस्त झंडे।
ओवरहेड: नमूने का ओवरहेड प्रतिशत
ओवरहेड_सिस: सिस्टम मोड में चल रहे नमूने का ओवरहेड प्रतिशत
ओवरहेड_स: उपयोगकर्ता मोड में चल रहे नमूने का ओवरहेड प्रतिशत
· ओवरहेड_गेस्ट_सिस: अतिथि पर सिस्टम मोड में चल रहे नमूने का ओवरहेड प्रतिशत
मशीन
· ओवरहेड_गेस्ट_स: अतिथि पर उपयोगकर्ता मोड में चल रहे नमूने का ओवरहेड प्रतिशत
मशीन
· नमूना: नमूने की संख्या
· अवधि: घटना की कच्ची संख्या नमूने की गिनती
डिफ़ॉल्ट रूप से, कॉम, डीएसओ और प्रतीक कुंजियों का उपयोग किया जाता है।
(यानी --सॉर्ट कॉम, डीएसओ, प्रतीक)
यदि --branch-stack विकल्प का उपयोग किया जाता है, तो निम्न प्रकार की कुंजियाँ भी होती हैं
बिकाऊ:
dso_from, dso_to, सिंबल_फ्रॉम, सिंबल_टू, गलत भविष्यवाणी।
· dso_from: पुस्तकालय या मॉड्यूल का नाम से शाखाबद्ध
· dso_to: पुस्तकालय या मॉड्यूल का नाम जिसकी शाखा है
· सिंबल_फ्रॉम: फंक्शन का नाम से ब्रांच किया गया
· सिंबल_टू: फंक्शन का नाम ब्रांच किया गया
· गलत भविष्यवाणी: अनुमानित शाखा के लिए "एन", गलत भविष्यवाणी वाली शाखा के लिए "वाई"
· in_tx: TSX लेनदेन में शाखा
· निरस्त करना: TSX लेनदेन निरस्त करना।
· साइकिल: बुनियादी ब्लॉक में साइकिल
और डिफ़ॉल्ट सॉर्ट कुंजियों को कॉम, dso_from, सिंबल_फ्रॉम, dso_to . में बदल दिया जाता है
और प्रतीक_तो, '--शाखा-स्टैक' देखें।
-एफ, --फ़ील्ड =
आउटपुट फ़ील्ड निर्दिष्ट करें - CSV प्रारूप में कई कुंजियाँ निर्दिष्ट की जा सकती हैं। निम्नलिखित फ़ील्ड
उपलब्ध हैं: ओवरहेड, ओवरहेड_सिस, ओवरहेड_स, ओवरहेड_चिल्ड्रन, नमूना और
अवधि। इसके अलावा इसमें किसी भी प्रकार की कुंजी हो सकती है।
डिफ़ॉल्ट रूप से, प्रत्येक सॉर्ट कुंजियाँ जो -F में निर्दिष्ट नहीं हैं, जोड़ दी जाएँगी
स्वचालित रूप से.
यदि --mem-mode विकल्प का उपयोग किया जाता है, तो निम्न प्रकार की कुंजियाँ भी उपलब्ध हैं
(--शाखा-स्टैक के साथ असंगत):
सिंबल_डैडर, dso_daddr, लॉक किया हुआ, tlb, मेम, स्नूप, dcacheline.
· सिंबल_डैडर: सैंपल के समय डेटा सिंबल का नाम निष्पादित किया जा रहा है
· dso_daddr: पुस्तकालय या मॉड्यूल का नाम जिसमें डेटा निष्पादित किया जा रहा है
नमूने का समय
· लॉक किया गया: क्या सैंपल के समय बस लॉक थी
· टीएलबी: नमूना के समय डेटा के लिए टीएलबी एक्सेस का प्रकार
मेम: नमूना के समय डेटा के लिए मेमोरी एक्सेस का प्रकार
· स्नूप: नमूने के समय डेटा के लिए स्नूप का प्रकार (यदि कोई हो)
· dcacheline: कैशलाइन डेटा पता नमूना के समय चालू है
और डिफ़ॉल्ट सॉर्ट कुंजियों को लोकल_वेट, मेम, सिम, डीएसओ में बदल दिया जाता है,
सिंबल_डैडर, dso_daddr, स्नूप, टीएलबी, लॉक्ड, '--मेम-मोड' देखें।
-पी, - माता-पिता =
माता-पिता की पहचान करने के लिए एक रेगेक्स फ़िल्टर। पैरेंट इस फ़ंक्शन का कॉलर है और
कॉलचैन के माध्यम से खोजा जाता है, इस प्रकार इसे रिकॉर्ड की गई कॉलचेन जानकारी की आवश्यकता होती है।
पैटर्न विस्तारित रेगेक्स प्रारूप में है और डिफ़ॉल्ट रूप से "^sys_|^do_page_fault" पर है, देखें
--सॉर्ट माता - पिता.
-एक्स, --बहिष्कृत-अन्य
केवल पैरेंट-मैच वाली प्रविष्टियां प्रदर्शित करें।
-w, --स्तंभ-चौड़ाई=
बड़ी टर्मिनल पठनीयता के लिए प्रत्येक कॉलम की चौड़ाई को प्रदान की गई सूची में लागू करें। 0 मतलब
कोई सीमा नहीं (डिफ़ॉल्ट व्यवहार)।
-टी, --फ़ील्ड-सेपरेटर=
एक विशेष विभाजक वर्ण का उपयोग करें और सभी घटनाओं को बदलकर रिक्त स्थान के साथ पैड न करें
a . के साथ प्रतीक नामों (और अन्य आउटपुट) में इस विभाजक का . चरित्र, कि इस प्रकार
यह एकमात्र गैर वैध विभाजक है।
-डी, --डंप-रॉ-ट्रेस
ASCII में कच्चा ट्रेस डंप करें।
-जी, --कॉल-ग्राफ=
प्रकार, न्यूनतम प्रतिशत सीमा, प्रिंट सीमा, कॉल ऑर्डर, सॉर्ट का उपयोग करके कॉल श्रृंखला प्रदर्शित करें
कुंजी और शाखा। ध्यान दें कि मापदंडों का क्रम तय नहीं है, इसलिए कोई भी पारेषण किया जा सकता है
एक मध्यस्थता आदेश में दिया गया। एक अपवाद है print_limit जिसे पहले किया जाना चाहिए
दहलीज से।
print_type या तो हो सकता है:
- फ्लैट: सिंगल कॉलम, कॉल चेन का रैखिक एक्सपोजर।
- ग्राफ: निरपेक्ष ओवरहेड दरों को प्रदर्शित करते हुए एक ग्राफ ट्री का उपयोग करें। (चूक)
- फ्रैक्टल: ग्राफ की तरह, लेकिन सापेक्ष दरों को प्रदर्शित करता है। की प्रत्येक शाखा
पेड़ को एक नई प्रोफाइल वाली वस्तु के रूप में माना जाता है।
- कोई नहीं: कॉल श्रृंखला प्रदर्शन अक्षम करें।
थ्रेशोल्ड एक प्रतिशत मान है जो न्यूनतम प्रतिशत को होने के लिए निर्दिष्ट करता है
आउटपुट कॉल ग्राफ में शामिल है। डिफ़ॉल्ट 0.5 (%) है।
print_limit केवल तभी लागू होती है जब stdio इंटरफ़ेस का उपयोग किया जाता है। इसे सीमित करना है
एकल इतिहास प्रविष्टि में कॉल ग्राफ़ प्रविष्टियों की संख्या। ध्यान दें कि इसकी आवश्यकता है
दहलीज के बाद दिया जाना है (लेकिन जरूरी नहीं कि लगातार)।
डिफ़ॉल्ट 0 (असीमित) है।
आदेश या तो हो सकता है:
- कैली: कैली आधारित कॉल ग्राफ।
- कॉलर: उल्टे कॉलर आधारित कॉल ग्राफ।
डिफ़ॉल्ट 'कॉलर' है जब --बच्चों का उपयोग किया जाता है, अन्यथा 'कैली'।
सॉर्ट_की हो सकता है:
- फ़ंक्शन: फ़ंक्शन पर तुलना करें (डिफ़ॉल्ट)
- पता: अलग-अलग कोड पतों पर तुलना करें
शाखा हो सकती है:
- शाखा: उपलब्ध होने पर कॉलग्राफ में अंतिम शाखा की जानकारी शामिल करें।
आमतौर पर इसके लिए --branch-इतिहास का उपयोग करना अधिक सुविधाजनक होता है।
--बच्चे
माता-पिता के प्रवेश के लिए बच्चों की कॉलचेन जमा करें ताकि तब में दिखा सकें
आउटपुट आउटपुट में एक नया "चिल्ड्रन" कॉलम होगा और इसे डेटा पर सॉर्ट किया जाएगा।
इसके लिए कॉलचेन रिकॉर्ड करने की आवश्यकता होती है। अधिक के लिए 'ओवरहेड गणना' अनुभाग देखें
विवरण।
--मैक्स-स्टैक
कॉलचैन को पार्स करते समय स्टैक की गहराई सीमा निर्धारित करें, निर्दिष्ट से परे कुछ भी
गहराई पर ध्यान नहीं दिया जाएगा। यह सूचना हानि और तेज के बीच एक समझौता है
विशेष रूप से वर्कलोड के लिए प्रसंस्करण जिसमें बहुत लंबा कॉलचेन स्टैक हो सकता है। ध्यान दें
कि --itrace विकल्प का उपयोग करते समय संश्लेषित कॉलचेन आकार इसे ओवरराइड कर देगा
मूल्य यदि संश्लेषित कॉलचेन का आकार बड़ा है।
डिफ़ॉल्ट: 127
-जी, --उलटा
उल्टे कॉलर आधारित कॉल ग्राफ के लिए उपनाम।
--अनदेखा-कैलीज़=
दिए गए रेगेक्स से मेल खाने वाले फ़ंक्शन के कॉलीज़ को अनदेखा करें। इसका प्रभाव है
ऐसे प्रत्येक फ़ंक्शन के कॉलर्स को कॉल-ग्राफ़ ट्री में एक स्थान पर एकत्रित करना।
--सुंदर=
सुंदर मुद्रण शैली। कुंजी: सामान्य, कच्चा
--स्टडियो
Stdio इंटरफ़ेस का उपयोग करें।
--तुइ
टीयूआई इंटरफ़ेस का उपयोग करें, जो एनोटेट के साथ एकीकृत है और डीएसओ में ज़ूम करने की अनुमति देता है
या धागे, अन्य सुविधाओं के बीच। --tui के उपयोग के लिए एक ट्टी की आवश्यकता होती है, यदि कोई मौजूद नहीं है,
जैसे कि अन्य कमांड को पाइप करते समय, stdio इंटरफ़ेस का उपयोग किया जाता है।
--gtk
GTK2 इंटरफ़ेस का उपयोग करें।
-के, --vmlinux=
vmlinux पथनाम
--कलसिम्स =
कल्सिम्स पथनाम
-एम, --मॉड्यूल
लोड मॉड्यूल प्रतीक। चेतावनी: इसका उपयोग केवल -k और LIVE कर्नेल के साथ किया जाना चाहिए।
-एफ, --फोर्स
शिकायत मत करो, करो।
--symfs=
इस निर्देशिका से संबंधित प्रतीकों वाली फाइलें देखें।
-सी, --cpu
प्रदान किए गए सीपीयू की सूची के लिए केवल नमूने की रिपोर्ट करें। एकाधिक CPU को a . के रूप में प्रदान किया जा सकता है
बिना स्थान वाली अल्पविराम से अलग की गई सूची: 0,1. सीपीयू की रेंज -: 0-2 के साथ निर्दिष्ट हैं।
डिफ़ॉल्ट सभी सीपीयू पर नमूनों की रिपोर्ट करना है।
-एम, --डिससेम्बलर-शैली=
objdump के लिए डिस्सेबलर स्टाइल सेट करें।
--स्रोत
असेंबली कोड के साथ इंटरलीव सोर्स कोड। डिफ़ॉल्ट रूप से सक्षम, इसके साथ अक्षम करें
--नो-सोर्स.
--asm-कच्चा
असेंबली निर्देशों के कच्चे निर्देश एन्कोडिंग दिखाएं।
--शो-कुल-अवधि
अवधियों के योग के साथ एक कॉलम दिखाएं।
-मैं, --शो-जानकारी
Perf.data फ़ाइल के बारे में विस्तृत जानकारी प्रदर्शित करें। यह जानकारी जोड़ता है जो हो सकता है
बहुत बड़ा हो और इस प्रकार डिस्प्ले को अव्यवस्थित कर सकता है। इसमें वर्तमान में शामिल हैं: सीपीयू और numa
मेजबान प्रणाली की टोपोलॉजी।
-बी, --शाखा-स्टैक
निर्देश के पते के बजाय नमूना ली गई शाखाओं के पते का उपयोग करें
हिस्टोग्राम का निर्माण। सार्थक आउटपुट उत्पन्न करने के लिए, perf.data फ़ाइल होनी चाहिए
perf रिकॉर्ड -b या perf रिकॉर्ड का उपयोग करके प्राप्त किया गया --branch-filter xxx जहां xxx एक शाखा है
फिल्टर विकल्प। perf रिपोर्ट स्वत: पता लगाने में सक्षम है कि क्या perf.data फ़ाइल में शामिल है
शाखा स्टैक और यह स्वचालित रूप से शाखा दृश्य मोड में स्विच हो जाएगा, जब तक कि
--नो-ब्रांच-स्टैक का उपयोग किया जाता है।
--शाखा इतिहास
नमूना ली गई शाखाओं के पते को कॉलस्टैक में जोड़ें। यह जांच करने की अनुमति देता है
पथ कार्यक्रम प्रत्येक नमूने के लिए ले लिया। डेटा संग्रह में -b (या .) का उपयोग होना चाहिए
-जे) और -जी।
--objdump=
बाइनरी objdump के लिए पथ।
--समूह
ईवेंट समूह की जानकारी एक साथ दिखाएं.
--विघटन
मानव पठनीय रूप में प्रतीक नामों को डिमंगल करें। यह डिफ़ॉल्ट रूप से सक्षम है, इसके साथ अक्षम करें
--नो-डेमंगल।
--demangle-कर्नेल
मानव पठनीय रूप (सी ++ कर्नेल के लिए) के लिए कर्नेल प्रतीक नामों को डिमंगल करें।
--मेम-मोड
बनाने के लिए निर्देश पतों के अतिरिक्त नमूनों के डेटा पतों का उपयोग करें
हिस्टोग्राम। सार्थक आउटपुट उत्पन्न करने के लिए, perf.data फ़ाइल प्राप्त की गई होगी
perf रिकॉर्ड -d -W का उपयोग करना और एक विशेष घटना का उपयोग करना -e cpu/mem-loads/ या -e
सीपीयू/मेम-स्टोर्स/. देखो पर्फ़ मेम आसान पहुंच के लिए।
--प्रतिशत-सीमा
ऐसी प्रविष्टियां न दिखाएं जिनका उस प्रतिशत से कम उपरि हो। (डिफ़ॉल्ट: 0)।
--प्रतिशत
निर्धारित करें कि फ़िल्टर की गई प्रविष्टियों का ओवरहेड प्रतिशत कैसे प्रदर्शित किया जाए। फिल्टर हो सकते हैं
टीयूआई पर --comms, --dsos और/या --symbols विकल्प और ज़ूम संचालन द्वारा लागू किया गया
(धागा, डीएसओ, आदि)।
"रिश्तेदार" का अर्थ है कि यह केवल फ़िल्टर की गई प्रविष्टियों के सापेक्ष है ताकि
दिखाई गई प्रविष्टियों का योग हमेशा 100% होगा। "पूर्ण" का अर्थ है कि यह बरकरार रखता है
फ़िल्टर लागू होने से पहले और बाद में मूल मान।
--हेडर
Perf.data फ़ाइल में शीर्षलेख जानकारी दिखाएं। इसमें विभिन्न जानकारी शामिल है जैसे
होस्टनाम, ओएस और पूर्ण संस्करण, सीपीयू/मेम जानकारी, पूर्ण कमांड लाइन, घटना सूची आदि।
वर्तमान में केवल --stdio आउटपुट इस सुविधा का समर्थन करता है।
--हेडर-ओनली
केवल perf.data शीर्षलेख दिखाएं (forces --stdio)।
--इट्रेस
निर्देश अनुरेखण डेटा को डिकोड करने के विकल्प। विकल्प हैं:
मैं निर्देश घटनाओं को संश्लेषित करता हूं
बी शाखाओं की घटनाओं को संश्लेषित करता है
c शाखाओं की घटनाओं को संश्लेषित करता है (केवल कॉल)
r शाखाओं की घटनाओं को संश्लेषित करता है (केवल रिटर्न)
x लेन-देन की घटनाओं को संश्लेषित करता है
ई त्रुटि घटनाओं को संश्लेषित करता है
डी डीबग लॉग बनाएं
g कॉल शृंखला को संश्लेषित करता है (i या x के साथ प्रयोग करें)
l अंतिम शाखा प्रविष्टियों को संश्लेषित करें (i या x के साथ प्रयोग करें)
डिफ़ॉल्ट सभी ईवेंट हैं अर्थात --itrace=ibxe . के समान
इसके अलावा, निर्देश ईवेंट के लिए अवधि (डिफ़ॉल्ट 100000)
की इकाइयों में निर्दिष्ट किया जा सकता है:
मैं निर्देश
टी टिक
एमएस मिलीसेकंड
हमें माइक्रोसेकंड
एनएस नैनोसेकंड (डिफ़ॉल्ट)
साथ ही निर्देशों के लिए कॉल शृंखला का आकार (डिफ़ॉल्ट 16, अधिकतम 1024) या
लेनदेन की घटनाओं को निर्दिष्ट किया जा सकता है।
इसके अलावा अंतिम शाखा प्रविष्टियों की संख्या (डिफ़ॉल्ट 64, अधिकतम 1024)
निर्देश या लेनदेन की घटनाओं को निर्दिष्ट किया जा सकता है।
डिकोडिंग को पूरी तरह से अक्षम करने के लिए --no-itrace का उपयोग करें।
--पूर्ण-स्रोत-पथ
srcline आउटपुट के लिए स्रोत फ़ाइलों के लिए पूर्ण पथ दिखाएं।
--शो-रेफरी-कॉल-ग्राफ
जब कई घटनाओं का नमूना लिया जाता है, तो सभी के लिए कॉलग्राफ एकत्र करने की आवश्यकता नहीं हो सकती है
उनमें से। नमूना साइटें आमतौर पर आस-पास होती हैं, और यह एकत्र करने के लिए पर्याप्त है
एक संदर्भ घटना पर कॉलग्राफ। तो उपयोगकर्ता "कॉल-ग्राफ = नहीं" ईवेंट संशोधक का उपयोग कर सकता है
ओवरहेड को कम करने के लिए अन्य घटनाओं के लिए कॉलग्राफ अक्षम करें। हालाँकि, पूर्ण रिपोर्ट नहीं कर सकता
उस घटना के लिए कॉलग्राफ दिखाएं जो कॉलग्राफ को अक्षम करता है। यह विकल्प विस्तारित करता है
संदर्भ कॉलग्राफ दिखाने के लिए पूर्ण रिपोर्ट, जो संदर्भ घटना द्वारा एकत्र की जाती है, संख्या में
कॉलग्राफ घटना।
--सॉकेट-फ़िल्टर
केवल इस फ़िल्टर से मेल खाने वाले प्रोसेसर सॉकेट पर नमूनों की रिपोर्ट करें
उपरि गणना
ओवरहेड को दो कॉलम में दिखाया जा सकता है: बच्चे और स्वयं जब परफ जमा करता है
कॉलचेन। NS स्वयं ओवरहेड की गणना केवल सभी अवधि के मूल्यों को जोड़कर की जाती है
प्रविष्टि - आमतौर पर एक फ़ंक्शन (प्रतीक)। यह वह मान है जो perf पारंपरिक रूप से दिखाता है और
सभी का योग स्वयं ओवरहेड मान 100% होना चाहिए।
RSI के बच्चे ओवरहेड की गणना चाइल्ड फंक्शन्स के सभी पीरियड वैल्यू को जोड़कर की जाती है
कि यह उच्च स्तर के कार्यों का कुल ओवरहेड दिखा सकता है, भले ही वे न करें
सीधे बहुत कुछ निष्पादित करें। बच्चे यहां उन कार्यों का अर्थ है जिन्हें दूसरे (माता-पिता) से बुलाया जाता है
समारोह.
यह भ्रमित करने वाला हो सकता है कि सभी का योग के बच्चे ओवरहेड मान 100% से अधिक हो गया है
उनमें से प्रत्येक पहले से ही का एक संचय है स्वयं अपने बच्चे के कार्यों का ओवरहेड। लेकिन इसके साथ
यह सक्षम होने पर, उपयोगकर्ता यह पता लगा सकते हैं कि नमूने के होने पर भी किस फ़ंक्शन का ओवरहेड सबसे अधिक है
बच्चों में फैल गया।
निम्नलिखित उदाहरण पर विचार करें; नीचे की तरह तीन कार्य हैं।
.फीट सी
शून्य फू (शून्य) {
/* कुछ करो */
}
शून्य बार (शून्य) {
/* कुछ करो */
फू ();
}
मुख्य अंतर (शून्य) {
बार ()
0 वापसी;
}
.एफटी
इस मामले में foo का बच्चा है बार, तथा बार का तत्काल बच्चा है मुख्य so foo यह भी एक है
के संतान मुख्य। दूसरे शब्दों में, मुख्य का माता-पिता है foo और बार, तथा बार का माता-पिता है
foo.
मान लीजिए सभी नमूने दर्ज किए गए हैं foo और बार केवल। जब इसे कॉलचेन के साथ रिकॉर्ड किया जाता है
आउटपुट perf . के सामान्य (सेल्फ-ओवरहेड-ओनली) आउटपुट में नीचे जैसा कुछ दिखाएगा
रिपोर्ट:
.फीट सी
ओवरहेड प्रतीक
...........................
60.00% फू
|
--- फू
बार
मुख्य
__libc_start_main
40.00% बार
|
--- छड़
मुख्य
__libc_start_main
.एफटी
जब --बच्चों का विकल्प सक्षम किया जाता है, तो स्वयं बाल कार्यों के ऊपरी मूल्य (यानी
foo और बार) की गणना करने के लिए माता-पिता में जोड़े जाते हैं के बच्चे उपरि। इस मामले में
रिपोर्ट के रूप में प्रदर्शित किया जा सकता है:
.फीट सी
बच्चे स्वयं प्रतीक
..............................
100.00% 0.00% __libc_start_main
|
--- __libc_start_main
100.00% 0.00% मुख्य
|
--- मुख्य
__libc_start_main
100.00% 40.00% बार
|
--- छड़
मुख्य
__libc_start_main
60.00% 60.00% फू
|
--- फू
बार
मुख्य
__libc_start_main
.एफटी
उपरोक्त आउटपुट में, स्वयं के उपरि foo (60%) में जोड़ा गया था के बच्चे के उपरि
बार, मुख्य और __libc_start_main। इसी तरह, स्वयं के उपरि बार (40%) में जोड़ा गया था
के बच्चे के उपरि मुख्य और \_\_libc_start_main.
So \_\_libc_start_main और मुख्य पहले दिखाए जाते हैं क्योंकि उनके पास समान (100%) है के बच्चे
ओवरहेड (भले ही उनके पास शून्य हो स्वयं ओवरहेड) और वे के माता-पिता हैं foo और
बार.
v3.16 के बाद से के बच्चे ओवरहेड डिफ़ॉल्ट रूप से दिखाया जाता है और आउटपुट को इसके द्वारा क्रमबद्ध किया जाता है
मूल्य। NS के बच्चे --no-चिल्ड्रेन विकल्प निर्दिष्ट करके ओवरहेड अक्षम किया गया है
कमांड लाइन या जोड़कर रिपोर्ट.बच्चे = असत्य or शीर्ष बच्चे = असत्य पूर्ण में
कॉन्फिग फ़ाइल।
onworks.net सेवाओं का उपयोग करके ऑनलाइन पूर्ण-रिपोर्ट का उपयोग करें
