From: nathans@aconex.com
To: kenj@internode.on.net
Cc: systemtap@sources.redhat.com, pcp@oss.sgi.com
Subject: Re: [pcp] suitability of PCP for event tracing
Date: Wed, 24 Nov 2010 22:58:00 -0000 [thread overview]
Message-ID: <876162548.141311290639523809.JavaMail.root@acxmail-au2.aconex.com> (raw)
In-Reply-To: <290445718.141091290639324786.JavaMail.root@acxmail-au2.aconex.com>
----- "Ken McDonell" <kenj@internode.on.net> wrote:
> Typed strings is a concept that probably makes sense independent of
> the
> event records stuff, e.g. a simple metric that returns a
> PM_TYPE_STRING
> value where the producer and consumer agree the value is encoded in a
> particular way, e.g. JSON.
*nod*, very good point.
> One option would be to add more values to the sem (semantics) field
> of the pmDesc, e.g. PM_SEM_XML, PM_SEM_JSON, ... these additonal
> semantic
> settings would need to imply PM_SEM_DISCRETE or PM_SEM_INSTANT. This
> would
> * make them available for all metrics (not just the parameter(s)
> for an event record), and
> * involve NO PDU, API or archive changes
> * seem more natural as it is part of the semantic metadata for
> the metric, rather than something to be encoded in the vtype
> header
> of a pmValueBlock (which is where the PM_TYPE_* data for the
> composite data types are carried around in each fetch result)
>
> Thoughts?
Yep, that does sound like a much better approach.
> > | typedef struct {
> > | struct timeval er_timestamp;
> > | int er_nparams; /* number of er_param[] entries */
> > | pmEventParameter er_param[1];
> > | } pmEventRecord;
> >
>
> I considered er_flags but this seems to be dependent on prior
> agreement of the producer and consumer,
...? To my mind, its the opposite. The idea is that these flags
encapsulate the generic characteristics of traces, which allows a
generic client to make more sense of them.
For example, pmchart could do a decent job of displaying traces with
these flags, but it has no chance without them (cannot tell what is
a start event, whats an end event, nor how to build a hierarchy ...
for an arbitrary trace). Thinking specifically of the gantt chart
(e.g. http://www.bootchart.org/images/bootchart.png) class of trace
visualisation here, if that helps clarify wtf I'm on about. That is
feasible (and useful!) for arbitrary traces via er_flags, I think.
> Also, there is no obvious place to store the
> value when the packed array of event records is expanded (it cannot
> go
> in the pmResult, so needs another allocation and return parameter for
> pmUnpackEventRecords (as you indicated later).
So, this seems to be more of an issue, yes it complicates the API a
bit ... but its the difference between something bland and something
alot more useful IMO.
> I'd prefer to see event "flags" or event "type" encoded in a specific
> parameter of the event record. This also needs prior agreement by
> the
> consumer and the producer, enables all of the same functionality that
> er_flags would, and requires no additional API or data structure
> changes.
The problem there, as you say, is that it means client tools must all
be custom written (prior agreement)... theres really not much useful/
generic that pmchart could do with this.
> Not so ... the number of metrics per PMDA is 2^10 (items) x (2^12-1)
> (clusters) because I've only pinched one value for the cluster field.
Ah, my mistake - thats great!
> I suspect we need to wait for someone to use all this new functionality
> in anger before we will be in a position to consider tweaks to what
> has been done so far.
*nod*. Will get a code review in too when time permits (not for a week
or two though).
cheers.
--
Nathan
next parent reply other threads:[~2010-11-24 22:58 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <290445718.141091290639324786.JavaMail.root@acxmail-au2.aconex.com>
2010-11-24 22:58 ` nathans [this message]
2010-11-27 5:29 ` Ken McDonell
2010-11-28 19:08 ` Ken McDonell
[not found] <534400126.208681291368854553.JavaMail.root@acxmail-au2.aconex.com>
2010-12-03 9:40 ` nathans
2010-12-03 11:13 ` Ken McDonell
[not found] <1949991220.207641291354253203.JavaMail.root@acxmail-au2.aconex.com>
2010-12-03 5:32 ` nathans
2010-12-03 6:08 ` Ken McDonell
[not found] <1565492777.26861289432902163.JavaMail.root@acxmail-au2.aconex.com>
2010-11-10 23:49 ` nathans
2010-11-11 1:46 ` Max Matveev
2010-11-23 20:48 ` Ken McDonell
[not found] <1362202390.1923851286924784463.JavaMail.root@mail-au.aconex.com>
2010-10-12 23:07 ` nathans
[not found] <2010549822.1115071284891293369.JavaMail.root@mail-au.aconex.com>
2010-09-19 10:19 ` nathans
[not found] <1341556404.1064361284677032819.JavaMail.root@mail-au.aconex.com>
2010-09-16 23:18 ` nathans
2010-09-18 14:21 ` Ken McDonell
2010-09-19 9:28 ` Max Matveev
2010-09-19 9:49 ` Nathan Scott
[not found] <105152664.981101284508372475.JavaMail.root@mail-au.aconex.com>
2010-09-15 3:12 ` Greg Banks
2010-09-15 12:11 ` Frank Ch. Eigler
2010-09-16 0:21 ` Greg Banks
2010-09-16 1:04 ` Frank Ch. Eigler
2010-09-16 2:07 ` Greg Banks
2010-09-16 12:40 ` Ken McDonell
2010-09-16 14:24 ` Frank Ch. Eigler
2010-09-16 15:53 ` Ken McDonell
2010-09-23 22:15 ` Frank Ch. Eigler
2010-10-11 8:02 ` Ken McDonell
2010-10-11 12:34 ` Nathan Scott
2010-10-12 20:37 ` Ken McDonell
2010-11-10 0:43 ` Ken McDonell
[not found] <1740408065.702181283817937875.JavaMail.root@mail-au.aconex.com>
2010-09-07 0:09 ` nathans
[not found] <1780385660.592861283401180077.JavaMail.root@mail-au.aconex.com>
2010-09-02 4:22 ` nathans
2010-09-02 4:30 ` Greg Banks
[not found] <1459138113.589721283398633993.JavaMail.root@mail-au.aconex.com>
2010-09-02 3:42 ` nathans
2010-09-02 4:11 ` Greg Banks
[not found] <1010363924.405041282969375594.JavaMail.root@mail-au.aconex.com>
2010-08-28 4:24 ` nathans
2010-08-27 15:39 Frank Ch. Eigler
2010-08-29 15:55 ` [pcp] " Ken McDonell
2010-09-01 15:05 ` David Smith
2010-09-06 16:39 ` Ken McDonell
[not found] ` <4C7A7DFE.2040606@internode.on.net>
2010-08-31 3:29 ` Greg Banks
2010-08-31 19:49 ` Frank Ch. Eigler
2010-09-01 6:25 ` Mark Goodwin
2010-09-02 2:05 ` Greg Banks
2010-09-02 19:40 ` Frank Ch. Eigler
2010-09-12 16:43 ` Ken McDonell
2010-09-13 2:21 ` Greg Banks
2010-09-13 13:29 ` Max Matveev
2010-09-13 20:53 ` Ken McDonell
2010-09-13 20:39 ` Frank Ch. Eigler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=876162548.141311290639523809.JavaMail.root@acxmail-au2.aconex.com \
--to=nathans@aconex.com \
--cc=kenj@internode.on.net \
--cc=pcp@oss.sgi.com \
--cc=systemtap@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).