pcp
[Top] [All Lists]

Re: [pcp] hotproc rfc

To: Martins Innus <minnus@xxxxxxxxxxx>
Subject: Re: [pcp] hotproc rfc
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed, 8 Oct 2014 20:15:30 -0400 (EDT)
Cc: pcp@xxxxxxxxxxx
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <5435926F.6030004@xxxxxxxxxxx>
References: <536D28B4.6010504@xxxxxxxxxxx> <1139662762.4765310.1399862104653.JavaMail.zimbra@xxxxxxxxxx> <54230FAF.2080201@xxxxxxxxxxx> <905561536.62723741.1412657864635.JavaMail.zimbra@xxxxxxxxxx> <5435926F.6030004@xxxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: jldAX4NJCNPW2ZE8YmQZ848/VPV5hg==
Thread-topic: hotproc rfc
Hi Martins,

----- Original Message -----
> > [...]
> > I've had time to go through the code in detail now - this looks like a
> > good step forward, and its much simpler than I expected.
> >
> Thanks for the review.

No problem.

> So if I understand you correctly, the {psinfo,id,memory,io,fd,
> schedstat} metrics become dynamic both in proc and hotproc? For
> implementation, the steps would be something like?:
> 
> 1. Clean out root_proc of metrics we want to make dynamic
> 2. Replicate the logic from cgroups.c and adapt to [hot]proc to create
> these on the fly
> 3. Even though these are dynamic, we reuse existing cluster and id
> numbers so as not to confuse client tools.

Spot on, yes; keeping the existing PMIDs for those proc metrics that
become dynamic and making the hotproc variants just the same (but with
non-conflicting cluster IDs of course).

> It seems like the first step would be to convert the existing pmda to
> handle dynamic metrics for the appropriate clusters that already exist
> before we worry about hotproc?

Yep.  I believe that will work nicely - of course there may be issues
I've not anticipated (lemme know early on, if so), but I'm pretty sure
that will work out well.

> Do you want me to have a go at that or do you have a specific plan in
> mind already?

It'd be great if you could take that on - please go right ahead.

cheers.

--
Nathan

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