[Bio] / FigKernelPackages / Tracer.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Tracer.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.83, Fri Apr 27 22:13:57 2007 UTC revision 1.84, Thu May 3 12:28:00 2007 UTC
# Line 186  Line 186 
186  using the L</StandardScript> or L</StandardSetup> methods, emergency tracing  using the L</StandardScript> or L</StandardSetup> methods, emergency tracing
187  will be configured automatically.  will be configured automatically.
188    
189    NOTE: to configure emergency tracing from the command line instead of the Debugging
190    Control Panel (see below), use the C<trace.pl> script.
191    
192  =head3 Debugging Control Panel  =head3 Debugging Control Panel
193    
194  The debugging control panel provides several tools to assist in development of  The debugging control panel provides several tools to assist in development of
# Line 445  Line 448 
448                            noAlias => [0, "do not expect aliases in CHANGE transactions"],                            noAlias => [0, "do not expect aliases in CHANGE transactions"],
449                            start => [' ', "start with this genome"],                            start => [' ', "start with this genome"],
450                            tblFiles => [0, "output TBL files containing the corrected IDs"] },                            tblFiles => [0, "output TBL files containing the corrected IDs"] },
451                          "command transactionDirectory IDfile",                          "<command> <transactionDirectory> <IDfile>",
452                        @ARGV);                        @ARGV);
453    
454    
# Line 457  Line 460 
460    
461      TransactFeatures -trace=2 -noAlias register ../xacts IDs.tbl      TransactFeatures -trace=2 -noAlias register ../xacts IDs.tbl
462    
463    Single and double hyphens are equivalent. So, you could also code the
464    above command as
465    
466        TransactFeatures --trace=2 --noAlias register ../xacts IDs.tbl
467    
468  In this case, C<register>, C<../xacts>, and C<IDs.tbl> are the positional  In this case, C<register>, C<../xacts>, and C<IDs.tbl> are the positional
469  parameters, and would find themselves in I<@parameters> after executing the  parameters, and would find themselves in I<@parameters> after executing the
470  above code fragment. The tracing would be set to level 2, and the categories  above code fragment. The tracing would be set to level 2, and the categories
# Line 491  Line 499 
499  the tracing key is taken from the C<Tracing> environment variable. If there  the tracing key is taken from the C<Tracing> environment variable. If there
500  is no value for that variable, the tracing key will be computed from the PID.  is no value for that variable, the tracing key will be computed from the PID.
501    
502  Finally, if the special option C<-h> is specified, the option names will  Finally, if the special option C<-help> is specified, the option
503  be traced at level 0 and the program will exit without processing.  names will be traced at level 0 and the program will exit without processing.
504  This provides a limited help capability. For example, if the user enters  This provides a limited help capability. For example, if the user enters
505    
506      TransactFeatures -h      TransactFeatures -help
507    
508  he would see the following output.  he would see the following output.
509    
510      TransactFeatures [options] command transactionDirectory IDfile      TransactFeatures [options] <command> <transactionDirectory> <IDfile>
511          -trace    tracing level (default E)          -trace    tracing level (default E)
512          -sql      trace SQL commands          -sql      trace SQL commands
513          -safe     use database transactions          -safe     use database transactions
# Line 574  Line 582 
582          $options->{trace} = ['E', "tracing level (E for emergency tracing)"];          $options->{trace} = ['E', "tracing level (E for emergency tracing)"];
583      }      }
584      $options->{sql} = [0, "turn on SQL tracing"];      $options->{sql} = [0, "turn on SQL tracing"];
585      $options->{h} = [0, "display command-line options"];      $options->{help} = [0, "display command-line options"];
586      $options->{user} = [$tkey, "tracing key"];      $options->{user} = [$tkey, "tracing key"];
587      $options->{background} = [0, "spool standard and error output"];      $options->{background} = [0, "spool standard and error output"];
588      # Create a parsing hash from the options hash. The parsing hash      # Create a parsing hash from the options hash. The parsing hash
# Line 649  Line 657 
657      }      }
658      # Check for the "h" option. If it is specified, dump the command-line      # Check for the "h" option. If it is specified, dump the command-line
659      # options and exit the program.      # options and exit the program.
660      if ($retOptions->{h}) {      if ($retOptions->{help}) {
661          $0 =~ m#[/\\](\w+)(\.pl)?$#i;          $0 =~ m#[/\\](\w+)(\.pl)?$#i;
662          print "$1 [options] $parmHelp\n";          print "$1 [options] $parmHelp\n";
663          for my $key (sort keys %{$options}) {          for my $key (sort keys %{$options}) {
# Line 1286  Line 1294 
1294    
1295  C<< my ($options, @arguments) = ParseCommand({ errors => 0, logFile => 'trace.log'}, @words); >>  C<< my ($options, @arguments) = ParseCommand({ errors => 0, logFile => 'trace.log'}, @words); >>
1296    
1297  In this case, the list @words will be treated as a command line. There are two options available,  In this case, the list @words will be treated as a command line and there are two options available,
1298  B<errors> and B<logFile>. If @words has the following format  B<errors> and B<logFile>. If @words has the following format
1299    
1300  C<< -logFile=error.log apple orange rutabaga >>  C<< -logFile=error.log apple orange rutabaga >>
# Line 1300  Line 1308 
1308  C<< apple orange rutabaga >>  C<< apple orange rutabaga >>
1309    
1310  The parser allows for some escape sequences. See L</UnEscape> for a description. There is no  The parser allows for some escape sequences. See L</UnEscape> for a description. There is no
1311  support for quote characters.  support for quote characters. Options can be specified with single or double hyphens.
1312    
1313  =over 4  =over 4
1314    
# Line 1325  Line 1333 
1333      my ($optionTable, @inputList) = @_;      my ($optionTable, @inputList) = @_;
1334      # Process any options in the input list.      # Process any options in the input list.
1335      my %overrides = ();      my %overrides = ();
1336      while ((@inputList > 0) && ($inputList[0] =~ /^-/)) {      while ((@inputList > 0) && ($inputList[0] =~ /^--?/)) {
1337          # Get the current option.          # Get the current option.
1338          my $arg = shift @inputList;          my $arg = shift @inputList;
1339          # Pull out the option name.          # Pull out the option name.
1340          $arg =~ /^-([^=]*)/g;          $arg =~ /^--?([^=]*)/g;
1341          my $name = $1;          my $name = $1;
1342          # Check for an option value.          # Check for an option value.
1343          if ($arg =~ /\G=(.*)$/g) {          if ($arg =~ /\G=(.*)$/g) {
# Line 2290  Line 2298 
2298  This method converts an emergency tracing destination to a real  This method converts an emergency tracing destination to a real
2299  tracing destination. The main difference is that if the  tracing destination. The main difference is that if the
2300  destination is C<FILE> or C<APPEND>, we convert it to file  destination is C<FILE> or C<APPEND>, we convert it to file
2301  output.  output. If the destination is C<DUAL>, we convert it to file
2302    and standard output.
2303    
2304  =over 4  =over 4
2305    
# Line 2320  Line 2329 
2329          $retVal = ">" . EmergencyFileTarget($tkey);          $retVal = ">" . EmergencyFileTarget($tkey);
2330      } elsif ($myDest eq 'APPEND') {      } elsif ($myDest eq 'APPEND') {
2331          $retVal = ">>" . EmergencyFileTarget($tkey);          $retVal = ">>" . EmergencyFileTarget($tkey);
2332      } else {      } elsif ($myDest eq 'DUAL') {
2333          $retVal = $myDest;          $retVal = "+>" . EmergencyFileTarget($tkey);
2334      }      }
2335      # Return the result.      # Return the result.
2336      return $retVal;      return $retVal;
# Line 2331  Line 2340 
2340    
2341  C<< Emergency($key, $hours, $dest, $level, @modules); >>  C<< Emergency($key, $hours, $dest, $level, @modules); >>
2342    
2343  Turn on emergency tracing. This method can only be invoked over the web and is  Turn on emergency tracing. This method is normally invoked over the web from
2344  should not be called if debug mode is off. The caller specifies the duration of the  a debugging console, but it can also be called by the C<trace.pl> script.
2345  emergency in hours, the desired tracing destination, the trace level,  The caller specifies the duration of the emergency in hours, the desired tracing
2346  and a list of the trace modules to activate. For the length of the duration, when a  destination, the trace level, and a list of the trace modules to activate.
2347  program in an environment with the specified tracing key active invokes a Sprout  For the length of the duration, when a program in an environment with the
2348  CGI script, tracing will be turned on automatically. See L</TSetup> for more  specified tracing key active invokes a Sprout CGI script, tracing will be
2349  about tracing setup and L</ETracing> for more about emergency tracing.  turned on automatically. See L</TSetup> for more about tracing setup and
2350    L</ETracing> for more about emergency tracing.
2351    
2352  =over 4  =over 4
2353    

Legend:
Removed from v.1.83  
changed lines
  Added in v.1.84

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3