pcp
[Top] [All Lists]

Re: [pcp] [PATCH] PCP pidstat PMDA

To: myllynen@xxxxxxxxxx, Martins Innus <minnus@xxxxxxxxxxx>
Subject: Re: [pcp] [PATCH] PCP pidstat PMDA
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Mon, 20 Apr 2015 07:22:42 -0400 (EDT)
Cc: pcp developers <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <5534C680.2020709@xxxxxxxxxx>
References: <5534C680.2020709@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: Wj40XTZ2bSXCsZfvlgJugVjqRRv8lA==
Thread-topic: PCP pidstat PMDA
Hi Marko,

----- Original Message -----
> Hi,
> 
> please see below for a proposal for a new process level PMDA.
> 
> There are other related PMDAs already (at least hotproc, linux_proc,
> and process) but I think this one complements the offering nicely
> with the ability to easily monitor certain processes (e.g., just say
> $procs = 'java' on the fly to start monitoring all java processes
> regardless of their PIDs) and also by providing e.g. per-process
> IO stats which are not easily (if at all) available from other PMDAs.

It sounds like there's alot of overlap here with hotproc.* - pmdaproc
nowadays provides hotproc.* metrics, thanks to Martins recent efforts,
which may not be widely known yet (not really following the advantage
to parsing pidstat over accessing proc.* via hotproc ... am I missing
something subtle there?).

Those new hotproc.* metrics do allow both a configuration file-based
mechanism (like this new PMDA) & also support a very dynamic pmstore
update model too, like:

# pmstore hotproc.control.config 'fname = "java"'

to set the process filtering on-the-fly (the above syntax may not be
100% correct, thats just from memory - it'll be close though).

Is there something missing from the hotproc.* metrics that this new
PMDA would provide Marko?  I don't really follow the IO-stats comment
- there's no magic that pidstat can do that pmdaproc cannot AFAIK in
terms of querying the kernel for stats.

>From a quick look, the docs for the (recently-added-to-Linux) hotproc
metrics could be improved - Martins, could we find a way to report
help text for hotproc.control, hotproc.predicate, and hotproc.total?
And the pmdaproc(1) man page is a bit lacking in coverage of how to
use hotproc.  Maybe a tutorial page would suit here too?

On a vaguely related note, we have had several requests for a PMAPI
pcp-pidstat(1) tool (that uses the proc.* metrics, supports archives,
and could swap in hotproc.* for proc.* via command line option).  We
could also think of extending pcp-collectl(1) in a similar way, which
might answer that other question you had (elsewhere) perhaps.

cheers.

--
Nathan

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