pcp
[Top] [All Lists]

# of instances mismatch

To: <pcp@xxxxxxxxxxx>
Subject: # of instances mismatch
From: "Siekas, Greg" <greg.siekas@xxxxxxxxxx>
Date: Thu, 21 Feb 2008 10:20:26 -0800
Sender: pcp-bounce@xxxxxxxxxxx
Thread-index: Ach0tm6j61WJhSJ2RH+uarVi4uXyZQ==
Thread-topic: # of instances mismatch
Using some old code of mine, a modified pmclient I used to learn a few
things, I am finding the instance domains don't match up?  It seems that
there is bogus entry in the metrics.

From the .h

proc.psinfo.cmd     CMD
proc.psinfo.psargs  PSARGS
proc.psinfo.pid     PID
proc.psinfo.ppid    PPID
proc.psinfo.pgrp    PGRP
proc.psinfo.session SESSION
proc.psinfo.utime   U_TIME
proc.psinfo.stime   S_TIME

From the code:

fprintf(stderr,"PID %d\n",crp->vset[PID]->numval);
fprintf(stderr,"CMD %d\n",crp->vset[CMD]->numval);
fprintf(stderr,"UID_NM %d\n",crp->vset[UID_NM]->numval);
fprintf(stderr,"PPID %d\n",crp->vset[PPID]->numval);
fprintf(stderr,"PGRP %d\n",crp->vset[PGRP]->numval);
fprintf(stderr,"SESSION %d\n",crp->vset[SESSION]->numval);
fprintf(stderr,"PSARGS %d\n",crp->vset[PSARGS]->numval);

PID 329 <--- extra bogus entry?
CMD 328
UID_NM 328
PPID 328
PGRP 328
SESSION 328
PSARGS 329 <-- extra bogus entry?

Looking at what the extra bogus entry is

        i = 0;
        fprintf(stderr,"%d\n",crp->vset[PID]->numval);
        pmExtractValue(crp->vset[PID]->valfmt,
&crp->vset[PID]->vlist[i],
                       desclist[PID].type, &atom, PM_TYPE_64);
        pinfo[i].pid = atom.ull;
        fprintf(stderr,"pid %d\n",pinfo[i].pid);

        pmExtractValue(crp->vset[PSARGS]->valfmt,
&crp->vset[PSARGS]->vlist[i],
                       desclist[PSARGS].type, &atom, PM_TYPE_STRING);
        strncpy(pinfo[i].psargs,atom.cp,127);
        fprintf(stderr,"psargs %s\n",pinfo[i].psargs);

pid 0 <--- there is no pid 0
psargs <exiting>

I've downloaded the latest pcp 2.7.4 and this is running on a SLES10SP1
box.  I haven't tried downgrading pcp yet.



<Prev in Thread] Current Thread [Next in Thread>