2012-08-13 27 views
6

क्या पहले PHP XDebug द्वारा लिया गया प्रोफ़ाइल डेटा एकत्र करने का कोई तरीका है?कुल PHP XDebug डेटा KCacheGrind

मैंने एक अनुरोध से संबंधित डेटा को एकल फ़ाइल में रखने के लिए PHP XDebug प्रबंधित किया है। जब मैं kcachegrind में उस फ़ाइल को खोलता हूं, तो वह उस फ़ाइल में समेकित सभी अनुरोध प्रदर्शित करता है। हालांकि, प्रत्येक अनुरोध का अपना स्टैक ट्रेस होता है (मैं समझता हूं, यह बदल सकता है)। क्या सभी अनुरोधों से एकत्रित प्रोफाइल डेटा देखने का कोई तरीका है? मुझे परवाह नहीं है कि यह 100% सटीक नहीं है या यदि कुछ कॉल गुम हैं, तो मुझे बस सभी दैनिक संचालनों पर संक्षिप्त अवलोकन की आवश्यकता है।

अस्वीकरण: kcachegrind की आवश्यकता नहीं है, मुझे अभी तक यह सबसे अच्छा टूल मिला है।

+0

ouch .. सभी दैनिक संचालन? ट्रेस फाइलों की मात्रा (megs में) क्या है जिसे आप सारांशित करना चाहते हैं? –

उत्तर

9

और अधिक पढ़ें एक में सभी फाइलों को संयोजित करें:

cat cachegrind.out.* > cachegrind.combined 

ओपन cachegrind.combined और खिड़की के नीचे सही पर "पार्ट्स" का चयन करें टैब। आप वहां सूचीबद्ध प्रोफाइल के कई हिस्सों को देखेंगे। उन सभी का चयन करें (CTRL + a या माउस का उपयोग करें) और आप इन सभी प्रोफ़ाइल फ़ाइलों का सारांशित डेटा देखेंगे।

+0

यह बहुत अच्छा लग रहा है, मैं इसे देख रहा हूँ। धन्यवाद! –

+1

यह चट्टानों, दोस्त! :-) –

0

उत्पन्न रिपोर्ट टेक्स्ट है और इसे पार्स किया जा सकता है, इसलिए रिपोर्ट तैयार करने वाले पार्सर को बनाने के लिए जटिल नहीं होना चाहिए। मैं विंडोज़ के लिए WinCacheGrind का उपयोग करता हूं और इसे एक विस्तृत पेड़ के अलावा बहुत अच्छा लगता है, यह एक सामान्य संयुक्त समय/फ़ंक्शन भी दिखाता है और इसमें कितने कॉल हैं।

+0

कोई विचार है कि इस तरह के पार्सर कैसे बनाया जाए? –

+0

खरोंच से अच्छी तरह से :) फ़ाइल लोड करें और लूप थ्रू यह लाइनों को डेटा को उस सरणी में डालकर अच्छी तरह से रखता है जो इसे दर्शाता है। इसमें एक फार्सेबल प्रारूप है अन्यथा कोई कैशग्रिंड प्रोग्राम नहीं होगा। यदि आप प्यासे और स्क्रैच से कोड प्राप्त करना पसंद नहीं करते हैं तो http://code.google.com/p/webgrind/ आज़माएं। – transilvlad

0

मुझे यकीन नहीं है लेकिन नीचे यूआरएल देखें और इसे पढ़ें। मुझे लगता है कि यह आपके लिए बहुत मददगार है।

Xdebug के साथ रूपरेखा PHP और Webgrind

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

ढूँढना और फिक्सिंग प्रदर्शन पीएचपी वेब अनुप्रयोगों में बाधाओं दोनों समय लेने वाली और मुश्किल हो सकता है। सौभाग्य से, Xdebug और Webgrind जैसे निःशुल्क टूल आपको अपनी PHP स्क्रिप्ट में बाधाओं को आसानी से ढूंढने और विज़ुअलाइज़ करने की अनुमति देते हैं।

वेबग्रिंड PHP5 में एक Xdebug प्रोफाइलिंग वेब फ्रंटएंड है। यह kcachegrind की सुविधाओं के सबसेट को लागू करता है और कुछ सेकंड में स्थापित और Webgrind platforms. सब पर काम करता है

किसी को भी जो कभी कोड प्रोफ़ाइल करने के लिए आवश्यक है शायद KcacheGrind (एक प्रोफ़ाइल डेटा दृश्य उपकरण) से परिचित है। KcacheGrind प्रोग्राम निष्पादन से प्रोफ़ाइल डेटा को विज़ुअलाइज़ करने का एक तरीका प्रदान करता है, जिससे आप जल्दी और आसानी से देख सकते हैं कि प्रोग्राम अपना समय कहां खर्च कर रहा है। यह जानकर कि निष्पादन की बाधाएं आपको सही स्थानों पर अपने अनुकूलन प्रयासों पर ध्यान केंद्रित करने की अनुमति देती हैं।

लंबे समय तक, PHP के लिए Xdebug एक्सटेंशन (अन्य चीजों के साथ) निष्पादन प्रोफ़ाइल जानकारी को डिस्क पर निष्पादित करने में सक्षम है जो KcacheGrind द्वारा प्रयोग योग्य है, जो कि यदि आप केडीई के साथ लिनक्स चला रहे हैं तो यह बहुत अच्छा है।

वेबग्रिंड प्रोजेक्ट किसी भी ऑपरेटिंग सिस्टम पर स्थापित किया जा सकता है जिसे किसी भी ऑपरेटिंग सिस्टम पर स्थापित किया जा सकता है, जिससे आप ब्राउज़र के माध्यम से Xdebug प्रोफाइलिंग डेटा के एक हिस्से को विज़ुअलाइज़ कर सकते हैं।| PHP के लिए

Xdebug विस्तार -:

भी एक और उदाहरण लेख ऊपर और अधिक पढ़ें

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

देखें और इसे पढ़ें प्रलेखन

http://xdebug.org/docs/profiler

Xdebug के अंतर्निहित प्रोफाइलर आप अपनी स्क्रिप्ट में बाधाओं का पता लगाने और इस तरह के KCacheGrind या WinCacheGrind के रूप में एक बाहरी उपकरण के साथ उन लोगों के देख सकते हैं। परिचय

Xdebug के प्रोफाइलर एक शक्तिशाली उपकरण है कि आप अपने PHP कोड का विश्लेषण और बाधाओं का निर्धारण या आम तौर पर देखते हैं जो अपने कोड के कुछ हिस्सों में धीमी गति से कर रहे हैं और एक गति को बढ़ावा देने का उपयोग कर सकते करने की क्षमता देता है। Xdebug 2 में प्रोफाइलर एक कैशग्रींड संगत फ़ाइल के रूप में प्रोफाइलिंग जानकारी आउटपुट करता है। यह आपको अपने प्रोफाइलिंग डेटा का विश्लेषण करने के लिए उत्कृष्ट KCacheGrind टूल (लिनक्स/विंडोज, केडीई) का उपयोग करने की अनुमति देता है। यदि आप लिनक्स पर हैं तो आप अपने पसंदीदा पैकेज मैनेजर के साथ केकेचेग्रिंड इंस्टॉल कर सकते हैं; यदि आप विंडोज़ पर हैं तो आप SourceForge पर KCacheGrind की प्रीकंपाइल बाइनरी प्राप्त कर सकते हैं।

विंडोज के उपयोगकर्ता WinCacheGrind का भी उपयोग कर सकते हैं, कार्यक्षमता KCacheGrind से अलग है, इसलिए इस पृष्ठ पर KCacheGrind का उपयोग करने वाले अनुभाग इस प्रोग्राम पर लागू नहीं होते हैं। Xdebugtoolkit नामक एक वैकल्पिक प्रोफ़ाइल सूचना प्रस्तुति उपकरण भी है, जिसे वेब आधारित फ्रंट-एंड वेबग्रिंड कहा जाता है और जावा आधारित टूल जिसे एक्सकॉलग्राफ कहा जाता है।

लेख

ऊपर

http://xdebug.org/docs/profiler

+0

आपके उत्तर के लिए धन्यवाद। हालांकि, मुझे अपने प्रश्न - डेटा एकाग्रता और एक (kcachegrind/webgrind) अवलोकन में एकाधिक अनुरोधों के विश्लेषण के बारे में बहुत कुछ नहीं दिखाई देता है। –