2012-09-13 5 views
42

मैं रेल में रैक मिनी प्रोफाइलर का उपयोग ठीक कर रहा हूं, लेकिन कुछ कोडिंग सत्रों के दौरान विशेष रूप से जहां मैं कई अलग-अलग क्लाइंट साइड कोड पर काम कर रहा हूं, यह रास्ते में आता है। (मुख्य रूप से मेरे क्लाइंट साइड डिबगिंग टूल नेटवर्क ग्राफ़ इत्यादि में)अस्थायी रूप से रैक-मिनी-प्रोफाइलर को अक्षम कैसे करें?

मैं इसे पहले फ़िल्टर के साथ बंद करने की कोशिश कर रहा हूं, यह भी देखता है कि उपयोगकर्ता प्रोफ़ाइल को देखने के लिए अधिकृत है या नहीं, लेकिन "प्राधिकृत करें "मेरे लिए कुछ भी प्रतीत नहीं होता है। यहाँ फिल्टर से पहले अपने कोड एक के रूप में कहा गया है:

def miniprofiler 
off = true 
if off || !current_user 
    Rack::MiniProfiler.deauthorize_request 
    return 
elsif current_user.role_symbols.include?(:view_page_profiles)  
    Rack::MiniProfiler.authorize_request 
    return 
end 
Rack::MiniProfiler.deauthorize_request 
end 

मुझे यह भी पता है कि वहाँ एक सेटिंग "रैक :: MiniProfiler.config.authorization_mode" है, लेकिन मैं डॉक्स क्या संभव सेटिंग नहीं है पर नहीं मिल रहा है, और नहीं देख यह कोड में प्रयोग किया जाता है? अभी यह मुझे बता रहा है: allow_all, लेकिन: allow_none कुछ भी नहीं करता है।

भले ही मैं केवल अस्थायी रूप से dev पर्यावरण फ़ाइल में एक मान सेट कर सकता हूं और सर्वर को पुनरारंभ कर सकता हूं, जो मेरे उद्देश्यों को पूरा करेगा।

उत्तर

78

नवीनतम और प्रकार:

http://mysite.com?pp=disable

जब आप प्रकार से किया जाता है

http://mysite.com?pp=enable

सभी विकल्प के लिए ?pp=help देखें:

 
Append the following to your query string: 

    pp=help : display this screen 
    pp=env : display the rack environment 
    pp=skip : skip mini profiler for this request 
    pp=no-backtrace : don't collect stack traces from all the SQL executed (sticky, use pp=normal-backtrace to enable) 
    pp=normal-backtrace (*) : collect stack traces from all the SQL executed and filter normally 
    pp=full-backtrace : enable full backtraces for SQL executed (use pp=normal-backtrace to disable) 
    pp=sample : sample stack traces and return a report isolating heavy usage (experimental works best with the stacktrace gem) 
    pp=disable : disable profiling for this session 
    pp=enable : enable profiling for this session (if previously disabled) 
    pp=profile-gc: perform gc profiling on this request, analyzes ObjectSpace generated by request (ruby 1.9.3 only) 
    pp=profile-gc-time: perform built-in gc profiling on this request (ruby 1.9.3 only) 
+0

उत्कृष्ट! सैम जोड़ने के लिए धन्यवाद! –

+0

महान काम करता है! एक बार फिर धन्यवाद। –

+0

@ डेवसैंडर्स कोई चिंता नहीं, http://community.miniprofiler.com –

21

आप भी कर सकते हैं टॉगल करने के लिए Alt+p का उपयोग करें।

+0

विशेष रूप से उपयोगी, जब 'start_hidden' विकल्प का उपयोग किया जाता है !! – Eero

2

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

Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| ENV['RACK_MINI_PROFILER'] == 'on'} 
तो आपके आवेदन नियंत्रक में

, एक before_filter जोड़ने कि पीपी परम

before_filter :activate_profiler 
def activate_profiler 
    ENV['RACK_MINI_PROFILER'] = 'on' if params['pp'] 
    ENV['RACK_MINI_PROFILER'] = 'off' if params['pp'] == 'disabled' 
end 

अपने वातावरण RACK_MINI_PROFILER शुरू में निर्धारित किया है नहीं होगा के लिए है, लेकिन आप इसे चालू करने के चाहते हैं, तो आप हमले कर सकते हैं? पीपी = अपने यूआरएल पर सक्षम होना चाहिए। फिर आप बाद में अक्षम कर सकते हैं (पीपी = अक्षम केवल वर्तमान सत्र के लिए इसे बंद कर देगा, लेकिन एनएनवी वैरिएबल को बंद करने से इसे पूरी तरह से मार दिया जाएगा जब तक आप इसे वापस मजबूर नहीं करते)।