summaryrefslogtreecommitdiffstats
path: root/runtime/queue.h
Commit message (Collapse)AuthorAgeFilesLines
* debug log: emit (some) action queue parameters to debug logRainer Gerhards2012-07-051-0/+1
|
* Merge branch 'v5-stable-newstats'Rainer Gerhards2012-04-071-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: action.c configure.ac doc/imuxsock.html plugins/imklog/imklog.c plugins/imptcp/imptcp.c plugins/imtcp/imtcp.c plugins/imudp/imudp.c plugins/imuxsock/imuxsock.c runtime/glbl.c runtime/glbl.h runtime/net.c runtime/ruleset.c tcpsrv.h tools/syslogd.c
| * Merge branch 'v5-stable' into v5-stable-newstatsRainer Gerhards2012-03-141-1/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: plugins/imuxsock/imuxsock.c runtime/queue.c runtime/queue.h
| * | added configuration directives to customize queue light delay marksRainer Gerhards2012-02-211-0/+1
| | | | | | | | | | | | | | | $MainMsgQueueLightDelayMark, $ActionQueueLightDelayMark; both specify number of messages starting at which a delay happens.
| * | added instrumentationRainer Gerhards2011-12-191-0/+2
| | |
* | | Merge branch 'v6-stable'Rainer Gerhards2012-03-171-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: plugins/imuxsock/imuxsock.c runtime/queue.c runtime/queue.h
| * | changed statsobj interface and added better docRainer Gerhards2012-03-141-1/+1
| |/
* | Merge branch 'v5-devel'Rainer Gerhards2011-12-191-0/+2
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog action.c plugins/imudp/imudp.c
| * | more work on queue statistics counterRainer Gerhards2011-12-161-1/+2
| | |
| * | new stats counter "discarded" for queue objectRainer Gerhards2011-12-161-0/+1
| |/ | | | | | | Tells how many messages have been discarded due to queue full condition.
* | milestone: queue-params are properly initialized for action queuesRainer Gerhards2011-08-011-0/+1
| |
* | milestone: queue object now has a param handler for new conf interfaceRainer Gerhards2011-07-221-0/+3
|/ | | | ... and action queue defs use this new interface (but not yet the main queues)
* removed no longer needed codeRainer Gerhards2011-02-111-1/+0
|
* improved statistics-gathering subsystemRainer Gerhards2010-09-131-0/+6
| | | | | | | | ... well, actually this is a first real implementation of this subsystem. I have added a counter registry, a way to access the countres (as readable string) and a way to define and maintem them. Also, module impstats has been updated to utilize the new system. Finally, I added some counters. I hope that this sets the baseline for useful future enhancements.
* milestone(BUGGY): batch now pushed down to actionRainer Gerhards2010-06-151-0/+2
| | | | | | | at least in important cases (not for non-direct action queues and some other minor things). This version is definitely buggy, but may be tried with success on a non-production system. I will continue to work on the correctness, but needed to commit now to get a baseline.
* somewhat improved direct mode queue performanceRainer Gerhards2010-06-091-1/+3
| | | | | ... but only for batch enqueues. This will not help much with the current code, but will play well with upcoming changes.
* adapted new atomic instruction emulation to v5 engineRainer Gerhards2010-04-271-0/+1
| | | | code did not compile after merge from v4
* Merge branch 'v4-devel' into masterRainer Gerhards2010-04-271-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * bugfix: problems with atomic operations emulationRainer Gerhards2010-04-271-0/+1
| | | | | | | | | | | | 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.
* | replaced data type "bool" by "sbool" because this created some portability ↵Rainer Gerhards2010-02-021-5/+5
| | | | | | | | issues
* | added the capability to have ruleset-specific main message queuesRainer Gerhards2009-10-271-2/+2
| | | | | | | | | | This offers considerable additional flexibility AND superior performance (in cases where multiple inputs now can avoid lock contention)
* | removed no longer needed flag variableRainer Gerhards2009-10-271-1/+0
| |
* | some cleanupRainer Gerhards2009-10-271-1/+0
| |
* | bugfix: message processing states were not set correctly in all casesRainer Gerhards2009-10-191-6/+0
| | | | | | | | | | | | however, this had no negative effect, as the message processing state was not evaluated when a batch was deleted, and that was the only case where the state could be wrong.
* | added some debug settings plus improved shutdown sequenceRainer Gerhards2009-10-131-4/+5
| | | | | | | | ... non-working version!
* | simplified startup of queue DA modeRainer Gerhards2009-07-201-1/+0
| |
* | further code simplificationRainer Gerhards2009-07-171-11/+0
| | | | | | | | | | | | | | | | | | ... could even remove one mutex by using a better algorithm. I think I also spotted some situation in which a hang could have happened. As I can't fix it in v4 and less without moving to the new engine, I make no effort in testing this out. Hangs occur during shutdown, only (if at all). The code changes should also result in some mild performance improvement. Some bug potential, but overall the bug potential should have been greatly reduced.
* | Merge branch 'omfile' into tmpRainer Gerhards2009-06-221-8/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a complex manual merge, especially in action.c. So if there occur some problems, this would be a good point to start troubleshooting. I run a couple of tests before commiting and they all went well. Conflicts: action.c action.h runtime/queue.c runtime/queue.h runtime/wti.c runtime/wti.h
| * removed uniprocessor optimizationRainer Gerhards2009-06-191-7/+6
| | | | | | | | | | | | ... as it was not even optimal on uniprocessors any longer ;) I keep the config directive in, maybe we can utilize it again at some later point in time (questionable).
| * further optimized message objectRainer Gerhards2009-06-171-0/+1
| | | | | | | | pri, facility and severity string generation simplified
* | Merge branch 'omfile' into v5-develRainer Gerhards2009-06-161-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that this was NOT a trivial merge, and there may be some issues. This needs to be seen when we continue developing. Conflicts: runtime/msg.h runtime/obj.h runtime/queue.c runtime/srUtils.h runtime/stream.c runtime/stream.h runtime/wti.c tests/Makefile.am tools/omfile.c tools/syslogd.c
| * added capability to fsync() queue disk files for enhanced reliabilityRainer Gerhards2009-06-091-0/+2
| | | | | | | | | | | | | | also adds speed, because you do no longer need to run the whole file system in sync mode. New testbench and new config directives: - $MainMsgQueueSyncQueueFiles - $ActionQueueSyncQueueFiles
* | solved design issue with queue terminationRainer Gerhards2009-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | ... and also improved the test suite. There is a design issue in the v3 queue engine that manifested to some serious problems with the new processing mode. However, in v3 shutdown may take eternally if a queue runs in DA mode, is configured to preserve data AND the action fails and retries immediately. There is no cure available for v3, it would require doing much of the work we have done on the new engine. The window of exposure, as one might guess from the description, is very small. That is probably the reason why we have not seen it in practice.
* | solved the intended-discard-during-dequeue issueRainer Gerhards2009-05-191-1/+1
| |
* | queue size calculation now based on logical/physical dequeueRainer Gerhards2009-05-191-1/+2
| | | | | | | | | | | | ... needed to split the old single counter into two. I wouldn't bet that I made some mistakes while doing so, but at least some ad-hoc tests plus the testbench do no longer indicate errors.
* | removed queue's UngetObj() callRainer Gerhards2009-05-181-6/+0
| | | | | | | | ... which is no longer needed thanks to the new queue design.
* | t-delete list implemented, queue store drivers updated...Rainer Gerhards2009-05-181-5/+20
| | | | | | | | | | | | ... on the way to the ultra-reliable queue modes (redesign doc). This version does not really work, but is a good commit point. Next comes queue size calculation. DA mode does not yet work.
* | moving to a cleaner implementation of batchesRainer Gerhards2009-05-121-2/+3
| | | | | | | | ... now that we know what we need from a theoretical POV.
* | added $MainMsgQueueDequeueBatchSize and $ActionQueueDequeueBatchSize ↵Rainer Gerhards2009-04-231-1/+2
| | | | | | | | configuration directives
* | now batches are handed down to the actual consumerRainer Gerhards2009-04-221-5/+4
| | | | | | | | | | | | ... but the action consumer does not do anything really intelligent with them. But the DA consumer is already done, as is the main message queue consumer.
* | first attempt at dequeueing multiple batches inside the queueRainer Gerhards2009-04-221-1/+3
|/ | | | | | ... but this code has serious problems when terminating the queue, also it is far from being optimal. I will commit a series of patches (hopefully) as I am on the path to the final implementation.
* integrated various patches for solarisRainer Gerhards2009-03-051-25/+25
| | | | | | | | | Unfortunatley, I do not have the full list of contributors available. The patch set was compiled by Ben Taylor, and I made some further changes to adopt it to the news rsyslog branch. Others provided much of the base work, but I can not find the names of the original authors. If you happen to be one of them, please let me know so that I can give proper credits.
* added a setting "$OptimizeForUniprocessor"Rainer Gerhards2008-10-221-0/+1
| | | | | | ...to enable users to turn off pthread_yield calls which are counter-productive on multiprocessor machines (but have been shown to be useful on uniprocessors)
* begin building runtime convenience library (does not build!)Rainer Gerhards2008-04-151-0/+205