This is it! My multi-archive context branch has now been pushed to the
mainline. Still to come are the man/book updates and the status of a
couple of tools with respect to how they should interact wiith
multi-archive contexts is still undecided (pmloglabel, pmlogcheck,
pmdumplog). The behaviour of single-archive contexts remains unchanged.
Dave
---------------------------------------------
Changes committed to git://git.pcp.io/pcp.git master
Dave Brolley (61):
libcpp: __pmAddOptArchive(), __pmAddOptArchiveList()
Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE.
Update qa test 728: Multiple archives no longer an error.
context.c: rename archctl to acp for consistency with other
libpcp code.
__pmBoundaryOptions(): Handle multiple archives in a single context.
Fix off-by-oine error in __pmBoundaryOptions().
libcpp: __pmAddOptArchive(), __pmAddOptArchiveList()
Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE.
Update qa test 728: Multiple archives no longer an error.
context.c: rename archctl to acp for consistency with other
libpcp code.
__pmBoundaryOptions(): Handle multiple archives in a single context.
Fix off-by-oine error in __pmBoundaryOptions().
Basic read forward through multiple archives.
libcpp: __pmAddOptArchive(), __pmAddOptArchiveList()
Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE.
Update qa test 728: Multiple archives no longer an error.
context.c: rename archctl to acp for consistency with other
libpcp code.
__pmBoundaryOptions(): Handle multiple archives in a single context.
Fix off-by-oine error in __pmBoundaryOptions().
libcpp: __pmAddOptArchive(), __pmAddOptArchiveList()
Maintain a list of archives in contexts of type PM_CONTEXT_ARCHIVE.
__pmBoundaryOptions(): Handle multiple archives in a single context.
Basic read forward through multiple archives.
Fix typos in comments.
qa fallout from initial multi-archive changes
More qa fallout from multi-archive work.
Multi-archive: Don't reset c_origin and c_mode when switching to
the next archive.
Fix memory leak in __pmAddOptArchiveFolio().
Initial implementation of reading multiple archives in reverse.
Change multi-archive delimeter to ':' from ','.
__pmAddOptArchive(), __pmAdOptArchiveList(): Allow directories to
be specified.
Reading multiple archives in reverse:
Fix expected output of qa tests 722 and 728 after latest upstream
merge.
Factor out code from pmlogextract for creating <mark> records.
Use a single c_archctl->ac_log pointer for multi-archive contexts.
Generate MARK records at multi-archive boundaries.
No need for a separate mark record done flag for each multi-arch ctl.
Generate MARK records between archives in INTERP mode.
__pmBoundaryOptions(): Streamline determination of boundares.
__pmBoundaryOptions(): Preserve the initial state of the context.
Fix context->c_lock imbalances.
qa test 443: Multiple archives are now supported.
Handle virtual MARK records in INTERP mode.
pmNetContext(3): Detect duplicate archives for multi-archive
contexts.
Fix bug in interp mode record caching.
Multi-archive contexts: support for directories
Revert creation of __pmLogCreateMark() function.
multi-archive: Check for temporal overlap between archives when
switching.
Multi-archive Contexts: Use a single PMNS tree for all archives.
Handle directories of archives within pmNewContext(3).
Clean up error handling in initarchive().
Clean up error path for failure to change archives (multi-archive).
Leave multi-archive in a consistent state after detecting
temporal overlap.
Multi-archive: pmGetArchiveLabel(3) and pmGetArchiveEnd(3).
Multi-archive: Share hash tables among archives.
Time index positioning for multi-archive contexts.
Multgi-archive contexts. Check the archive labels for consistency.
Multi-archive contexts: Check PMNS meta data for conflicts.
Implement the libpcp feature string "multi_archive_contexts".
Fix order of freeing resources upon error in initarchive().
New qa tests for multi-archive contexts.
Frank Ch. Eigler (1):
Improve archive name suffixing to allow archive directories.
qa/006.out | 14
qa/1036 | 77
qa/1036.out | 76
qa/1037 | 77
qa/1037.out | 835 +++++++++
qa/1038 | 78
qa/1038.out | 2866
++++++++++++++++++++++++++++++++
qa/443.out | 2
qa/722 | 2
qa/722.out | 8
qa/728.out | 160 -
qa/809 | 77
qa/809.out | 67
qa/810 | 77
qa/810.out | 1921 +++++++++++++++++++++
qa/814 | 77
qa/814.out | 835 +++++++++
qa/817 | 77
qa/817.out | 667 +++++++
qa/818 | 78
qa/818.out | 2911
+++++++++++++++++++++++++++++++++
qa/887 | 77
qa/887.out | 1840 ++++++++++++++++++++
qa/970 | 77
qa/970.out | 58
qa/998.out | 8
qa/archives/multi/20150508.11.44.0 |binary
qa/archives/multi/20150508.11.44.index |binary
qa/archives/multi/20150508.11.44.meta |binary
qa/archives/multi/20150508.11.46.0 |binary
qa/archives/multi/20150508.11.46.index |binary
qa/archives/multi/20150508.11.46.meta |binary
qa/archives/multi/20150508.11.50.0 |binary
qa/archives/multi/20150508.11.50.index |binary
qa/archives/multi/20150508.11.50.meta |binary
qa/archives/multi/20150508.11.57.0 |binary
qa/archives/multi/20150508.11.57.index |binary
qa/archives/multi/20150508.11.57.meta |binary
qa/group | 13
src/include/pcp/impl.h | 134 +
src/include/pcp/pmapi.h | 9
src/libpcp/src/config.c | 1
src/libpcp/src/context.c | 1930 +++++++++++++++------
src/libpcp/src/err.c | 16
src/libpcp/src/exports | 8
src/libpcp/src/getopt.c | 1234 +++++++++----
src/libpcp/src/interp.c | 244 +-
src/libpcp/src/logmeta.c | 193 +-
src/libpcp/src/logutil.c | 1704 ++++++++++++++-----
src/pmlogextract/pmlogextract.c | 70
src/pmwebapi/pmgraphite.cxx | 31
51 files changed, 16725 insertions(+), 1904 deletions(-)
|