You want to look at your OS's code for time measurement: at
least two free OSs implement something like gethrtime() as
a call which does an entry/ring-crossing, reads one hardware
register and returns. Others do a full system call (:-()
My leaky memory says Linux is one of the fast ones, but
it's architecture dependant, too...
[On sparc it's a sequence of trap, shift left, or]
James Peach wrote:
On 23/03/2008, Sven Kubiak <sk@xxxxxxx> wrote:
After looking at all (well, most of) the "PROFILE stuff" i think this is the
best way to implment the monitoring we are looking for. From the measuring
point of view, the profiling does the same as ARM. The only difference is
that we want to break down measuring into a set of calls, e.g. a specific
client which is mounting a network drive as one "transaction". As i see it,
Samba profiling counts and measures the specific smb commands in total.
Please correct me, if i am wrong.
Unfortunatly i didn't get the profiling to work, yet. I used the
configuration option --with-profile and enabled profiling using smbcontrol,
but didn't find any output so far. Does the profiling uses a seperate
logfile or do i have to setup a monitor like pcp? Is the pcp example coming
with Samba 3 still up to date?
No, the PCP PMDA in the Samba3 tree has bitrotted substantially.
There is a new PMDA in this svn branch:
This PMDA exports the metrics from the profile subsystem, and well as
extra per-client and per-share counters. It should be straight-forward
to extend it.
I found and old release note for Samba 2.2.1, which mentioned that the
profile collection degradation was about 8.5%.
If you are just counting events, then last time I measured it the
impact was negligible. The impact of measuring response times is
significantly more, and depends on the timing facilities of the OS.
David Collier-Brown | Always do right. This will gratify
Sun Microsystems, Toronto | some people and astonish the rest
davecb@xxxxxxx | -- Mark Twain
(905) 943-1983, cell: (647) 833-9377, home off: (416) 223-5943
(800) 555-9786 x56583, bridge: (877) 385-4099 code: 506 9191#