summaryrefslogtreecommitdiffstats
path: root/action.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | | refactor: move action resume retry counter to wti_tRainer Gerhards2013-11-011-3/+4
| | |
* | | some debug aids & useful commments for going forwardRainer Gerhards2013-11-011-1/+11
| | |
* | | refactor: move handling too-frequent tryResume == OK to wti_tRainer Gerhards2013-11-011-6/+6
| | |
* | | refactor: move action state to wti (as we are now on a per-thread basis)Rainer Gerhards2013-11-011-62/+64
| | |
* | | cosmetic: remove commented-out codeRainer Gerhards2013-11-011-2/+0
|/ /
* | fix v8 output interface transaction begin handlingRainer Gerhards2013-10-311-12/+22
| |
* | call freeWrkrInstance() on worker thread terminationRainer Gerhards2013-10-291-4/+6
| |
* | milestone: action mutex removedRainer Gerhards2013-10-291-27/+6
| | | | | | | | | | This means actions may now be called concurrently and must make provisions themselves to handle multi-threading.
* | add debug output for worker actionsRainer Gerhards2013-10-291-0/+1
| |
* | milestone: action engine changed to partially support wrkr instance action ↵Rainer Gerhards2013-10-281-8/+13
| | | | | | | | interface
* | milestone: now shuffeling wti ptr correctly down to action handlerRainer Gerhards2013-10-271-5/+5
| | | | | | | | | | except if main queue is in direct mode -- this need smore work and thinking (probably via pthreads state variables, but let's see later)
* | milestone: calling sequence changed so that wti is passed to many functionsRainer Gerhards2013-10-261-31/+34
| |
* | maintain action ids (actionNbr)Rainer Gerhards2013-10-261-4/+5
|/
* experimental: make impstats return delta values where possibleRainer Gerhards2013-09-071-2/+2
|
* Merge branch 'v7-stable'Rainer Gerhards2013-09-031-1/+1
|\
| * make rsyslog use the new json-c pkgconfig file if availablehwoarang2013-09-031-1/+1
| |
* | enable shuffling of crypto parameters down through queue definitionRainer Gerhards2013-05-101-9/+6
|/
* cleanupRainer Gerhards2013-04-241-1/+0
|
* Merge branch 'v7-stable'Rainer Gerhards2013-04-121-1/+1
|\
| * bugfix: parameter action.execOnlyWhenPreviousIsSuspended was accidently of ↵Rainer Gerhards2013-04-121-1/+1
| | | | | | | | | | | | | | | | integer-type For obvious reasons, it needs to be boolean. Note that this change can break existing configurations if they circumvented the problem by using 0/1 values.
* | Merge branch 'c7' into tmpRainer Gerhards2013-04-091-3/+9
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac runtime/queue.c
| * | make imrelp properly terminate on system shutdownRainer Gerhards2013-04-091-3/+7
| | | | | | | | | | | | it didn't do so if it was inside a retry loop
| * | add output module interface to facilitate cooperative shutdownRainer Gerhards2013-04-081-0/+2
| |/ | | | | | | | | | | ... in more complex cases (where receiving SIGTTIN is not sufficient). See also: http://blog.gerhards.net/2013/04/rsyslog-output-plugin-wrangling.html
* | Merge branch 'v7-stable'Rainer Gerhards2013-04-081-10/+20
|\| | | | | | | | | | | Conflicts: grammar/rainerscript.c runtime/ruleset.c
| * bugfix: failover/action suspend did not work correctlyRainer Gerhards2013-04-071-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | This was experienced if the retry action took more than one second to complete. For suspending, a cached timestamp was used, and if the retry took longer, that timestamp was already in the past. As a result, the action never was kept in suspended state, and as such no failover happened. The suspend functionalit now does no longer use the cached timestamp (should not have any performance implication, as action suspend occurs very infrequently). Also added some better debug logging for the action engine.
| * Merge branch 'v6-stable' into tmpRainer Gerhards2013-03-201-1/+1
| |\
* | \ Merge branch 'v6-stable'Rainer Gerhards2013-03-121-1/+1
|\ \ \ | | |/ | |/|
| * | Merge branch 'v5-stable' into v6-stableRainer Gerhards2013-03-121-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: action.c queue.c (some code moved from action.c --> queue.c)
| | * | bugfix: divide action queue discard mark by 10 - was out of rangeTomas Heinrich2013-03-121-2/+2
| | | |
* | | | optimize memory layout for much better cache hitsRainer Gerhards2013-01-151-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moave element status out of batch_obj_t because we get a *much* better cache hit ratio this way. Note that this is really a HUGE saving, even if it doesn't look so (both profiler data as well as practical tests indicate that!).
* | | | optimize: do not iterate over batch items if unneeded ;)Rainer Gerhards2013-01-151-5/+8
| | | |
* | | | optimize: minor cleanup (long scheduled...)Rainer Gerhards2013-01-141-9/+0
| | | | | | | | | | | | | | | | | | | | I did yet another safety-check that there are no problems with removing that de-init.
* | | | optimize: do date() call in template processing only if actually neededRainer Gerhards2013-01-131-25/+2
| | | |
* | | | Merge branch 'v7-stable-newmsglock' into master-newmsglockRainer Gerhards2012-12-061-8/+0
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | Conflicts: runtime/msg.c runtime/queue.c tools/syslogd.c
| * | | Merge branch 'v6-stable-newmsglock' into v7-stable-newmsglockRainer Gerhards2012-12-061-8/+0
| |\| | | | | | | | | | | | | | | | | | Conflicts: tools/syslogd.c
| | * | bugfix: some message properties could be garbled due to race conditionRainer Gerhards2012-12-061-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | cosmetic: remove irrelevant compiler warningRainer Gerhards2012-09-271-1/+1
| | | | | | | | | | | | | | | | v7 does not even have this code any longer
* | | | bugfix: error message had an extra LF in it (can break forwarding & tools)Rainer Gerhards2012-11-291-1/+1
| | | |
* | | | queue: change generic msg ptr (pUsr) to be of msg_t typeRainer Gerhards2012-11-031-8/+8
| | | |
* | | | queue: change gerenic queue pUsr ptr to be action_tRainer Gerhards2012-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | this was always action_t, but the initial design was more generic. We are making it specific now in order to gain better performance (after all, we did not need the generic engine in the past 8 years...)
* | | | Merge branch 'master' into master-ratelimitRainer Gerhards2012-10-241-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: doc/v7compatibility.html
| * | | | Merge branch 'v7-stable'Rainer Gerhards2012-10-241-1/+1
| |\| | |
| | * | | make rsyslog core suspened actions after 10 failures in a rowRainer Gerhards2012-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This was former the case after 1,000 failures and could cause rsyslog to be spammed/ressou
| * | | | bugfix: segfault on startup when modules using MSG_PASSING mode are usedRainer Gerhards2012-10-231-1/+4
| | | | |
* | | | | remove "last message repeated n times" from rsyslog output partRainer Gerhards2012-10-231-126/+16
|/ / / /
* | | | do "template date call" only when actually neededRainer Gerhards2012-10-111-1/+22
| | | |
* | | | optimize: do "template time() call" only once per batchRainer Gerhards2012-10-101-5/+8
|/ / / | | | | | | | | | | | | | | | This still needs more optimizing as the call is very often NOT needed - but we need to know about the templates in that case.
* | | fix invalid state handling during action executionRainer Gerhards2012-09-251-1/+1
| | | | | | | | | | | | could lead to execution of not-to-be-executed action. very recent regression.
* | | fix optimizer-introduced memleak in action destructionRainer Gerhards2012-09-251-1/+2
| | |
* | | cleanup & better debug outputRainer Gerhards2012-09-241-27/+0
| | | | | | | | | | | | | | | - removed no longer needed function - debug log now contains action type for action objects