10

मैं अपने रेल 3.2 परियोजना में रैक-मिनी-प्रोफाइलर का उपयोग कर रहा हूं।रेल नियंत्रक को कैसे प्रोफाइल करें जो रैक-मिनी-प्रोफाइलर के साथ एक जेसन प्रतिक्रिया देता है?

gemfile में:

gem 'rack-mini-profiler' 

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

उदाहरण:

class UsersController < BaseController 
    def json_method 
    # you don't see the mini profiler ui for this controller 
    render json: { users: [:foo, :bar]} 
    end 
end 

अगर मैं localhost:3000/users/json_method के पास जाओ, मैं अपने json प्रतिक्रिया नहीं बल्कि प्रोफाइलर ui देखते हैं।

उत्तर

1

पहली बार एक समाधान के रूप में, तुम बस एचटीएमएल करने के लिए प्रारूप निर्धारित कर सकते हैं, और html पृष्ठ के अंदर प्रस्तुत करना:

नियंत्रक:

class UsersController < BaseController 
    def json_method 
    @users_json { users: [:foo, :bar]} 
    render 'index', formats: ['html'] 
    end 
end 

और अनुप्रयोग में/विचारों/उपयोगकर्ताओं/index.html .erb:

Users:<br/> 
<%= @json.inspect %> 

मैं अपने json परिणाम के बारे में इतना परवाह नहीं है, अब मैं रूपरेखा ui है।

एक समाधान जहां मेरे पास मेरे नियंत्रक को बदलने के बिना प्रोफाइलिंग ui है, वह बेहतर होगा।

14

विकास में, डिफ़ॉल्ट रूप से, रैक-मिनी-प्रोफाइलर मणि पिछले JSON कॉल एकत्र करता है और इसे HTML पृष्ठ से सुलभ मेनू में प्रस्तुत करता है। कोई कोड परिवर्तन आवश्यक है।

तो, अपना JSON अनुरोध करें, फिर किसी अन्य HTML पृष्ठ पर क्लिक करें और यह सूची में उपलब्ध होगा। हम इसका बहुत प्रभावशाली उपयोग करते हैं। यदि आपका रेल एप्लिकेशन केवल एक JSON एपीआई सेवा है, सुनिश्चित करें कि आप अपने सार्वजनिक फ़ोल्डर में एक 404.html में कम से कम है, तो जैसे कुछ हिट बनाने:

http://localhost/404.html 
+1

दो टैब खुले हैं। JSON कॉल करें, फिर उस पृष्ठ को रीफ्रेश करें जो JSON और voilà नहीं है, JSON कॉल शीर्ष के पास होगा। यह सबसे कुशल चीज नहीं है, लेकिन यह निश्चित रूप से काम करता है! –

3

यदि रैक मिनी प्रोफाइलर परिणाम प्रदर्शित नहीं कर सकता है, यह उन्हें तब तक एकत्रित करेगा जब तक कि यह अगले HTML पृष्ठ पर न हो। तो, मैं जिस समाधान का उपयोग कर रहा हूं वह है:

JSON अनुरोध और फिर मेरी पसंद का एक HTML पृष्ठ दबाएं। परिणाम हाल ही में एचटीएमएल प्रोफाइल के साथ दिखाई देंगे। JSON के लिए एक, किसी भी पृष्ठ है कि * * JSON नहीं है के लिए अन्य:

http://tech.eshaiju.in/blog/2016/02/25/profile-api-endpoints-using-rack-mini-profiler/

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