5

उम्मीद है कि यह आसान है ...क्या सेवा कपड़े के साथ दृश्य स्टूडियो प्रदर्शन प्रोफाइलिंग का उपयोग करना संभव है?

मैं अपनी सेवा कपड़े क्लस्टर प्रदर्शन प्रदर्शन करना चाहता हूं।

अब तक मैं: - डिबगिंग के बिना प्रारंभ डायग्नोस्टिक उपकरण पर जाएं। - स्टार्टअप प्रोजेक्ट के रूप में मेरी सेवा कपड़े परियोजना का चयन करने वाले जादूगर के माध्यम से जाएं। - तो फिर यह जो शामिल करने के लिए परियोजनाओं पूछता है, इसलिए मैं अपने सेवा exe में शामिल हैं - तो मैं उपकरण का चयन करें (मैं विधि स्तर समय चाहते हैं)

तब मैं अपने exe दुर्घटनाओं शुरू करने और तुरंत मारा। मुझे लगता है कि ऐसा इसलिए है क्योंकि दृश्य स्टूडियो सेवा कपड़े संदर्भ के बाहर एक "स्टैंडअलोन एक्सई" के रूप में अपनी "सेवा" चलाने की कोशिश कर रहा है।

के बारे में है कि हालांकि क्या करना है सुनिश्चित नहीं हैं ...

स्टैक ट्रेस है:

डीबग: सक्रिय विकल्प

बिना क्रिया के अपवाद: System.Fabric.FabricConnectionDeniedException: कनेक्ट करने के लिए अधिकृत नहीं है - -> System.Runtime.InteropServices.COMException: System.Fabric.FabricRuntime.NativeFabricRuntimeFactory.GetNodeContextEndWrappe पर System.Fabric.Interop.NativeRuntime.FabricEndGetNodeContext (IFabricAsyncOperationContext संदर्भ) पर 0x80071C43 : HRESULT से अपवाद आर (IFabricAsyncOperationContext संदर्भ) System.Fabric.Interop.AsyncCallOutAdapter2`1.Finish (IFabricAsyncOperationContext संदर्भ, बूलियन expectedCompletedSynchronously) --- भीतरी अपवाद स्टैक ट्रेस की समाप्ति --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess पर (कम से टास्क कार्य) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (टास्क कार्य) पर Microsoft.ServiceFabric.Services.Runtime.RuntimeContext.d__3.MoveNext पर() --- पिछले स्थान से स्टैक ट्रेस की समाप्ति जहां अपवाद उत्पन्न हुआ था --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (कार्य कार्य) सिस्टम पर। Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (कार्य कार्य)माइक्रोसॉफ्ट पर.erviceFabric.Services.Runtime.ServiceRuntime.d__0.MoveNext() --- पिछले स्थान से स्टैक ट्रेस का अंत जहां अपवाद फेंक दिया गया था --- सिस्टम पर। Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (कार्य कार्य) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (टास्क कार्य) System.Runtime.CompilerServices.TaskAwaiter.GetResult पर() पहले से मदद के लिए

धन्यवाद !

+0

हमेशा अपवाद संदेश को गुगल करने के लायक है - [वीएस2015 आरसी में विफलता विफल: सिस्टम.फैब्रिक.फैब्रिककोनक्शन डेनिएडएक्सप्शन] (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f5d05143-15ce-4685- 9899-6b659ffb77a0/डिबगिंग-विफल-इन-बनाम2015-आरसी-सिस्टमफैब्रिकफैब्रिकॉननेक्शनडेडएक्ससेप्शन? फोरम = AzureServiceFabric) – stuartd

+1

धन्यवाद, लेकिन मैंने पाया। यदि आप थोड़ा और अधिक बारीकी से पढ़ते हैं तो आप देखेंगे कि मैं इसे शुरू करने की कोशिश कर रहा त्रुटि प्राप्त करने के बारे में बात नहीं कर रहा हूं ... मुझे सामान्य डीबगिंग के लिए इसे शुरू करने में कोई समस्या नहीं है। प्रश्न यह था कि मैं इसे प्रदर्शन प्रोफाइलर के माध्यम से शुरू करने के मामले में कैसे प्राप्त करूं। – Steve

उत्तर

5

जो आप देख रहे हैं वह विजुअल स्टूडियो सर्विस फैब्रिक रनटाइम के बाहर अपनी सेवा होस्ट प्रक्रिया शुरू करने का प्रयास कर रहा है। आम तौर पर, जब आप विजुअल स्टूडियो के माध्यम से सेवा चलाते हैं, तो आप आवेदन प्रोजेक्ट को पर लागू करते हैं, जो आपके स्थानीय सेवा फैब्रिक क्लस्टर पर पंजीकरण और तुरंत आपकी सेवाओं को तत्काल करने की प्रक्रिया के माध्यम से जाता है।

इंस्ट्रुमेंटेशन वर्तमान में इस कारण से सेवा फैब्रिक परियोजनाओं के साथ आउट-ऑफ-द-बॉक्स काम नहीं करता है। हम भविष्य में इसे संभव बनाने के तरीकों को देख रहे हैं।

आप अभी भी नमूना प्रोफाइलिंग कर सकते हैं, जो आपको एक चल रहे EXE के लिए प्रोफाइलर संलग्न करने की अनुमति देता है। उस स्थिति में, आप सामान्य रूप से पहले अपना आवेदन तैनात करेंगे, फिर प्रोफाइलर को अपनी सेवा EXEs से संलग्न करें।

+1

प्रतिक्रिया के लिए धन्यवाद। कोई विचार जब यह समर्थित होगा? या कोई अन्य उपकरण/कामकाज? (नमूनाकरण के अलावा) – Steve

+2

क्या आप नमूना प्रोफाइलिंग पर कुछ और मार्गदर्शन दे सकते हैं? - एकमात्र चीज जो मैं पा सकता हूं वह पुराना है एमएसडीएन लेख जो मुझसे पूछते हैं [उन चीज़ों पर क्लिक करें जो मौजूद नहीं हैं] (https://msdn.microsoft.com/en-us/library/ms182384.aspx)। - मैं वीएस2015 अपडेट 3 के एंटरप्राइज़ एसकेयू का उपयोग कर रहा हूं - क्लिक करके एक क्लिक अच्छा होगा। – BrainSlugs83

+0

@ BrainSlugs83 - जो अपने आप पर एक प्रश्न की तरह लगता है - इसे उठाने के लिए स्वतंत्र महसूस करें :) –

0

देखें https://msdn.microsoft.com/en-us/library/dd255414.aspx?f=255&MSPPError=-2147217396

  1. यदि आवश्यक हो, VSPerfClrEnv {/globalsamplegc | /globalsamplegclife}[/samplelineoff] का एक संस्करण के साथ की रूपरेखा वातावरण चर को प्रारंभ करें, फिर रिबूट। यदि सेवा या प्रक्रिया एक अलग उपयोगकर्ता खाते के अंतर्गत चल रहा है

    VSPerfCmd /START:{COVERAGE|SAMPLE|CONCURRENCY|TRACE} /OUTPUT:file /ATTACH:(pid|name)[,(pid|name)]* [/USER:[domain\]username]

/USER:[domain\]username की जरूरत है:

  • का एक संस्करण के साथ डेटा एकत्र करने के प्रोफ़ाइल प्रारंभ

    .vspx या .vsp फ़ाइल एक्सटेंशन /OUPUT:file विनिर्देश में जोड़ा गया है। फिर आप प्रोफ़ाइल रिपोर्ट देखने के लिए विजुअल स्टूडियो में .vspx या .vsp फ़ाइल खोल सकते हैं।

    अधिक स्पष्टीकरण के लिए VSPerfCmd /? चलाएं और प्रोफाइलिंग विकल्पों की पूरी सूची देखने के लिए।

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