2015-08-05 8 views
5

मैं अपने रियलिटी सर्वर एप्लिकेशन के साथ किसी समस्या का निदान करने की कोशिश कर रहा हूं, हालांकि यह मेरे अनुप्रयोग उपयोगकर्ता इंटरफ़ेस का उपयोग करके समस्याओं को मैन्युअल रूप से पुन: उत्पन्न करने में बहुत समय ले रहा है।रीयलिटीसेवर वेब सेवा अनुरोध लॉगिंग और रीप्लेइंग

क्या जेएसओएन-आरपीसी वेब सेवा कमांड को लॉग और दोबारा चलाने का कोई तरीका है जो रियलिटीसेवर प्राप्त करता है ताकि मैं एप्लिकेशन यूजर इंटरफेस का उपयोग किए बिना अपनी समस्याओं को दोबारा उत्पन्न कर सकूं?

उत्तर

4

रियलिटीसेवर अनुरोधों की निगरानी के लिए दो टूल प्रदान करता है। मुख्य रूप से आप इस मामले में रुचि रखते हैं कमांडॉग प्लगइन जो वास्तविकता सर्वर के साथ जहाजों को डिफ़ॉल्ट रूप से अक्षम कर दिया गया है। आपको अपनी realityserver.conf फ़ाइल को संपादित करने और प्रासंगिक लाइनों को अपूर्ण करने की आवश्यकता है। यहाँ फ़ाइल के प्रासंगिक हिस्सा है:

# uncomment below to enable the command logging state handler. 
# this will record every JSON-RPC command received during a RealityServer 
# session into a python script which can later be replayed to re-run the 
# session. this can be useful for tracking down bugs. 
# note that when enabled this will overwrite the replay.py file every 
# time RealityServer starts so you must ensure you make a copy of any 
# file you wish to keep. The file is created in the working directory, 
# not the RealityServer root. 
<url .*> 
state Commandlog_state_handler 
</url> 

के रूप में इस राज्य हैंडलर को सक्षम करने के लिए एक विशेष अजगर फ़ाइल में सभी JSON-RPC अनुरोध रिकॉर्ड करेगा का वर्णन किया। फिर आप तो जैसे इस फाइल को चला सकते हैं:

python replay.py 127.0.0.1:8080 

यह तो चल RealityServer करने के लिए रिकॉर्ड आदेशों के अनुक्रम भेज देंगे। आदेश रिकॉर्ड किए गए बिल्कुल वही होंगे, लेकिन समय शामिल नहीं होगा, इसलिए जितनी जल्दी संभव हो सके खेला जाएगा। यदि आपकी समस्या समय संवेदनशील है तो आपको डेटा को कैप्चर और रीप्ले करने के लिए वैकल्पिक विधि का उपयोग करने की आवश्यकता हो सकती है।

नोट: रियलिटी सर्वर स्टार्टअप पर replay.py फ़ाइल को ओवरराइट करता है, इसलिए यदि आप इसे प्रारंभ के बीच बनाए रखना चाहते हैं तो आपको फ़ाइल को दूसरे नाम पर कॉपी करना होगा। यदि आप रीयलिटी सर्वर को स्वचालित रूप से पुनरारंभ करने के लिए स्क्रिप्ट का उपयोग करते हैं तो आपको फ़ाइल को कॉपी करने के लिए एक चरण शामिल करने की देखभाल करने की आवश्यकता होगी।

आप सभी HTTP अनुरोध लॉग इन करने और न सिर्फ JSON-RPC का अनुरोध करता है वहाँ भी निम्नलिखित realityserver.conf विकल्प आप इस के लिए जोड़ सकते हैं चाहते हैं:

http_log access.log 

इस में सभी अनुरोधों को प्रवेश करेंगे अपाचे लॉग प्रारूप जो उस प्रारूप का समर्थन करने वाले टूल के साथ उपयोग के लिए उपयोगी हो सकता है। RealityServer कॉन्फ़िगरेशन विकल्पों की एक पूरी सूची here मिल सकती है।

1

या तो अपनी पसंद के किसी प्रोग्रामिंग भाषा में इसके लिए अपना स्वयं का प्रोग्राम लिखें, या Fiddler आज़माएं। फिडलर HTTP सत्र रिकॉर्ड कर सकते हैं और उन्हें फिर से चला सकते हैं।

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