pcp
[Top] [All Lists]

Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time

To: Dave Brolley <brolley@xxxxxxxxxx>
Subject: Re: [pcp] Multi-archive Contexts: Some PCP Tools Lost in Time
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed, 17 Feb 2016 19:49:07 -0500 (EST)
Cc: PCP Mailing List <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <56C3608E.9090404@xxxxxxxxxx>
References: <56C3608E.9090404@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: OqyKtpC1igim0Kjbu7uCX93+vbftCw==
Thread-topic: Multi-archive Contexts: Some PCP Tools Lost in Time
Hi Dave,

----- Original Message -----
> [...]
> On the other hand, using time indices which are global to the entire context
> might simplify things and improve performance. Some trickery would still be
> needed in order to associate each time index with the correct archive.

I would stick with local as you have it for initial version, and optimize as
needed later once actual issues are observed.  Use of "might" above suggests
this may be a premature optimisation.

> Things get more complicated with the realization that a few tools directly
> access the time index data structures. These tools are pmlogrewrite(1),
> pmdumplog(1) and pmlogcheck(1).

Some QA tests too BTW.  I like your approach of switching to internal-access
APIs instead of direct structure access too - that would be an improvement.

> The problem lies with older versions of these tools attempting to work with a
> multi-archive enabled libpcp. All of these tools access the time index data
> [...]
> So using local time indices leaves older versions of two of the tools broken
> by omission of results and using global time indices leaves them broken via
> reporting of inaccurate and misleading results.

I'm wondering if this is a non-issue, either way.  Older versions of these tools
(or any PMAPI tool) should not rightfully expect to work with either a directory
or comma-separated lists of archives being passed into pmNewContext, right?

IOW, they cannot be functioning under the libpcp that they are currently using,
or any prior version.  And they'd see an error under those older libpcp versions
if they attempted to pass a directory/comma-separated-list in.

So it may be a leap-too-far for the tools to expect to make use of this new
functionality - things that work today should continue to work, and that is all
they can really rely on (anything else is a nice-to-have bonus but not really
mandatory IMO).

As long as the single-archive case continues to work as-before, I think we're
fine - and that depends on how well existing structures are being preserved.
>From my reading of the way ABI is being maintained in your impl.h changes and
elsewhere in libpcp, that all looks fine to me so far.

> inclined to stick with the currently implemented local time indices.

Sounds good to me.

cheers.

--
Nathan

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