[padb-devel] [padb] r134 committed - The {nailing_my_colours_to_the_mast} commit. I've decided that hash...

codesite-noreply at google.com codesite-noreply at google.com
Sun Aug 23 11:01:00 BST 2009


Revision: 134
Author: apittman
Date: Sun Aug 23 03:00:38 2009
Log: The {nailing_my_colours_to_the_mast} commit.  I've decided that hash
keys are better not quoted so don't quote any of them.  This means
replacing all instances of dash with underscore and a lot of fiddling
when loading and reporting these options to the user.  A wide ranging
and potentially error prone commit however it does make the code
more readable as a result.

http://code.google.com/p/padb/source/detail?r=134

Modified:
  /trunk/src/padb

=======================================
--- /trunk/src/padb	Sat Aug 22 11:05:12 2009
+++ /trunk/src/padb	Sun Aug 23 03:00:38 2009
@@ -263,11 +263,11 @@
  my $secret;

  # Config options the inner knows about, only forward options if they are  
in this list.
-my @inner_conf = qw(edb edbopt minfo rmgr scripts slurm-job-step verbose);
+my @inner_conf = qw(edb edbopt minfo rmgr scripts slurm_job_step verbose);

  # More config options the inner knows about, these are forwarded on the  
command line
  # rather than over the sockets.
-my @inner_conf_cmd = qw(port-range);
+my @inner_conf_cmd = qw(port_range outer);

   
###############################################################################
  #
@@ -380,20 +380,20 @@
  my $rem_jobid;

  # Debug options.
-$conf{"verbose"}  = 0;
-$conf{"dump-raw"} = 0;
+$conf{verbose}  = 0;
+$conf{dump_raw} = 0;

  # Valid values are "none" "missing" or "all".  Anything not recognised
  # is treated as "all".
-$conf{"check-signon"} = "all";
+$conf{check_signon} = "all";

  # Output options.
-$conf{"interval"}            = 10;
-$conf{"watch-clears-screen"} = 1;
-$conf{"scripts"}             = "bash,sh,dash,ash,perl,xterm";
-$conf{"lsf-job-offset"}      = 1;
-$conf{"local-fd-name"}       = "/dev/null";
-$conf{"inner-callback"}      = 0;
+$conf{interval}            = 10;
+$conf{watch_clears_screen} = 1;
+$conf{scripts}             = "bash,sh,dash,ash,perl,xterm";
+$conf{lsf_job_offset}      = 1;
+$conf{local_fd_name}       = "/dev/null";
+$conf{inner_callback}      = 0;

  # These two are used by deadlock and QsNet group
  # code, they need migrating in the group code
@@ -402,20 +402,20 @@
  #$conf{"show-all-groups"}     = 0;

  # Tuning options.
-$conf{"prun-timeout"}     = 120;
-$conf{"prun-exittimeout"} = 120;
-$conf{"rmgr"}             = "auto";
-
-$conf{"slurm-job-step"} = 0;
+$conf{prun_timeout}     = 120;
+$conf{prun_exittimeout} = 120;
+$conf{rmgr}             = "auto";
+
+$conf{slurm_job_step} = 0;

  # These settings are passed onto inner only.
-$conf{"edbopt"} = "";
-
-$conf{"edb"}   = find_edb();
-$conf{"minfo"} = find_minfo();
+$conf{edbopt} = "";
+
+$conf{edb}   = find_edb();
+$conf{minfo} = find_minfo();

  # Option to define a list of ports used by padb.
-$conf{"port-range"} = undef;
+$conf{port_range} = undef;

  my $norc       = 0;
  my $configfile = "/etc/padb.conf";
@@ -821,7 +821,7 @@
      my $toshow;
      foreach my $counter ( sort keys %{$d} ) {

-        if ( $d->{$counter}{raw}[0] != 0 or $conf{"show-all-stats"} ) {
+        if ( $d->{$counter}{raw}[0] != 0 or $conf{show_all_stats} ) {
              if ( defined $toshow ) {
                  $ret .=
  "  Counter: '$d->{$toshow}{name}'  
= '$d->{$toshow}{raw}[0]','$d->{$counter}{name}'  
= '$d->{$counter}{raw}[0]'\n";
@@ -870,7 +870,7 @@

      my $ret = "";
      foreach my $tally ( sort keys %{$d} ) {
-        if ( $d->{$tally}{raw}[0] or $conf{"show-all-stats"} ) {
+        if ( $d->{$tally}{raw}[0] or $conf{show_all_stats} ) {
              $ret .= sprintf(
                  "%16s: Total: %d Active: %d HWM: %d\n",
                  $d->{$tally}{name},   $d->{$tally}{raw}[0],
@@ -888,7 +888,7 @@
      foreach my $bin ( sort keys %{$d} ) {

          if (   $d->{$bin}{raw}[0] || $d->{$bin}{raw}[34]
-            or $conf{"show-all-stats"} )
+            or $conf{show_all_stats} )
          {
              my $total = $d->{$bin}{raw}[34];
              my $scale = 0;
@@ -904,7 +904,7 @@

              my @vals;
              for ( my $j = 0 ; $j < 32 ; $j++ ) {
-                if ( $d->{$bin}{raw}[$j] or $conf{"show-all-stats"} > 1 ) {
+                if ( $d->{$bin}{raw}[$j] or $conf{show_all_stats} > 1 ) {
                      push(
                          @vals,
                          sprintf( "%9s: %10d",
@@ -1459,7 +1459,7 @@
  sub read_stats {
      my @data = @_;

-    printf Dumper \@data if $conf{"dump-raw"};
+    printf Dumper \@data if $conf{dump_raw};

      my $header = parse_header( shift @data );

@@ -1473,7 +1473,7 @@
          }
      }

-    printf Dumper \@out if $conf{"dump-raw"};
+    printf Dumper \@out if $conf{dump_raw};

      return \@out;
  }
@@ -1498,7 +1498,7 @@

      if ($stats_total) {

-        if ( $conf{"stats-short"} ) {
+        if ( $conf{stats_short} ) {
              my $new;
              if ( $#ranks != -1 ) {
                  my @ret;
@@ -1515,22 +1515,21 @@
                  $new = summarise_many($d);
              }

-            display_hashes( $new, $conf{"stats-sort-key"},
-                $conf{"stats-reverse"} );
+            display_hashes( $new, $conf{stats_sort_key},  
$conf{stats_reverse} );
              return;
          }

          if ( $#ranks != -1 ) {
              foreach my $rank (@ranks) {
                  if ( defined $d->[$rank] ) {
-                    print show_name $conf{"stats-name"}, $d->[$rank];
+                    print show_name $conf{stats_name}, $d->[$rank];
                  } else {
                      my $vps = $#{$d} + 1;
                      print "Invalid rank $rank (0 to $vps)\n";
                  }
              }
          } else {
-            print show_name $conf{"stats-name"}, total($d);
+            print show_name $conf{stats_name}, total($d);
          }
      }

@@ -1612,7 +1611,7 @@
                      $ad{$gid}{size} =
                        $this_group->{statistics}{Attribute}{Size}{raw}[0];
                      $ad{$gid}{map}[$ident] = $dataset->{vp}
-                      if ( $conf{"show-group-members"} );
+                      if ( $conf{show_group_members} );
                  }

                  $ad{$gid}{idents}{$ident}{'statistics'}++;
@@ -1651,7 +1650,7 @@

          # Maybe show the group members, hope that the user doesn't turn
          # this on unless also setting target_groups!
-        if ( $conf{"show-group-members"} ) {
+        if ( $conf{show_group_members} ) {
              $gstr .= "group has $ad{$gid}{size} members\n";
              if ( defined $ad{$gid}{size} and $gid != 1 ) {
                  for ( my $ident = 0 ; $ident < $ad{$gid}{size} ; $ident++  
) {
@@ -1670,7 +1669,7 @@
                  }
              }
              if ( $#invalid != -1 ) {
-                if ( $conf{"show-all-groups"} ) {
+                if ( $conf{show_all_groups} ) {
                      $ret .= $gstr
                        . group_status_helper( "showing the group as  
removed",
                          0, $ad{$gid}{size}, @invalid );
@@ -1693,7 +1692,7 @@
              }
              if ( $#identical != -1 ) {
                  $missing_self++;
-                if ( $conf{"show-all-groups"} ) {
+                if ( $conf{show_all_groups} ) {
                      $ret .= $gstr
                        . group_status_helper(
                          "no statistics for this group *(1)",
@@ -1740,7 +1739,7 @@
                  }
              }
          } else {
-            next unless ( $conf{"show-all-groups"} );
+            next unless ( $conf{show_all_groups} );
          }

          {
@@ -2127,12 +2126,12 @@
      # Try to prevent zombie jobs, fairly rare but I have seen
      # nodes run different versions of edb which can cause problems
      # XXX: Fixme.  This isn't high enough.
-    if ( $conf{"prun-exittimeout"} != 0 ) {
-        $ENV{"RMS_EXITTIMEOUT"} = $conf{"prun-exittimeout"};
+    if ( $conf{prun_exittimeout} != 0 ) {
+        $ENV{"RMS_EXITTIMEOUT"} = $conf{prun_exittimeout};
      }

-    if ( $conf{"prun-timeout"} != 0 ) {
-        $ENV{"RMS_TIMELIMIT"} = $conf{"prun-timeout"};
+    if ( $conf{prun_timeout} != 0 ) {
+        $ENV{"RMS_TIMELIMIT"} = $conf{prun_timeout};
      }

      {
@@ -2177,7 +2176,7 @@
          $ncpus += $n[$idx] * $c[$idx];
      }

-    printf("extracted $ncpus from $cpus and $nodes\n") if $conf{"verbose"}  
> 1;
+    printf("extracted $ncpus from $cpus and $nodes\n") if $conf{verbose} >  
1;

      return $ncpus;
  }
@@ -2210,7 +2209,7 @@
  # processes we are going to be looking for.
  sub slurm_job_to_ncpus {
      my $job   = shift;
-    my $s     = "$job." . $conf{"slurm-job-step"};
+    my $s     = "$job." . $conf{slurm_job_step};
      my @steps = `squeue -s $s -o "%i %A" 2>/dev/null`;
      return undef if ( $? != 0 );

@@ -2248,7 +2247,7 @@
  # This functions isn't used currently.
  sub slurm_job_to_nodelist {
      my $job   = shift;
-    my $s     = "$job." . $conf{"slurm-job-step"};
+    my $s     = "$job." . $conf{slurm_job_step};
      my @steps = `squeue -s $s -o "%i %N" 2>/dev/null`;
      return undef if ( $? != 0 );

@@ -2343,7 +2342,7 @@

  sub local_fd_get_jobs {
      my $user = shift;
-    return local_fd_get_jobs_real( $user, $conf{"local-fd-name"} );
+    return local_fd_get_jobs_real( $user, $conf{local_fd_name} );
  }

  sub local_q_is_installed {
@@ -2525,10 +2524,6 @@
          }

      }
-
-    #if ( $conf{"verbose"} ) {
-    #print Dumper \%open_jobs;
-    #}
  }

  sub open_get_jobs {
@@ -2624,7 +2619,7 @@

      my $rjob;

-    my $idx = $conf{"lsf-job-offset"};
+    my $idx = $conf{lsf_job_offset};
      $idx = 1 if ( $idx > $#out );
      $rjob = $out[$idx];
      chomp $rjob;
@@ -2642,13 +2637,13 @@
   
###############################################################################

  sub setup_rmgr {
-    $conf{"rmgr"} = shift;
+    $conf{rmgr} = shift;

      # Now setup the variable for the rest of the program.
-    if ( defined $rmgr{ $conf{"rmgr"} }{inner_rmgr} ) {
-        $cinner{rmgr} = $rmgr{ $conf{"rmgr"} }{inner_rmgr};
+    if ( defined $rmgr{ $conf{rmgr} }{inner_rmgr} ) {
+        $cinner{rmgr} = $rmgr{ $conf{rmgr} }{inner_rmgr};
      } else {
-        $cinner{rmgr} = $conf{"rmgr"};
+        $cinner{rmgr} = $conf{rmgr};
      }
  }

@@ -2657,19 +2652,19 @@
  # If it's been set on the command line and it's valid then just use what  
we are given.
  # Do sanity checks here but only warn on the result to cope with  
non-default installs.

-    if ( defined $rmgr{ $conf{"rmgr"} } ) {
-        if ( defined $rmgr{ $conf{"rmgr"} }{is_installed}
-            and not $rmgr{ $conf{"rmgr"} }{is_installed}() )
+    if ( defined $rmgr{ $conf{rmgr} } ) {
+        if ( defined $rmgr{ $conf{rmgr} }{is_installed}
+            and not $rmgr{ $conf{rmgr} }{is_installed}() )
          {
              printf(
  "Warning: Selected resource manager $conf{rmgr} does not appear to be  
installed\n"
              );
          }
-        setup_rmgr( $conf{"rmgr"} );
+        setup_rmgr( $conf{rmgr} );
          return;
      }

-    if ( $conf{"rmgr"} ne "auto" ) {
+    if ( $conf{rmgr} ne "auto" ) {
          printf("Error, resource manager \"$conf{rmgr}\" not supported\n");
          exit(1);
      }
@@ -2704,19 +2699,19 @@
  # If it's been set on the command line and it's valid then just use what  
we are given.
  # Do sanity checks here but only warn on the result to cope with  
non-default installs.

-    if ( defined $rmgr{ $conf{"rmgr"} } ) {
-        if ( defined $rmgr{ $conf{"rmgr"} }{is_installed}
-            and not $rmgr{ $conf{"rmgr"} }{is_installed}() )
+    if ( defined $rmgr{ $conf{rmgr} } ) {
+        if ( defined $rmgr{ $conf{rmgr} }{is_installed}
+            and not $rmgr{ $conf{rmgr} }{is_installed}() )
          {
              printf(
  "Warning: Selected resource manager $conf{rmgr} does not appear to be  
installed\n"
              );
          }
-        setup_rmgr( $conf{"rmgr"} );
+        setup_rmgr( $conf{rmgr} );
          return;
      }

-    if ( $conf{"rmgr"} ne "auto" ) {
+    if ( $conf{rmgr} ne "auto" ) {
          printf("Error, resource manager \"$conf{rmgr}\" not supported\n");
          exit(1);
      }
@@ -2775,17 +2770,17 @@
  sub get_all_jobids {
      my $user = shift;
      debug_log( "rmgr", undef, "Loading active jobs list" );
-    return $rmgr{ $conf{"rmgr"} }{get_active_jobs}($user);
+    return $rmgr{ $conf{rmgr} }{get_active_jobs}($user);
  }

  sub job_is_running {
      my $job = shift;

-    if ( defined $rmgr{ $conf{"rmgr"} }{job_is_running} ) {
-        return $rmgr{ $conf{"rmgr"} }{job_is_running}($job);
+    if ( defined $rmgr{ $conf{rmgr} }{job_is_running} ) {
+        return $rmgr{ $conf{rmgr} }{job_is_running}($job);
      }

-    my @jobs = $rmgr{ $conf{"rmgr"} }{get_active_jobs}($user);
+    my @jobs = $rmgr{ $conf{rmgr} }{get_active_jobs}($user);
      my %j;
      map { $j{$_}++ } @jobs;
      return defined $j{$job};
@@ -2794,8 +2789,8 @@
  sub job_to_key {
      my $job = shift;

-    if ( defined $rmgr{ $conf{"rmgr"} }{job_to_key} ) {
-        return $rmgr{ $conf{"rmgr"} }{job_to_key}($job);
+    if ( defined $rmgr{ $conf{rmgr} }{job_to_key} ) {
+        return $rmgr{ $conf{rmgr} }{job_to_key}($job);
      }

      return undef;
@@ -2803,13 +2798,13 @@

  sub setup_pcmd {
      my $job = shift;
-    return $rmgr{ $conf{"rmgr"} }{setup_pcmd}($job);
+    return $rmgr{ $conf{rmgr} }{setup_pcmd}($job);
  }

  sub cleanup_pcmd {
      my $job = shift;
-    if ( defined( $rmgr{ $conf{"rmgr"} }{cleanup_pcmd} ) ) {
-        $rmgr{ $conf{"rmgr"} }{cleanup_pcmd}();
+    if ( defined( $rmgr{ $conf{rmgr} }{cleanup_pcmd} ) ) {
+        $rmgr{ $conf{rmgr} }{cleanup_pcmd}();
      }
  }

@@ -2826,9 +2821,9 @@
      my %below;

      map { $above{$_}++ }
-      split( ",", $conf{mode_options}{stack}{"stack-strip-above"} );
+      split( ",", $conf{mode_options}{stack}{stack_strip_above} );
      map { $below{$_}++ }
-      split( ",", $conf{mode_options}{stack}{"stack-strip-below"} );
+      split( ",", $conf{mode_options}{stack}{stack_strip_below} );

      foreach my $tag ( keys %$lines ) {

@@ -2862,7 +2857,7 @@
              printf( "Stripping 0.."
                    . $#{ $lines->{$tag} }
                    . " to $start..$end for $tag\n" )
-              if $conf{"verbose"} > 1;
+              if $conf{verbose} > 1;

              my @new = @{ $lines->{$tag} };
              @new = @new[ $start .. $end ];
@@ -2876,7 +2871,7 @@
      my $key  = shift;
      my @all  = @_;

-    if ( $carg->{"reverse-sort-order"} ) {
+    if ( $carg->{reverse_sort_order} ) {
          return ( reverse( sort { $a->{$key} <=> $b->{$key} } @all ) );
      } else {
          return ( sort { $a->{$key} <=> $b->{$key} } @all );
@@ -2921,7 +2916,7 @@
      my %proc_format_lengths;
      my %proc_header_reverse;

-    my $separator = $carg->{"column-seperator"};
+    my $separator = $carg->{column_seperator};

      my @columns = split( ",", $carg->{"proc-format"} );
      foreach my $column (@columns) {
@@ -2967,13 +2962,13 @@
      }

      # Allow sort keys to be based on column names as well as real keys.
-    my $key = lc( $carg->{"proc-sort-key"} );
+    my $key = lc( $carg->{proc_sort_key} );
      if ( defined $proc_header_reverse{$key} ) {
          $key = $proc_header_reverse{$key};
      }
      @all = sort_proc_hashes( $carg, $key, @all );

-    if ( $carg->{"proc-show-header"} ) {
+    if ( $carg->{proc_show_header} ) {
          my @res;
          foreach my $key (@proc_format_array) {
              my $l .= sprintf( "%-$proc_format_lengths{$key}s",
@@ -2983,7 +2978,7 @@
          my $line = join( $separator, @res );
          print "$line\n";
      }
-    my $count = $carg->{"nprocs-output"};
+    my $count = $carg->{nprocs_output};
      foreach my $hash (@all) {
          my @res;
          foreach my $key (@proc_format_array) {
@@ -3005,7 +3000,7 @@
  sub show_results {
      my ( $nlines, $mode, $handle ) = @_;

-    printf Dumper $nlines if $conf{"dump-raw"};
+    printf Dumper $nlines if $conf{dump_raw};

      my $lines = $nlines->{lines};

@@ -3196,7 +3191,7 @@

  sub maybe_clear_screen {
      return unless $watch;
-    if ( $conf{"watch-clears-screen"} ) {
+    if ( $conf{watch_clears_screen} ) {
          printf( "%s", " \033[1;1H" );
          printf( "%s", "\033[2J" );
      }
@@ -3336,8 +3331,6 @@
  sub push_command {
      my ( $mode, $out_format, $args ) = @_;

-    # $args = $conf{mode_options}{$mode};
-
      my %cmd;
      $cmd{mode}       = $mode;
      $cmd{out_format} = $out_format if defined($out_format);
@@ -3419,7 +3412,7 @@

  sub check_signon {
      my ( $comm_data, $data ) = @_;
-    return if ( $conf{"check-signon"} eq "none" );
+    return if ( $conf{check_signon} eq "none" );
      my @missing;
      my %target_state;
      my %target_exe;
@@ -3434,7 +3427,7 @@
      if ( $#missing != -1 ) {
          printf( "Warning, failed to locate ranks %s\n", compress(@missing)  
);
      }
-    return if ( $conf{"check-signon"} eq "missing" );
+    return if ( $conf{check_signon} eq "missing" );
      my $exe_count = keys(%target_exe);
      if ( $exe_count != 1 ) {
          printf("Warning, remote process name differs across ranks\n");
@@ -3688,19 +3681,21 @@
      my $comm_data;

      my $sel = IO::Select->new();
-    if ( $conf{"inner-callback"} ) {
-        my $sl = create_local_port( $conf{"port-range"} );
+    if ( $conf{inner_callback} ) {
+        my $sl = create_local_port( $conf{port_range} );

          $comm_data->{listen} = $sl;
          my $port     = $sl->sockport();
          my $hostname = hostname();
-        $cmd .= " --outer=$hostname:$port";
+        config_set_internal( "outer", "$hostname:$port" );
          $sel->add($sl);

          my %cdata;
          $cdata{event_cb} = \&handle_event_from_port;
          $comm_data->{sockets}{$sl} = \%cdata;
      }
+
+    map { $cmd .= " --$_=\"$cinner_cmd{$_}\"" } keys(%cinner_cmd);

      debug_log( "show-cmd", undef, $cmd );

@@ -3780,7 +3775,7 @@
          );
      }
      printf("result from parallel command is $res  
(state=$comm_data->{state})\n")
-      if ( $conf{"verbose"} );
+      if ( $conf{verbose} );

      if ( $res != 0 ) {
          my %status = rc_status($res);
@@ -3832,10 +3827,10 @@
      if ( defined $rmgr{ $conf{rmgr} }{require_inner_callback}
          and $rmgr{ $conf{rmgr} }{require_inner_callback} )
      {
-        $conf{"inner-callback"} = 1;
+        $conf{inner_callback} = 1;
      }

-    if ( $conf{"inner-callback"} ) {
+    if ( $conf{inner_callback} ) {
          $secret = find_padb_secret();

          if ( not defined $secret ) {
@@ -3845,7 +3840,7 @@

      }

-    $conf{"verbose"} && print "Attaching to job $jobid\n";
+    $conf{verbose} && print "Attaching to job $jobid\n";

      $rem_jobid = $jobid;

@@ -3861,8 +3856,8 @@
      my $ncpus = $res[1];
      my $hosts = $res[2];

-    $conf{"verbose"} && defined $ncpus && print "Job has $ncpus  
processe(s)\n";
-    $conf{"verbose"} && defined $hosts && print "Job spans $hosts  
host(s)\n";
+    $conf{verbose} && defined $ncpus && print "Job has $ncpus  
process(es)\n";
+    $conf{verbose} && defined $hosts && print "Job spans $hosts host(s)\n";

      debug_log( "verbose", undef, "There are %d processes over %d hosts",
          $ncpus, $hosts );
@@ -3888,8 +3883,6 @@
      $cmd .= " $0 --inner";

      #}
-
-    map { $cmd .= " --$_=\"$cinner_cmd{$_}\"" } keys(%cinner_cmd);

      if ( not defined $hosts ) {
          printf("Full duplex mode needs to know the host count\n");
@@ -3921,15 +3914,8 @@
      map { $ic_names_cmd{$_}++ } @inner_conf_cmd;
  }

-sub config_set {
+sub config_set_internal {
      my ( $key, $value ) = @_;
-    printf("Setting '$key' to '$value'\n") if ( $conf{"verbose"} );
-
-    if ( !exists $conf{$key} and !exists $conf{mode_options_reverse}{$key}  
) {
-        printf( STDERR
-              "Warning, unknown config option '$key' value '$value'.\n" );
-    }
-
      if ( exists $conf{$key} ) {
          $conf{$key} = $value;
      } else {
@@ -3946,19 +3932,31 @@
      if ( defined $ic_names_cmd{$key} ) {
          $cinner_cmd{$key} = $value;
      }
-
+}
+
+sub config_set {
+    my ( $key, $value ) = @_;
+    printf("Setting '$key' to '$value'\n") if ( $conf{verbose} );
+
+    if ( !exists $conf{$key} and !exists $conf{mode_options_reverse}{$key}  
) {
+        printf( STDERR
+              "Warning, unknown config option '$key' value '$value'.\n" );
+    }
+
+    config_set_internal( $key, $value );
  }

  sub config_from_file {
      my $file = shift;

-    printf("Loading config from \"$file\"\n") if ( $conf{"verbose"} );
+    printf("Loading config from \"$file\"\n") if ( $conf{verbose} );
      open( CFILE, $file ) or return;

      while (<CFILE>) {
          if (/^([\w-]+)\s*\=\s*(.*)/) {
              my $key   = $1;
              my $value = $2;
+            $key =~ s/\-/\_/g;
              config_set( $key, $value );
          }
      }
@@ -3967,21 +3965,21 @@
  }

  sub config_from_env {
-    printf("Loading config from environment\n") if ( $conf{"verbose"} );
+    printf("Loading config from environment\n") if ( $conf{verbose} );

      foreach my $key ( keys(%conf) ) {
-        my $name = uc($key);
-        $name =~ s/\-/\_/g;
-        if ( defined $ENV{"PADB_$name"} ) {
-            config_set( $key, $ENV{"PADB_$name"} );
+        $key =~ s/\-/\_/g;
+        my $name = "PADB_" . uc($key);
+        if ( defined $ENV{$name} ) {
+            config_set( $key, $ENV{$name} );
          }
      }

      foreach my $key ( keys( %{ $conf{mode_options_reverse} } ) ) {
-        my $name = uc($key);
-        $name =~ s/\-/\_/g;
-        if ( defined $ENV{"PADB_$name"} ) {
-            config_set( $key, $ENV{"PADB_$name"} );
+        $key =~ s/\-/\_/g;
+        my $name = "PADB_" . uc($key);
+        if ( defined $ENV{$name} ) {
+            config_set( $key, $ENV{$name} );
          }
      }
  }
@@ -4012,13 +4010,15 @@
      foreach my $mode ( sort( keys( %{ $conf{mode_options} } ) ) ) {
          printf("\nOptions for mode '$allfns{$mode}{arg_long}'\n");
          foreach my $key ( sort( keys( %{ $conf{mode_options}{$mode} } ) )  
) {
+            my $name = $key;
+            $name =~ s/\_/\-/g;
              if ( defined $conf{mode_options}{$mode}{$key} ) {
                  printf(
                      " %$max_len" . "s  
= '$conf{mode_options}{$mode}{$key}'\n",
-                    $key
+                    $name
                  );
              } else {
-                printf( " %$max_len" . "s = undef\n", $key );
+                printf( " %$max_len" . "s = undef\n", $name );

              }
          }
@@ -4044,7 +4044,7 @@

      config_from_env();

-    printf("Loading config from command line\n") if ( $conf{"verbose"} );
+    printf("Loading config from command line\n") if ( $conf{verbose} );

      #
      # Once again there is a 'bugette' here, you cant pass the
@@ -4055,19 +4055,21 @@
      # -Oedbopt="--pagesize 8192 --pagesize-header 4096"
      foreach my $config_option (@config_options) {

-        my ( $name, $val ) = split( "=", $config_option );
-
-        # $name =~ s/\-/\_/g;
-
-        if ( $name eq "scriptDir" ) {
+        my ( $key, $val ) = split( "=", $config_option );
+
+        my $name = $key;
+
+        $key =~ s/\-/\_/g;
+
+        if ( $key eq "scriptDir" ) {
              printf(
  "$prog: -OscriptDir deprecated, use -Oedb=/path/to/edb instead\n"
              );
              exit(1);
          }

-        if (    !exists $conf{$name}
-            and !exists $conf{mode_options_reverse}{$name} )
+        if (    !exists $conf{$key}
+            and !exists $conf{mode_options_reverse}{$key} )
          {
              printf("Error, unknown config option '$name'\n");
              config_help();
@@ -4078,7 +4080,7 @@
              config_help();
              exit(1);
          }
-        config_set( $name, $val );
+        config_set( $key, $val );
      }

      if ($list_rmgrs) {
@@ -4180,7 +4182,7 @@
              while (1) {
                  maybe_clear_screen();
                  local_stats();
-                sleep( $conf{"interval"} );
+                sleep( $conf{interval} );
              }
          } else {
              local_stats();
@@ -4253,7 +4255,7 @@

          @jobids = get_all_jobids($user);
          printf( "Active jobs (%d) are @jobids\n", $#jobids + 1 )
-          if $conf{"verbose"};
+          if $conf{verbose};
          if ( $#jobids == -1 ) {
              printf("No active jobs could be found for user '$user'\n");
              exit 1;
@@ -4282,7 +4284,7 @@
      foreach my $jobid (@jobids) {

          printf "\nCollecting information for job '$jobid'\n\n"
-          if ( $conf{"verbose"} or ( $#jobids > 0 ) );
+          if ( $conf{verbose} or ( $#jobids > 0 ) );

          if ( defined $allfns{$mode}{pre_out_handler} ) {
              $allfns{$mode}{pre_out_handler}();
@@ -4312,7 +4314,7 @@

  sub debug {
      my ( $vp, $str ) = @_;
-    $confInner{"verbose"} or return;
+    $confInner{verbose} or return;
      $vp = -1 unless defined $vp;
      print "$confInner{hostname}.$vp:$str\n";

@@ -4343,7 +4345,7 @@

  sub p_die {
      my ( $vp, $str ) = @_;
-    $confInner{"verbose"}++;
+    $confInner{verbose}++;
      debug( $vp, "$str, '$@'" );
      exit(1);
  }
@@ -4834,7 +4836,7 @@
      };
      my @mq;

-    my $cmd = $confInner{"minfo"};
+    my $cmd = $confInner{minfo};
      $h->{hpid} = open3( $h->{wtr}, $h->{rdr}, $h->{err}, $cmd )
        or confess "Unable to popen() h: $!\n";

@@ -4893,8 +4895,8 @@
          return;
      }

-    if ( defined $carg->{"mpi-dll"} ) {
-        $ENV{MPINFO_DLL} = $carg->{"mpi-dll"};
+    if ( defined $carg->{mpi_dll} ) {
+        $ENV{MPINFO_DLL} = $carg->{mpi_dll};
      } else {
          my $base = gdb_var_addr( $g, "MPIR_dll_name" );
          if ( !defined $base ) {
@@ -4914,8 +4916,8 @@
  sub fetch_mpi_queue_gdb {
      my ( $carg, $vp, $pid, $g ) = @_;

-    if ( defined $carg->{"mpi-dll"} ) {
-        $ENV{MPINFO_DLL} = $carg->{"mpi-dll"};
+    if ( defined $carg->{mpi_dll} ) {
+        $ENV{MPINFO_DLL} = $carg->{mpi_dll};
      } else {
          my $base = gdb_var_addr( $g, "MPIR_dll_name" );
          if ( !defined $base ) {
@@ -5083,7 +5085,7 @@

          # Maybe show the group members, hope that the user doesn't turn
          # this on unless also setting target_groups!
-        if ( $carg->{"show-group-members"} ) {
+        if ( $carg->{show_group_members} ) {
              $gstr .= "group has $ad{$gid}{size} members\n";
              if ( defined $ad{$gid}{size} ) {
                  for ( my $ident = 0 ; $ident < $ad{$gid}{size} ; $ident++  
) {
@@ -5126,7 +5128,7 @@
                  }
              }
          } else {
-            next unless ( $carg->{"show-all-groups"} );
+            next unless ( $carg->{show_all_groups} );
              $ret .= $gstr;
              $gstr = "";
          }
@@ -5377,7 +5379,7 @@
      print "\n";

      my @threads;
-    if ( $conf{"stack-shows-params"} ) {
+    if ( $conf{stack_shows_params} ) {
          @threads = gdb_dump_frames_per_thread( $gdb, 1 );
      } else {
          @threads = gdb_dump_frames_per_thread($gdb);
@@ -5399,7 +5401,7 @@
              next unless exists $$frame{level};
              next unless exists $$frame{func};

-            if ( $conf{"stack-shows-params"} ) {
+            if ( $conf{stack_shows_params} ) {
                  my @a;
                  foreach my $arg ( @{ $frame->{params} } ) {
                      if ( defined $frame->{vals}{$arg} ) {
@@ -5413,7 +5415,7 @@
                  my $line = $frame->{line} || "?";
                  printf("$frame->{func}($a) at $file:$line\n");

-                if ( $conf{"stack-shows-locals"} ) {
+                if ( $conf{stack_shows_locals} ) {
                      foreach my $arg ( @{ $frame->{locals} } ) {
                          if ( defined $frame->{vals}{$arg} ) {
                              printf("  $arg = $frame->{vals}{$arg}\n");
@@ -5567,7 +5569,7 @@
  sub show_task_dir {
      my ( $carg, $vp, $pid, $dir ) = @_;

-    if ( $carg->{"proc-shows-proc"} ) {
+    if ( $carg->{proc_shows_proc} ) {
          my $exe = readlink "$dir/exe";
          if ( defined $exe ) {
              proc_output( $vp, "exe", $exe );
@@ -5576,7 +5578,7 @@
          show_task_file( $vp, "$dir/status" );
          show_task_file( $vp, "$dir/wchan", "wchan" );
          show_task_file( $vp, "$dir/stat", "stat" );
-        if ( $carg->{"proc-shows-stat"} ) {
+        if ( $carg->{proc_shows_stat} ) {
              show_task_stat_file( $vp, "$dir/stat" );
          }

@@ -5607,7 +5609,8 @@
              }
          }
      }
-    if ( $carg->{"proc-shows-fds"} ) {
+
+    if ( $carg->{proc_shows_fds} ) {
          opendir( FDS, "$dir/fd" );
          my @fds = readdir(FDS);
          closedir(FDS);
@@ -5623,7 +5626,7 @@

              # New fdinfo data, it's verbose so only enable it
              # if requested by -O proc-shows-fds=full
-            if ( $carg->{"proc-shows-fds"} eq "full" ) {
+            if ( $carg->{proc_shows_fds} eq "full" ) {
                  if ( -f "$dir/fdinfo/$fd" ) {
                      open( FDI, "$dir/fdinfo/$fd" );
                      my @fdi = (<FDI>);
@@ -5647,7 +5650,7 @@
              }
          }
      }
-    if ( $carg->{"proc-shows-maps"} ) {
+    if ( $carg->{proc_shows_maps} ) {
          show_task_file( $vp, "$dir/maps", "maps" );
      }
  }
@@ -5738,7 +5741,7 @@

      my $jiffies_start;
      my $load_avg;
-    if ( $carg->{"proc-shows-proc"} ) {
+    if ( $carg->{proc_shows_proc} ) {
          foreach my $proc ( @{$list} ) {
              my $pid = $proc->{pid};
              open( $proc->{handle}, "/proc/$pid/stat" );
@@ -5773,7 +5776,7 @@
          show_proc( $carg, $vp, $pid );
      }

-    if ( $carg->{"proc-shows-proc"} ) {
+    if ( $carg->{proc_shows_proc} ) {
          sleep(1);

          seek( SFD, 0, 0 );
@@ -5846,11 +5849,11 @@
  sub show_proc {
      my ( $carg, $vp, $pid ) = @_;

-    if ( $carg->{"proc-shows-proc"} ) {
+    if ( $carg->{proc_shows_proc} ) {
          proc_output( $vp, "hostname", $confInner{hostname} );
      }

-    if ( -d "/proc/$pid/task" and $carg->{"proc-shows-proc"} ) {
+    if ( -d "/proc/$pid/task" and $carg->{proc_shows_proc} ) {

          my $threads = 0;

@@ -5953,8 +5956,8 @@

              $ok = 0;
              if ( defined $gdb ) {
-                if (   $carg->{"stack-shows-params"}
-                    or $carg->{"stack-shows-locals"} )
+                if (   $carg->{stack_shows_params}
+                    or $carg->{stack_shows_locals} )
                  {
                      @threads = gdb_dump_frames_per_thread( $gdb, 1 );
                  } else {
@@ -5975,7 +5978,7 @@
              }
              $tries++;
            } while ( ( $ok != 1 )
-            and ( $tries < $carg->{"gdb-retry-count"} ) );
+            and ( $tries < $carg->{gdb_retry_count} ) );

          if ( not defined $threads[0]{id} ) {
              output( $vp, "Could not extract stack trace from application"  
);
@@ -6007,10 +6010,10 @@
                        . "() at "
                        . ( $$frame{file} || "?" ) . ":"
                        . ( $$frame{line} || "?" ) );
-                if ( $carg->{"stack-shows-params"} ) {
+                if ( $carg->{stack_shows_params} ) {
                      show_vars( $vp, $frame, "params" );
                  }
-                if ( $carg->{"stack-shows-locals"} ) {
+                if ( $carg->{stack_shows_locals} ) {
                      show_vars( $vp, $frame, "locals" );
                  }

@@ -6151,9 +6154,9 @@
      # File is a csv file,
      # Name,c,function1,function2

-    if ( defined $carg->{"mpi-watch-file"} ) {
+    if ( defined $carg->{mpi_watch_file} ) {
          my %fns;
-        my $f = $carg->{"mpi-watch-file"};
+        my $f = $carg->{mpi_watch_file};
          open( MW, $f ) or return;
          my @d = (<MW>);
          close(MW);
@@ -6356,7 +6359,7 @@
      my $job = shift;
      my $d   = mpd_get_data();

-    my $j = $d->{$job}{pids}{ $confInner{"hostname"} };
+    my $j = $d->{$job}{pids}{ $confInner{hostname} };

      foreach my $pid ( keys %{$j} ) {
          maybe_show_pid( $j->{$pid}, $pid );
@@ -6573,7 +6576,7 @@
      my $uid = $<;

      my %scripts;
-    map { $scripts{$_}++ } split( ",", $confInner{"scripts"} );
+    map { $scripts{$_}++ } split( ",", $confInner{scripts} );

      my $ipids = $confInner{rmpids};

@@ -6633,7 +6636,7 @@
          my %pd;
          $pd{pid} = $newpid;
          $pd{vp}  = $ip->{rank};
-        push( @{ $confInner{"all-pids"} }, \%pd );
***The diff for this file has been truncated for email.***




More information about the padb-devel mailing list