in reply to Re^2: thread count
in thread thread count

Did you read almut's post. There is a big clue in it, if you capture the digits after 'tld ', which you do, you can assign them to a value, if you put the scalar into a list context with brackets
my $substring; my $string="For those about to rock"; ($substring)=$string=~/^.+?to (\w+)/; print "So, we're going to $substring then?\n";
using this type of structure you can identify specific threads, then if you increment $threads{$substring} you have an array  keys %threads which contains the thread id of each thread, you even have a count of how busy they are in the logfiles ;)

Replies are listed 'Best First'.
Re^4: thread count
by namishtiwari (Acolyte) on Jun 10, 2009 at 14:16 UTC
    I am sorry but i did not get a clear idea how i should go about it. i have this piece of code which gives me total number of threads but not the unique ones.
    while(my $line = <$log>) { # Outer loop. Look for an interesting part of the log file. $n++; $line =~ tr/\r\n//d; ++$TIDCount; ($tid) = $line =~ /tid (\d+)/; print $tid "\n"; $tidc{$tid}++; } print "Thread count for the logfile is $TIDCount\n";
    i want the count of unique threads not the repeated one. if you can give me an example of this not necessarily my code, then it will be great. I am a novice in perl. Thanks NT
      The keys of the %tids hash are the individual thread ids.
      So add the following after building the hash in your loop
      $tidc=(keys %tidc); print "Number of unique threads referenced is: $tidc\n";
      (keys %tids) is an array of the keys of the hash, assigning an array to a scalar sets it to the number items in the array