Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Latest commit bb60d87
Feb 8, 2011
|Failed to load latest commit information.|
QueryReviewer ============= QueryReviewer is an advanced SQL query analyzer. It accomplishes the following goals: * View all EXPLAIN output for all SELECT queries to generate a page (and optionally SHOW PROFILE ALL) * Rate a page's SQL usage into one of three categories: OK, WARNING, CRITICAL * Attach meaningful warnings to individual queries, and collections of queries * Display interactive summary on page All you have to do is install it. You can optionally run: rake query_reviewer:setup Which will create config/query_reviewer.yml, see below for what these options mean. If you don't have a config file, the plugin will use the default in vendor/plugins/query_reviewer. Configuration ============= The configuration file allows you to set configuration parameters shared across all rails environment, as well as overriding those shared parameteres with environment-specific parameters (such as disabling analysis on production!) * enabled: whether any output or query analysis is performed. Set this false in production! * inject_view: controls whether the output automatically is injected before the </body> in HTML output. * profiling: when enabled, runs the MySQL SET PROFILING=1 for queries longer than the warn_duration_threshold / 2.0 * production_data: whether the duration of a query should be taken into account (if you don't have real data, don't let query duration effect you!) * stack_trace_lines: number of lines of call stack to include in the "short" version of the stack trace * trace_includes_vendor: whether the "short" verison of the stack trace should include files in /vendor * trace_includes_lib: whether the "short" verison of the stack trace should include files in /lib * warn_severity: the severity of problem that merits "WARNING" status * critical_severity: the severity of problem that merits "CRITICAL" status * warn_query_count: the number of queries in a single request that merits "WARNING" status * critical_query_count: the number of queries in a single request that merits "CRITICAL" status * warn_duration_threshold: how long a query must take in seconds (float) before it's considered "WARNING" * critical_duration_threshold: how long a query must take in seconds (float) before it's considered "CRITICIAL" Example ======= If you disable the inject_view option, you'll need to manually put the analyzer's output into your view: <%= query_review_output %> Copyright (c) 2007-2008 Kongregate & David Stevenson, released under the MIT license