Hi All,
I have completed an audit of the PCP tools with respect to how they
interact with the multi-archive context support, which included
testing of each tool. The scripts I used for testing will eventually
become the qa tests for these tools. Here is a summary:
The following tools Just Work(tm), which is to say that using them
against sets of archives produces the same output as if the archives
were combined using pmlogextract and the tools were run against the
resulting archive:
pmcollectl, pmevent, pmval, pmstat, pmchart, pmatop,
pminfo, pmlogsummary, pmclient, pmclient_fg, pmdiff, pmiostat,
pmprobe, pmrep, pmlogrewrite, pmlogreduce, pmlogextract (yes, even
pmlogextract correctly hands a set of archives among its arguments
as if it were a single archive).
pmie and pmdumptext both do their own parsing of comma-separated
lists of archives (I knew there were more precedents for this!),
which is good, because for those tools, each comma-separated archive
must be from a different host. As expected and desired, however,
specifying a directory as one of the comma-separated items works for
both tools.
pmwebd's -I option accepts directory names and correctly serves the
archives within.
pmloglabel, pmlogcheck and pmlogmv do their own checking for valid
archive names and, as such, will only work against single archives.
It is my opinion that pmloglabel and pmlogcheck can, and should, be
enhanced to work against multi-archive contexts in the near future.
That leaves one last tool which we have already talked about; namely
pmdumplog. This tool works correctly against multi-archive contexts
in all respects except when dumping the temporal indices. It even
dumps the virtual <mark> records when the -M option is
specified. However, it will dump only the time indices from the
first archive in the set. With a little work and the implementation
of some kind of __pmGetFirstTimeIndex(), __pmGetNextTimeIndex() API,
this tool could also be made fully compatible with multi-archive
contexts.
All the tools continue to work as before for single archive
contexts.
If no one feels that any of the above is a show stopper, I would
like to merge my branch in the next day or so. Decisions on how to
handle the few stray tools can still be finalized before the release
(scheduled March 18) and I will also have enough time to add the qa
and man/book updates.
Dave
|
|