2013-01-19 3 views
14

मैं EventSource का उपयोग करके ईटीडब्ल्यू कार्यक्रमों को आग लगाना चाहता हूं और उन्हें विंडोज प्रदर्शन विश्लेषक के साथ देखना चाहता हूं।विंडोज प्रदर्शन विश्लेषक का उपयोग कर इवेंटसोर्स द्वारा बनाई गई ईटीडब्ल्यू घटनाओं को आप कैसे देखते हैं?

[EventSource(Name = "BasicEventSource")] 
public class ETWLogger : EventSource 
{ 
#if DEBUG 
    private const bool ThrowOnError = true; 
#else 
    private const bool ThrowOnError = false; 
#endif 

    private ETWLogger(bool throwOnError) : base(throwOnError) { } 

    private static ETWLogger _log; 
    public static ETWLogger Log 
    { get { return _log ?? (_log = new ETWLogger(ThrowOnError)); } } 

    private static class Keywords 
    { 
     public const EventKeywords Perf = (EventKeywords) 1; 
    } 

    [Event(1, Keywords = Keywords.Perf, Level = EventLevel.Informational)] 
    public void Startup() { WriteEvent(1, "StartUp"); } 
} 

जब मैं विंडोज प्रदर्शन रिकॉर्डर (WPR) के साथ रिकॉर्ड, मैं नहीं मेरा प्रदाता या घटनाओं विंडोज प्रदर्शन विश्लेषक (WPA) की जेनेरिक घटनाक्रम ग्राफ में दिख रहा है:

मैं एक बुनियादी EventSource है।

अपना समय :)

+0

आपने अपना सत्र कैसे शुरू किया? यह एक दृष्टिकोण है जिसका हम उपयोग कर रहे हैं - http://svcperf.codeplex.com/wikipage?title=Realtime%2bWCF%2bSession&referringTitle=FAQs – Sajay

उत्तर

1

WPR आपके कस्टम EventSource के बारे में कुछ भी नहीं जानता है, इसलिए आपको एक रिकॉर्डिंग प्रोफ़ाइल बनाना है ताकि आप इसे सक्षम कर सकें। WPT जहाजों को कुछ नमूना प्रोफाइल के साथ जहाज जो आपको प्रारंभ करने में मदद कर सकते हैं।

WPR का 8.1 संस्करण PerfView के समान नामकरण सम्मेलन का समर्थन करता है, जिसका अर्थ है कि आप प्रोफ़ाइल में GUID के बजाय *YourEventSource का उपयोग कर सकते हैं।

मेरे अनुभव में EventSource सुविधाओं में से कुछ WPA के 8.1 संस्करण में अच्छी तरह से समर्थित नहीं हैं। जैसे यदि आप कार्यों का उपयोग करते हैं तो वे सही तरीके से दिखाई नहीं देंगे। हालांकि, EventSource का मूल उपयोग WPA/WPR के 8.1 संस्करण के साथ अच्छी तरह से काम करता है जब आप अपने EventSource के लिए रिकॉर्डिंग प्रोफ़ाइल बनाते हैं।

एक और विकल्प PerfView का उपयोग करके ट्रेस एकत्र करना और WPA के साथ इसका विश्लेषण करना है (यदि आप PerfView पर इसे पसंद करते हैं)।

+0

मैंने एक प्रोफाइल बनाया है और WPR का उपयोग कर रिकॉर्डिंग ईवेंट कर रहा हूं। जब मैं PerfView में .etl फ़ाइल खोलता हूं तो मुझे लगता है कि चीजें दिखती हैं। हालांकि, जब मैं WPA में .etl फ़ाइल खोलता हूं तो मुझे अपने ईवेंट नामों के बजाय मेरे ईवेंट स्रोत नाम और संख्याओं का एक guidinstead दिखाई देता है। क्या यह उम्मीद है? – JonDrnek

1

बाहर की जाँच करें इस demo tutorial के लिए धन्यवाद। 00:38:39 से शुरू होने पर एक और डेमो here पाया जा सकता है।

1

डब्ल्यूपीआर और डब्ल्यूपीए ने इवेंटसोर्स का समर्थन नहीं किया, लेकिन नए 8.1 एडीके के साथ किया। here देखें।

+0

वेंस ने PerfView (http://sdrv.ms/QnHpd4) का एक कस्टम संस्करण जारी किया जो इवेंटसोर्स घटनाओं को एकत्र कर सकता है और फिर उनको WPA में देखा जा सकता है। मुझे संदेह है कि हाल ही में पर्फ व्यू के 1.5 संस्करण जारी किए गए हैं। http://blogs.msdn.com/b/vancem/archive/2013/12/09/perfview-version-1-5-has-been-released.aspx –

संबंधित मुद्दे