Re: Generic Monitoring Framework Proposal - Mailing list pgsql-hackers

From Robert Lor
Subject Re: Generic Monitoring Framework Proposal
Date
Msg-id 449727FC.4000800@sun.com
Whole thread Raw
In response to Re: Generic Monitoring Framework Proposal  (Theo Schlossnagle <jesus@omniti.com>)
Responses Re: Generic Monitoring Framework Proposal  (Theo Schlossnagle <jesus@omniti.com>)
Re: Generic Monitoring Framework Proposal  (Greg Stark <gsstark@mit.edu>)
List pgsql-hackers
Theo Schlossnagle wrote:

>
> Heh.  Syscall probes and FBT probes in Dtrace have zero overhead.   
> User-space probes do have overhead, but it is only a few instructions  
> (two I think).  Besically, the probe points are replaced by illegal  
> instructions and the kernel infrastructure for Dtrace will fasttrap  
> the ops and then act.  So, it is tiny tiny overhead.  Little enough  
> that it isn't unreasonable to instrument things like s_lock which are  
> tiny.

Theo, you're a genius. FBT (funciton boundary tracing)  probes have zero 
overhead (section 4.1) and user-space probes has two instructions over 
head (section 4.2). I was incorrect about making a general zero overhead 
statement.  But it's so close to zero :-)

http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf

>
> The reason that Robert proposes user-space probes (I assume) is that  
> tracing C functions can be too granular and not conveniently expose  
> the "right" information to make tracing useful.

Yes, I'm proposing user-space probes (aka User Statically-Defined 
Tracing - USDT). USDT provides a high-level abstraction so the 
application can expose well defined probes without the user having to 
know the detailed implementation.  For example, instead of having to 
know the function LWLockAcquire(), a well documented probe called 
lwlock_acquire with the appropriate args is much more usable.

Regards,
Robert



pgsql-hackers by date:

Previous
From: Chris Browne
Date:
Subject: Re: Generic Monitoring Framework Proposal
Next
From: Tom Lane
Date:
Subject: CVS HEAD busted on Windows?