in reply to Has anyone here used PerfLib.pm successfully?

Adding use strict back in and cleaning up the resulting compile errors, I was able to get it to work.
use warnings; use strict; use Win32::PerfLib; my %counter; my $server = ""; Win32::PerfLib::GetCounterNames($server, \%counter); my %r_counter = map { $counter{$_} => $_ } keys %counter; # retrieve the id for process object my $process_obj = $r_counter{Process}; # retrieve the id for the process ID counter my $process_id = $r_counter{'ID Process'}; # create connection to $server my $perflib = new Win32::PerfLib($server); my $proc_ref = {}; # get the performance data for the process object $perflib->GetObjectList($process_obj, $proc_ref); $perflib->Close(); my $instance_ref = $proc_ref->{Objects}->{$process_obj}->{Instances}; foreach my $p (sort keys %{$instance_ref}) { my $counter_ref = $instance_ref->{$p}->{Counters}; foreach my $i (keys %{$counter_ref}) { if($counter_ref->{$i}->{CounterNameTitleIndex} == $process_id) + { printf( "% 6d %s\n", $counter_ref->{$i}->{Counter}, $instance_ref->{$p}->{Name} ); } } }
Update: Dog and Pony has identified that the code is not the problem. See this node for info.
--
May the Source be with you.

You said you wanted to be around when I made a mistake; well, this could be it, sweetheart.

Replies are listed 'Best First'.
Re: Re: Has anyone here used PerfLib.pm successfully?
by talexb (Chancellor) on Sep 17, 2002 at 16:29 UTC
    Thanks for your quick reply. However, I don't know what you changed (you didn't indicate what you changed) and the version you provided still gives me the same errors. Were you able to get it to run correctly? What was the output?

    --t. alex
    but my friends call me T.

    Update Sorry, I am using Win98 -- I thought I could use this module but obviously I cannot. My bad.