]> sourceware.org Git - systemtap.git/commit
Move (back?) to a select-based PMDA with custom main.
authorNathan Scott <nathans@debian.org>
Thu, 12 May 2011 09:41:01 +0000 (19:41 +1000)
committerNathan Scott <nathans@debian.org>
Thu, 12 May 2011 09:41:01 +0000 (19:41 +1000)
commit1172a8a396cac718c7143b67cdc925e557228d6e
tree6eca55f7e59a7aacb0ef70a93bb643dfed063c38
parentb628d716dbe03cfe60b3d581a9b1f023ebb4c997
Move (back?) to a select-based PMDA with custom main.

An observed problem with doing log reads only during the
metric fetch callback, is that we start getting behind in
events once the volume starts ramping up from small files
to the point that the PMDA is overwhelmed.  Caused by two
issues:
- only reading new events based solely on client fetch
  intervals means for relatively long intervals (say once
  every few minutes) the consumption doesn't keep up with
  the event generation.
- only reading once (i.e. one read(2) call) per fetch,
  which made the above even more severe and noticable.

We address these issues by using a custom PMDA loop which
is awoken on either readable file descriptors or expiry of
a timer (iow server side driven event reading, not client).
Whenever we wake, we consume all available events at that
time for each file descriptor.
pcp/src/pmdas/logger/event.c
pcp/src/pmdas/logger/event.h
pcp/src/pmdas/logger/logger.c
This page took 0.025353 seconds and 5 git commands to generate.