X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fllanalyze;h=5aa8ffd6b5d8c55ac379c66f013592a1eb83e3ba;hb=e1649d2115af001ead43afe927377d2edc50593c;hp=97c691a038498bc672460b2ed1f784d9d1934711;hpb=c5050e412572b00cbe93d8517d2d1f767bebfa92;p=fs%2Flustre-release.git diff --git a/lustre/utils/llanalyze b/lustre/utils/llanalyze index 97c691a..5aa8ffd 100644 --- a/lustre/utils/llanalyze +++ b/lustre/utils/llanalyze @@ -8,34 +8,37 @@ GetOptions("pid=i" => \$pid, "silent!" => \$silent, "rpctrace!" => \$rpctrace, "nodlm!" => \$nodlm, + "dlm_ns=s" => \$dlm_ns, "noclass!" => \$noclass, - "nonet!" => \$nonet); - - - -$subsys->{UNDEFINED} = 0; -$subsys->{MDC} = 1; -$subsys->{MDS} = 2; -$subsys->{OSC} = 3; -$subsys->{OST} = 4; -$subsys->{CLASS} = 5; -$subsys->{OBDFS} = 6; -$subsys->{LLITE} = 7; -$subsys->{RPC} = 8; -$subsys->{EXT2OBD} = 9; -$subsys->{PORTALS} = 10; -$subsys->{SOCKNAL} = 11; -$subsys->{QSWNAL} = 12; -$subsys->{PINGER} = 13; -$subsys->{FILTER} = 14; -$subsys->{TRACE} = 15; # obdtrace, not to be confused with D_TRACE */ -$subsys->{ECHO} = 16; -$subsys->{LDLM} = 17; -$subsys->{LOV} = 18; -$subsys->{GMNAL} = 19; -$subsys->{PTLROUTER} = 20; -$subsys->{COBD} = 21; -$subsys->{IBNAL} = 22; + "nonet!" => \$nonet, + "extract_start=s" => \$extract_start, + "extract_end=s" => \$extract_end); + + + +$subsys->{UNDEFINED} = 1 << 0; +$subsys->{MDC} = 1 << 1; +$subsys->{MDS} = 1 << 2; +$subsys->{OSC} = 1 << 3; +$subsys->{OST} = 1 << 4; +$subsys->{CLASS} = 1 << 5; +$subsys->{LOG} = 1 << 6; +$subsys->{LLITE} = 1 << 7; +$subsys->{RPC} = 1 << 8; +$subsys->{MGMT} = 1 << 9; +$subsys->{PORTALS} = 1 << 10; +$subsys->{SOCKNAL} = 1 << 11; +$subsys->{QSWNAL} = 1 << 12; +$subsys->{PINGER} = 1 << 13; +$subsys->{FILTER} = 1 << 14; +$subsys->{PTLBD} = 1 << 15; +$subsys->{ECHO} = 1 << 16; +$subsys->{LDLM} = 1 << 17; +$subsys->{LOV} = 1 << 18; +$subsys->{GMNAL} = 1 << 19; +$subsys->{PTLROUTER} = 1 << 20; +$subsys->{COBD} = 1 << 21; +$subsys->{OPENIBNAL} = 1 << 22; $masks->{TRACE} = 1 << 0; # /* ENTRY/EXIT markers */ @@ -64,7 +67,7 @@ sub extractpid { $line = shift; # print "$_\n"; - if ($line =~ m/\d+:\d+:\d+:\d+\.\d+:\d+:\d+:*$/) { + if ($line =~ /(\d+)\:(\d+)\:(\d+)\:(\d+\.\d+)\:(\d+)\:(\d+)\:.*/) { return $6; } } @@ -73,7 +76,7 @@ sub extracthostpid { $line = shift; # print "$_\n"; - if ($line =~ m/\d+:\d+:\d+:\d+\.\d+:\d+:\d+:\d+:*$/) { + if ($line =~ /(\d+)\:(\d+)\:(\d+)\:(\d+\.\d+)\:(\d+)\:(\d+)\:(\d+)\:.*/) { return $7; } } @@ -263,8 +266,23 @@ if ($ARGV[1]) { $width = $ARGV[1]; } -print "pid: $pid, nodlm $nodlm nonet $nonet trace $trace\n"; +print "nodlm $nodlm, nonet $nonet, trace $trace\n"; +print "pid: $pid, dlm_ns: $dlm_ns\n"; +print "extract_start: $extract_start\n"; +print "extract_end: $extract_end\n"; while () { + if ($extract_start && $extract_start ne "LLANAYZE_FOUND") { + next if (index($_, $extract_start, 0) == -1); + $extract_start = "LLANAYZE_FOUND"; + } + + if ($extract_end) { + next if ($extract_end eq "LLANAYZE_FOUND"); + if (index($_, $extract_end, 0) != -1) { + $extract_end = "LLANAYZE_FOUND"; + } + } + $linepid = extractpid($_); $linehpid = extracthostpid($_); $linemask = getmask($_); @@ -287,20 +305,20 @@ while () { if ( !$pid || $linepid == $pid || $linehpid == $pid) { next if (!$entering_rpc && $rpctrace && $linemask != $masks->{RPCTRACE}); next if ($trace && $linemask != $masks->{TRACE}); - - next if ($nodlm && ( $linesubsys == $subsys->{LDLM})); + next if ($dlm_ns && + ( $linesubsys != $subsys->{LDLM})); + next if (($found_dlm_ns = index( $_, $dlm_ns, 0)) == -1); next if ($noclass && ( $linesubsys == $subsys->{CLASS})); - next if ($nonet && ( $linesubsys == $subsys->{RPC} || $linesubsys == $subsys->{NET} || $linesubsys == $subsys->{PORTALS} || $linesubsys == $subsys->{SOCKNAL} || $linesubsys == $subsys->{QSWNAL} || - $linesubsys == $subsys->{IBNAL} || + $linesubsys == $subsys->{OPENIBNAL} || $linesubsys == $subsys->{GMNAL})); if(!$entering_rpc) {entering_rpc($_);} if(!$leaving_rpc) {leaving_rpc($_);}