| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Through msg.h, many unrelated components needlessly required
LIBEE_CFLAGS.
|
| |
|
|
|
|
| |
included some additional refactoring for cleaner code
|
|
|
|
| |
remove snprintf() in favor for quicker code
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
runtime/msg.c
runtime/queue.c
tools/syslogd.c
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
tools/syslogd.c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This happened only on very high volume systems, if the same message was
being processed by two different actions. This was a regression caused
by the new config processor, which did no longer properly enable msg
locking in multithreaded cases. The bugfix is actually a refactoring of
the msg locking code - we no longer do unlocked operations, as the use
case for it has mostly gone away. It is potentially possible only at
very low-end systems, and there the small additional overhead of doing
the locking does not really hurt. Instead, the removal of that
capability can actually slightly improve performance in common cases,
as the code path is smaller and requires slightly less memory writes.
That probably outperforms the extra locking overhead (which in the
low-end case always happens in user space, without need for kernel
support as we can always directly aquire the lock - there is no
contention at all).
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Linear runtime due to message order. Was quadratic before. However, not
a big overall improvement.
|
| | | |
|
| | |
| | |
| | |
| | | |
spares lengthy table lookups
|
| | | |
|
|/ /
| |
| |
| | |
Things like $YEAR, $MONTH required a time() call each.
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
runtime/msg.c
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
timestamp
|
|
|
|
|
|
|
|
| |
parser run
added message property parsesuccess to indicate if the last run
higher-level parser could successfully parse the message or not
(see property replacer html doc for details)
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
ChangeLog
configure.ac
doc/manual.html
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
|
|
|
|
|
| |
and also provided four build-in modules for the most common use
cases, hopefully resulting in a speedup of around 5% for typical
rsyslog processing.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
runtime/Makefile.am
runtime/atomic.h
runtime/queue.c
runtime/queue.h
runtime/wti.c
runtime/wti.h
runtime/wtp.c
runtime/wtp.h
|
| |
| |
| |
| |
| |
| | |
replaced atomic operation emulation with new code. The previous code
seemed to have some issue and also limited concurrency severely. The
whole atomic operation emulation has been rewritten.
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
runtime/msg.h
|
| |
| |
| |
| |
| | |
This includes a modification to the rsyslog engine so that messages
without PRI inside the message can properly be handled.
|
| |
| |
| |
| | |
issues
|
| |
| |
| |
| |
| |
| |
| |
| | |
Most importantly, DNS resolution now never happens if the resolved name
is not required. Note that this applies to imudp - for the other inputs,
DNS resolution almost comes for free, so we do not do it there. However,
the new method has been implemented in a generic way and as such may
also be used by other modules in the future.
|
| |
| |
| |
| |
| | |
This offers considerable additional flexibility AND superior performance
(in cases where multiple inputs now can avoid lock contention)
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- control character DEL was not properly escaped
- NUL and LF characters were not properly stripped if no control
character replacement was to be done
- NUL characters in the message body were silently dropped (this was
a regeression introduced by some of the recent optimizations)
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
runtime/msg.c
I messed up and did some changes during the merge commit ;) But these are
not large, just a little bit of cleanup and some very slight optimizations
inside the msg object.
|
|/
|
|
|
|
| |
optimized substring processing, should bring a small enhancement when
forwarding with the default forwarding templates. Also did some uchar
cleanup in msg.c (thus so many changes, in reality they are few...).
|
|
|
|
|
|
| |
... hopefully reducing the number of allocs/frees as well as overall
memory usage in a busy system (plus that these shared properties hopefully
remain in cache longer than its single-instance counterparts...)
|
|
|
|
|
|
| |
This sets stage to enable use of the property-interface to speed
up things (mildly), the next step to be done. I have also fixed one
regression of yesterday's changes.
|
|
|
|
|
|
|
|
|
|
|
| |
... plus a fix for a long-time bug in obj-types.h. That lead to
the object pointer only then to become NULL when the object was
actually destructed, I discovered this issue during
introduction of the pRcvFrom property in msg_t, but it potentially had other
effects, too. I am not sure if some experienced instability resulted from this
bug OR if its fix will cause harm to so-far "correctly" running code. The later
may very well be. Thus I will change it only for the current branch and also
the beta, but not in all old builds. Let's see how things evolve.
|
|
|
|
|
| |
... plus some celanup and adding minor missing functionality
(the rule debug info again tell the property name, not just number).
|