Probably worth including this lot along with my previous batch of
changes in the next official release.
This clears the backlog of issues raised by the SGI customer-reported
bug using pmlogreduce ... the scope of the fixes is quite a bit wider
than pmlogreduce with the interp.c ones being the most significant.
Changes committed to git://oss.sgi.com/kenj/pcp.git dev
src/libpcp/src/interp.c | 82 ++++++++++++++++++++++++------------------
src/libpcp/src/logutil.c | 7 +++
src/pmlogreduce/dometric.c | 3 -
src/pmlogreduce/indom.c | 31 ++++++++++-----
src/pmlogreduce/pmlogreduce.c | 26 +++++++++----
src/pmlogreduce/pmlogreduce.h | 7 ---
src/pmlogreduce/scan.c | 4 +-
src/pmval/pmval.c | 2 -
8 files changed, 97 insertions(+), 65 deletions(-)
commit cfa0e02f46e11d5f241fa48124225a75f0c55dca
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon Dec 19 19:49:31 2011 +1100
pmlogreduce - assorted changes
Fix instance domain handling so the indom is _really_ added into the
output archive, even in the presence of mark records and dynamic instance
domains.
Correct a logic error in doindom() where rp->vset[i]->pmid may not be
the same as pmidlist[i] as a result of metrics being removed from the
pmResult in rewrite() ... again a problem most likely to be seen with
mark records and dynamic instance domains.
Replace compile time #ifdef DESPERATE by run-time tests using APPL?
debug flags. Add comment to record scope of diags covered by each
APPL? debug flag.
commit 294a36f2017806c40b261a16b966207372c5aeb3
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon Dec 19 19:40:06 2011 +1100
pmval - improved diagnostic
When/if pmGetInDom() fails, report the failing indom.
commit 0947bb887ae43e71f419a3c7d5765f5b911063a0
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon Dec 19 17:19:18 2011 +1100
libpcp/interp.c - small but significant correction
Two changes.
1. a typo meant we were checking the wrong variable in the scan backwards
case (!)
2. sign reversal in a time comparison for both forwards and backwards
scanning (!)
Both were specific to interpolating values adjacent to a mark record,
where we sometimes reported "No values available", when in fact a
value was available. By the next fetch (away from the mark record),
the problem was likely to have gone away.
No existing QA test found this, but the new QA 508 (exercising pmlogreduce
in the wake of a recent problem there) exposed these corner-cases.
commit 20f8392fe6a5f29da713d4dcf6a11ff276f0b91b
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon Dec 19 16:50:23 2011 +1100
libpcp/interp.c - improve diagnostics
Consistently report times to usec accuracy (was mix of usec and msec).
Do a better job of decoding valfmt and type before duping values in
diagnostics.
commit 4a78f580a0fd21b446add95360d1a2549647aae5
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon Dec 19 07:03:08 2011 +1100
libpcp/logutil.c - small addition to diagnostic info
|