add profiling to a file OOM situations, RT#4830
authorivan <ivan>
Thu, 19 Feb 2009 06:42:45 +0000 (06:42 +0000)
committerivan <ivan>
Thu, 19 Feb 2009 06:42:45 +0000 (06:42 +0000)
httemplate/autohandler
httemplate/pref/pref-process.html
httemplate/pref/pref.html

index ee37934..3a24417 100644 (file)
@@ -17,16 +17,22 @@ if ( UNIVERSAL::can(dbh, 'sprintProfile') ) {
     #eval "use Text::Wrapper;";
     #die $@ if $@;
 
-    my $wrapper = new Text::Wrapper( columns => 80 );
     my $text = dbh->sprintProfile();
-    #my $text = $wrapper->wrap( dbh->sprintProfile() );
-    $text =~ s/^/                                                          /mg;
-    
-    $profile = '<PRE>'.
-               encode_entities( $text ).
-               #"\n\n". &sprintAutoProfile(). '</PRE>';
-               "\n\n".                        '</PRE>';
-  } 
+    #$text =~ s/^/                                                          /mg;
+
+    $profile = '<PRE>'.  encode_entities( $text ). "\n\n". '</PRE>';
+
+  }
+
+  #well, could do this without sprintProfile, but definiately don't want it on
+  #unless DBIx::Profile is loaded
+  if ( $FS::CurrentUser::CurrentUser->option('save_db_profile') ) {
+    #my $file = %%%FREESIDE_LOG%%%; #substitute here?  maybe get from FS.pm?
+    my $file = '/usr/local/etc/freeside/'; #bah
+    $file .= "dbix_profile..$$.". time;
+    dbh->setLogFile($file);
+    dbh->printProfile();
+  }
 
   dbh->{'private_profile'} = {};
 }
index 4662189..9661516 100644 (file)
@@ -33,7 +33,7 @@
 % my @paramlist = qw( menu_position
 %                     email_address
 %                     vonage-fromnumber vonage-username vonage-password
-%                     show_pkgnum show_db_profile
+%                     show_pkgnum show_db_profile save_db_profile
 %                     height width availHeight availWidth colorDepth
 %                   );
 %
index 44b8448..57e22b3 100644 (file)
@@ -68,6 +68,10 @@ Development
     <TH>Show database profiling (when available): </TH>
     <TD><INPUT TYPE="checkbox" NAME="show_db_profile" VALUE="1" <% $curuser->option('show_db_profile') ? 'CHECKED' : '' %>></TD>
   </TR>
+  <TR>
+    <TH>Save database profiling logs (when available): </TH>
+    <TD><INPUT TYPE="checkbox" NAME="save_db_profile" VALUE="1" <% $curuser->option('save_db_profile') ? 'CHECKED' : '' %>></TD>
+  </TR>
 
 </TABLE>
 <BR>