[Jifty-commit] r6886 - in jifty/trunk/lib/Jifty/Plugin: .

Jifty commits jifty-commit at lists.jifty.org
Thu Apr 23 23:38:15 EDT 2009


Author: sartak
Date: Thu Apr 23 23:38:15 2009
New Revision: 6886

Modified:
   jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm
   jifty/trunk/lib/Jifty/Plugin/SQLQueries/View.pm

Log:
SQLQueries further display: bind parameters and stack traces

Modified: jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/SQLQueries.pm	Thu Apr 23 23:38:15 2009
@@ -58,7 +58,7 @@
 
     Jifty::View::Declare::Helpers::render_region(
         name => 'sqlqueries',
-        path => '/__jifty/admin/requests/query',
+        path => '/__jifty/admin/requests/queries',
         args => {
             id => $id,
         },

Modified: jifty/trunk/lib/Jifty/Plugin/SQLQueries/View.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/SQLQueries/View.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/SQLQueries/View.pm	Thu Apr 23 23:38:15 2009
@@ -3,17 +3,55 @@
 use warnings;
 use Jifty::View::Declare -base;
 
-template '/__jifty/admin/requests/query' => sub {
+template '/__jifty/admin/requests/queries' => sub {
     my $request_inspector = Jifty->find_plugin('Jifty::Plugin::RequestInspector');
     my $id = get('id');
     my $log = $request_inspector->get_plugin_data($id, 'Jifty::Plugin::SQLQueries');
 
     ol {
-        for (@$log) {
-            li { $_->[1] };
+        for (my $query_id = 0; $query_id < @$log; ++$query_id) {
+            my $query = $log->[$query_id][1];
+            li {
+                hyperlink(
+                    label => $query,
+                    onclick => {
+                        element   => "#query-$id-$query_id",
+                        replace_with => '/__jifty/admin/requests/query',
+                        toggle    => 1,
+                        effect    => 'slideDown',
+                        arguments => {
+                            id       => $id,
+                            query_id => $query_id,
+                        },
+                    },
+                );
+
+                div { attr { id is "query-$id-$query_id" } };
+            };
         }
     }
 };
 
+template '/__jifty/admin/requests/query' => sub {
+    my $request_inspector = Jifty->find_plugin('Jifty::Plugin::RequestInspector');
+    my $id       = get('id');
+    my $query_id = get('query_id');
+
+    my $log = $request_inspector->get_plugin_data($id, 'Jifty::Plugin::SQLQueries');
+
+    my $query_log = $log->[$query_id];
+
+    my ($timestamp, $query, $binds, $duration, $plugins) = @$query_log;
+    my $stack_trace = $plugins->{SQLQueryPlugin};
+
+    h3 { "Bind Parameters" }
+    ol {
+        li { $_ } for @$binds;
+    }
+
+    h3 { "Stack Trace" }
+    pre { $stack_trace }
+};
+
 1;
 


More information about the Jifty-commit mailing list