[syslog-ng] diskqueue framework patch
Nagy Attila
naat at balabit.hu
Thu Mar 31 17:38:13 CEST 2011
On 2011-03-29 13:31, Balazs Scheidler wrote:
> Hi,
>
> On Mon, 2011-03-28 at 14:29 +0200, Nagy Attila wrote:
>> Hi all,
>>
>> due to the need for disk queue usage in PE 4.1 we had to extend the
>> syslog-ng sources, in order to be able write plugins that implement this
>> feature. This patch contains these modifications.
>> Basically it extends the 'class' hierarchy (and 'virtual' functions, see
>> the new LogDestDriver) so that plugins can define their own queue
>> mechanisms (as some do this in PE modules) and these special queues can
>> be assigned to destinations.
> Before going into technical details, can you please elaborate on what
> additional use of this patchset might have in the syslog-ng OSE
> context?
>
> If I understand correctly it introduces the concept of
> per-destination-driver plugins, so that queue initialization can be
> delegated to a plugin (e.g. disk based queueing).
>
> Can you perhaps shed some light on what other use-cases this could
> solve?
>
Hi,
the purpose of this framework is that it enables us to extend the
standard queuing mechanism.
The default queue stores the messages temporarily in the memory (for
xmpl if we can't send everything without exceeding the flow control) -
the implementation is in logqueue.c.
This patch introduces a new layer where the actual queue implementation
can replace the default one - with fitting into the plugin structure.
An example: the current implementation uses the GQueue to store the
messages. If somebody can write a better container (even for special
cases/circumstances), this patch makes it possible without having to
lose the default one. We can access both the 'old' and these new
implementations from the configuration file.
-Attila
More information about the syslog-ng
mailing list