>>> On Wed, Dec 5, 2007 at  3:48 PM, in message
<[EMAIL PROTECTED]>, Matthias
Blankenhaus <[EMAIL PROTECTED]> wrote: 
> Hi Brad !
> 
> Nice meeting you yesterday :-)
> 
> I took a closer look at PCP to see what it uses for the meta level
> description for every metric.  I thought this might be interesting for 
> you.  Here you go:
> 
> 
> - Data type:  union of all C types, plus blob
> - Semantics: counter, instant, descrete
> - Units and scale:  dimension and scale for space, time, count
> 
> 
> Here are some examples:
> 
> 
> kernel.all.load [1, 5 and 15 minute load average]
> Data Type: float InDom: 60.2 0xf000002
> Semantics: instant Units: none
> 
> kernel.percpu.cpu.user [percpu user CPU time metric from /proc/stat]
> Data Type: 64-bit unsigned int InDom: 60.0 0xf000000
> Semantics: counter Units: millisec
> 
> 
> For detailed info you can check out "man PMAPI" on any SLES box.
> 
> 
> Matthias

If I am understanding this correctly, this is actually similar in concept to 
the XDR restructuring that I did for gmond.  However the metadata and the value 
message are split into two different structures.  The metadata is a struct that 
contains the basic metric description elements plus a blob (basically. It is 
really an array of additional elements).  The value message is a union of all 
of the supported data types.  Both message types (metadata, value) carry a 
metric ID header struct that defines the host, metric name and spoof indicator. 
 Since this structure is basically the header for every XDR message, even 
before the XDR message type is determined, the host and metric can be 
identified.  Take a look at lib/protocol.h.

You asked about spoofing or IP proxying the other night.  Creating a proxied 
metric metadata or value message is really no different than any other metric 
message.  The difference is in the additional metadata that is added to the 
message.  The following API will convert a regular metric message to a proxied 
message:

   Ganglia_metadata_add (ganglia_metric, SPOOF_HOST, host_name);

Basically all this is doing is adding a proxied host name or IP as extra 
metadata to a metric message (metadata or value).  Gmond looks at the 
SPOOF_HOST and alters the XDR packet with the appropriate host name.  This is 
actually how gmetric now deals with actual metrics vs. spoofed metrics.

Brad

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers

Reply via email to