Hi Janmejay, thanks for being so persistent with this. I am currently working on libfastjson and hope to have a much different version available shortly. In theory, it could give quite a performance boost, but this is not totally clear, a lot is really experimental. Would you be willing to give the new code a try when it is ready? That would definitely help me get quicker feedback and thus a quicker path towards a final solution.
The main thing of concern is this: https://github.com/rsyslog/libfastjson/issues/35 Rainer 2016-04-12 16:39 GMT+02:00 singh.janmejay <[email protected]>: > I cooked up this little systemtap script to track cause of off-cpu > latency (with latency quantification). It identifies latencies by > userspace-backtrace, kernel-backtrace and thread-id. > > It'll give us very useful data when you see low-TP with > processing-backlog while CPU runs cold. > > Run it as $ sudo stap -v <script> -x $(pgrep rsyslogd) > > Let it run for several seconds (say ~ 2 minutes) and interrupt it after that. > > It requires libc(and other libraries being used by Rsyslog) to be > built with frame-pointers (-fno-omit-frame-pointer) and will require > debug-symbols. > > Here is the script: > ===========================START > > global u_traces, k_traces, off_start, latencies, ubt_cache, kbt_cache > > probe syscall.* { > if (task_current()->tgid == target()) { > ubt_cache[task_current()->pid] = ubacktrace(); > } > } > > probe kernel.trace("sched_switch") { > if ($prev->tgid == target()) { > off_start[$prev->pid] = gettimeofday_us(); > kbt_cache[$prev->pid] = backtrace(); > } else if ($next->tgid == target()) { > start = off_start[$next->pid]; > if (start > 0) { > lat = gettimeofday_us() - start; > latencies[$next->pid] += lat; > if (ubt_cache[$next->pid] != "") { > u_traces[ubt_cache[$next->pid]] += lat; > } > cached_kbt = kbt_cache[$next->pid] > if (cached_kbt != "") { > k_traces[cached_kbt] += lat; > } > } > } > } > > probe end { > printf("\nU-Traces(with micro-sec off-cpu time, remember this is not > accurate in case when you see high-enough of non-voluntary > ctx-sw):\n") > foreach (stack in u_traces) { > printf("%d:\n", u_traces[stack]) > print_usyms(stack); > } > printf("\nK-Traces(with micro-sec off-cpu time):\n") > foreach (stack in k_traces) { > printf("%d:\n", k_traces[stack]) > print_syms(stack); > } > printf("\nThread-wise micro-sec off-cpu time:\n") > foreach (l in latencies) { > printf("tid=%d : %d\n", l, latencies[l]) > } > } > > ============================END > > This should help you triangulate data with sched_switch event: > > sudo perf stat -e sched:sched_switch -a -g -p $(pgrep rsyslogd) sleep 120 > > Here is the comparison of cpu-profile of my branch with (left side) > and without (right side) core and edge relay stats gathering. Both > runs took ~24 - 26 seconds. > > https://drive.google.com/open?id=0B_XhUZLNFT4dWWl4R2ZrU0w2aFE > > Here is it with my old patched branch on the left side and master on right: > > https://drive.google.com/open?id=0B_XhUZLNFT4dOHo2QXdGYjFGVTQ > > It seems master is utilizing CPU noticeably better. Again, because > this is an EC2 machine, I don't have control over hardware and other > tenants, so I can't be sure (I was seeing high io-waits, the pattern > was different from yesterday). But all in all, master seems to be > working better (better CPU util, lower batch-posting time etc). I had > a run with master rsyslog again just to check overall time to handle > -C 100 -I <good json messages> flood and it still reports master > taking ~ 20s and my branch taking ~26s. > > Reduced CPU on processDataRcvd clearly indicates some back-pressure. > fjson_tokener_parse_ex seems to be making it much better than old > json_tokener_parse_ex. > > I guess I am happy with what I see both from the PoV of moving to > master (ditching my branch without fear of perf issues, 300k to 200k > jump you talked about) and from dynstats + rscript handling variables > that need higher number of de-references. We can only go so far on a > synthetic benchmark. > > Please do let us know what stap tells you, it'll be interesting input > while working on future perf related tasks. > > On Tue, Apr 12, 2016 at 2:30 AM, David Lang <[email protected]> wrote: >> At this point I have things working. I found that in some cases I had logic >> errors where the variable being used in the update did not exist, or was >> otherwise not a valid json tag (spaces, etc) >> >> David Lang >> >> On Mon, 11 Apr 2016, singh.janmejay wrote: >> >>> Date: Mon, 11 Apr 2016 23:04:48 +0530 >>> >>> From: singh.janmejay <[email protected]> >>> Reply-To: rsyslog-users <[email protected]> >>> To: rsyslog-users <[email protected]> >>> Subject: Re: [rsyslog] dynastats problems with user defined variables? >>> >>> David, >>> >>> Did a few runs with those lines present / commented out with >>> rsyslog-master. I see no difference in either on-cpu or off-cpu >>> performance. The left-hand-side is with edge-relay and core-relay >>> lines being active, and the right-side has them commented out. Here is >>> the cpu profile: >>> https://drive.google.com/open?id=0B_XhUZLNFT4dWDFOZlB6VW1hc0E >>> The hypercall on top is cpu-idle call. This was on a c1.4large box on ec2. >>> >>> Both were on the same version of Rsyslog (built off master). I'll do >>> another round of tests with the version I run on production (which is >>> patched fork of 8.12, afair) to identify any large change in cpu >>> profile. >>> >>> This is a much more simplified version of config though. I extracted >>> valid (non garbled) json messages from debug log(got 9089 lines) and >>> pumped them in 100 times using tcpflood. >>> >>> tcpflood call was timed, it took between 19.7 - 20.5 seconds for each >>> run regardless of edge and core relay counters being incremented. It >>> was ~ 45k / sec (but again, neither the load profile, not the machine >>> is not exactly like yours), so its not apples to apples. >>> >>> >>> On Fri, Apr 8, 2016 at 12:15 PM, singh.janmejay >>> <[email protected]> wrote: >>>> >>>> It doesn't treat them any different. It takes the key and puts it in a >>>> hash-table and set an accumulator as its value. Then it'll look it up >>>> every time you ask it to increment the counter followed by actual >>>> increment. That is about it. >>>> >>>> The only way I can foresee the contents affecting its behavior is the >>>> hash-fn takes more CPU time when given a large string. But that should >>>> be on-cpu and not off-cpu time. >>>> >>>> Today im working on a getting an Rsyslog build running with config >>>> into which I inject messages from your debug-log (i'll extract >>>> messages and tcpflood them in) and try to understand why it behaves >>>> different between those lines commented out or not. >>>> >>>> If I fail to reproduce it in this simple setup, we'll have to track >>>> backtraces that are taking Rsyslog off-cpu in your environment. >>>> >>>> On Fri, Mar 25, 2016 at 12:57 AM, David Lang <[email protected]> wrote: >>>>> >>>>> doing a little more digging (and some accidental stuff), is it possible >>>>> that >>>>> it's running into grief if the contents of the variable are not a simple >>>>> word (spaces or other funny characters in the value)? >>>>> >>>>> David Lang >>>>> >>>>> On Wed, 23 Mar 2016, singh.janmejay wrote: >>>>> >>>>>> Date: Wed, 23 Mar 2016 01:07:49 +0530 >>>>>> >>>>>> From: singh.janmejay <[email protected]> >>>>>> Reply-To: rsyslog-users <[email protected]> >>>>>> To: rsyslog-users <[email protected]> >>>>>> Subject: Re: [rsyslog] dynastats problems with user defined variables? >>>>>> >>>>>> Yep, it looked like that. Its interesting though, its 100% off CPU >>>>>> (very unique). >>>>>> >>>>>> On Wed, Mar 23, 2016 at 1:02 AM, David Lang <[email protected]> wrote: >>>>>>> >>>>>>> >>>>>>> Yes, the first one is with the user variables commented out, exactly >>>>>>> what >>>>>>> I >>>>>>> pasted in from the grep. >>>>>>> >>>>>>> the second is enabling the dyn_inc for edge relays. >>>>>>> >>>>>>> David Lang >>>>>>> >>>>>>> On Wed, 23 Mar 2016, singh.janmejay wrote: >>>>>>> >>>>>>>> Date: Wed, 23 Mar 2016 00:51:18 +0530 >>>>>>>> From: singh.janmejay <[email protected]> >>>>>>>> Reply-To: rsyslog-users <[email protected]> >>>>>>>> To: rsyslog-users <[email protected]> >>>>>>>> Subject: Re: [rsyslog] dynastats problems with user defined >>>>>>>> variables? >>>>>>>> >>>>>>>> You meant the first one was with "commented out" version right? (you >>>>>>>> said uncommenting edge_relay, so double-checking). >>>>>>>> >>>>>>>> On Wed, Mar 23, 2016 at 12:38 AM, David Lang <[email protected]> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> here is vmstat 1 running >>>>>>>>> >>>>>>>>> # vmstat 1 >>>>>>>>> procs -----------memory---------- ---swap-- -----io---- -system-- >>>>>>>>> ------cpu----- >>>>>>>>> r b swpd free buff cache si so bi bo in cs us >>>>>>>>> sy >>>>>>>>> id >>>>>>>>> wa st >>>>>>>>> 2 0 62280 2363804 584 27280376 0 1 21 596 0 1 >>>>>>>>> 46 >>>>>>>>> 3 >>>>>>>>> 51 0 0 >>>>>>>>> 1 0 62280 2349476 584 27280612 0 0 0 87042 979 891 >>>>>>>>> 4 >>>>>>>>> 0 >>>>>>>>> 95 0 0 >>>>>>>>> 1 0 62280 2330488 584 27280908 0 0 0 0 388 258 >>>>>>>>> 4 >>>>>>>>> 0 >>>>>>>>> 96 0 0 >>>>>>>>> 1 0 62280 2314744 584 27281148 0 0 0 0 396 255 >>>>>>>>> 4 >>>>>>>>> 0 >>>>>>>>> 96 0 0 >>>>>>>>> 1 0 62280 2297736 584 27281388 0 0 0 0 376 245 >>>>>>>>> 4 >>>>>>>>> 0 >>>>>>>>> 96 0 0 >>>>>>>>> 2 0 62280 2546260 584 27245272 0 0 0 4 639 568 >>>>>>>>> 6 >>>>>>>>> 1 >>>>>>>>> 94 0 0 >>>>>>>>> 2 0 62280 2464300 584 27245928 0 0 0 1716 936 1146 >>>>>>>>> 8 >>>>>>>>> 0 >>>>>>>>> 91 0 0 >>>>>>>>> 2 0 62280 2394452 584 27246444 0 0 0 8 687 333 >>>>>>>>> 8 >>>>>>>>> 0 >>>>>>>>> 92 0 0 >>>>>>>>> >>>>>>>>> >>>>>>>>> here is vmstat 1 uncommenting edge_relay >>>>>>>>> >>>>>>>>> # vmstat 1 >>>>>>>>> procs -----------memory---------- ---swap-- -----io---- -system-- >>>>>>>>> ------cpu----- >>>>>>>>> r b swpd free buff cache si so bi bo in cs us >>>>>>>>> sy >>>>>>>>> id >>>>>>>>> wa st >>>>>>>>> 1 0 62280 3198672 584 26770624 0 1 21 596 0 1 >>>>>>>>> 46 >>>>>>>>> 3 >>>>>>>>> 51 0 0 >>>>>>>>> 0 0 62280 3198904 584 26770664 0 0 0 0 151 247 >>>>>>>>> 0 >>>>>>>>> 0 >>>>>>>>> 100 0 0 >>>>>>>>> 0 0 62280 3200332 584 26770664 0 0 0 0 128 233 >>>>>>>>> 0 >>>>>>>>> 0 >>>>>>>>> 100 0 0 >>>>>>>>> 0 0 62280 3202244 584 26770664 0 0 0 4 172 315 >>>>>>>>> 0 >>>>>>>>> 0 >>>>>>>>> 100 0 0 >>>>>>>>> 0 0 62280 3203132 584 26770664 0 0 0 0 132 218 >>>>>>>>> 0 >>>>>>>>> 0 >>>>>>>>> 100 0 0 >>>>>>>>> 0 0 62280 3203912 584 26770668 0 0 0 8 203 347 >>>>>>>>> 0 >>>>>>>>> 0 >>>>>>>>> 100 0 0 >>>>>>>>> >>>>>>>>> >>>>>>>>> things just are not running with it uncommented. >>>>>>>>> >>>>>>>>> I'm going to send you my config directly, it is a very heavy config. >>>>>>>>> >>>>>>>>> David Lang >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, 23 Mar 2016, singh.janmejay wrote: >>>>>>>>> >>>>>>>>>> On my cluster, each node (those 66 nodes) have 4 threads for >>>>>>>>>> ruleset >>>>>>>>>> (it does everything, lognorm based parsing, lookups using loopup >>>>>>>>>> table, re_extract, string concat, several if-else based conditions >>>>>>>>>> and >>>>>>>>>> queues up for egress using omkafka and I generally see 3 being >>>>>>>>>> utilized). This setup runs at ~37k msg/s (2.5M / 66 = 37k). >>>>>>>>>> >>>>>>>>>> 300k/Min is still 5k/s which should be doable on a single-thd >>>>>>>>>> (unless >>>>>>>>>> your ruleset is much heavier than mine). Im thinking for a >>>>>>>>>> equivalently complex ruleset 37k / 4 = 9k should be achievable. >>>>>>>>>> >>>>>>>>>> I'll try to reproduce this. Can you share out the exact commit-id >>>>>>>>>> you >>>>>>>>>> are working with? >>>>>>>>>> >>>>>>>>>> On Tue, Mar 22, 2016 at 8:38 PM, David Lang <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Tue, 22 Mar 2016, singh.janmejay wrote: >>>>>>>>>>> >>>>>>>>>>>> On Tue, Mar 22, 2016 at 5:01 AM, David Lang <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I added this to my configs >>>>>>>>>>>>> >>>>>>>>>>>>> # grep -B 1 -A 1 dyn_ /etc/rsyslog.conf >>>>>>>>>>>>> # custom stats to track in rsyslog >>>>>>>>>>>>> dyn_stats(name="msgs_per_host" resettable="on" >>>>>>>>>>>>> maxCardinality="3000" >>>>>>>>>>>>> unusedMetricLife="1200") >>>>>>>>>>>>> dyn_stats(name="msgs_per_edge_relay" resettable="on" >>>>>>>>>>>>> maxCardinality="3000" >>>>>>>>>>>>> unusedMetricLife="1200") >>>>>>>>>>>>> dyn_stats(name="msgs_per_core_relay" resettable="on" >>>>>>>>>>>>> maxCardinality="3000" >>>>>>>>>>>>> unusedMetricLife="1200") >>>>>>>>>>>>> dyn_stats(name="msgs_per_program" resettable="on" >>>>>>>>>>>>> maxCardinality="3000" >>>>>>>>>>>>> unusedMetricLife="1200") >>>>>>>>>>>>> dyn_stats(name="msgs_per_tag" resettable="on" >>>>>>>>>>>>> maxCardinality="3000" >>>>>>>>>>>>> unusedMetricLife="1200") >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> /var/log/sources-messages;sources >>>>>>>>>>>>> set $.inc = dyn_inc("msgs_per_host", $hostname); >>>>>>>>>>>>> set $.inc = dyn_inc("msgs_per_program", $programname); >>>>>>>>>>>>> # if $!trusted!edge!relay != "" then { >>>>>>>>>>>>> # set $.inc = dyn_inc("msgs_per_edge_relay", >>>>>>>>>>>>> $!trusted!edge!relay); >>>>>>>>>>>>> # } >>>>>>>>>>>>> # if $!trusted!core!relay != "" then { >>>>>>>>>>>>> # set $.inc = dyn_inc("msgs_per_edge_relay", >>>>>>>>>>>>> $!trusted!core!relay); >>>>>>>>>>>>> # } >>>>>>>>>>>>> -- >>>>>>>>>>>>> } >>>>>>>>>>>>> #set $.inc = dyn_inc("msgs_per_tag", $.custommessage); >>>>>>>>>>>>> /var/log/messages-tags;manual >>>>>>>>>>>>> >>>>>>>>>>>>> if I uncomment any of the lines that refer to $! or $. >>>>>>>>>>>>> variables, >>>>>>>>>>>>> rsyslog >>>>>>>>>>>>> basically stops processing messages (a few messages seem to be >>>>>>>>>>>>> processed >>>>>>>>>>>>> in >>>>>>>>>>>>> spurts, bit a lot of processing never happens) >>>>>>>>>>>>> >>>>>>>>>>>>> any chance that this has problems with locking around user >>>>>>>>>>>>> defined >>>>>>>>>>>>> variables? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Not sure, I run it in production (66 6-cpu(HT) haswell VMs >>>>>>>>>>>> handling >>>>>>>>>>>> an >>>>>>>>>>>> aggregate of ~2.5 M-msg / sec (~1.5kB each)) and haven't seen >>>>>>>>>>>> such >>>>>>>>>>>> jitters, but then I don't use 3 level deep keys either and in my >>>>>>>>>>>> case, >>>>>>>>>>>> the feature is backported to 8.12 branch), so still uses json-c >>>>>>>>>>>> (not >>>>>>>>>>>> libfastjson). I do use it with user-defined variables too, just >>>>>>>>>>>> not >>>>>>>>>>>> nested as deep. >>>>>>>>>>>> >>>>>>>>>>>> We don't treat variables differently after dereferencing them in >>>>>>>>>>>> the >>>>>>>>>>>> top-most layer handling rainerscript fn-calls, so $hostname and >>>>>>>>>>>> $!x!y!z, as far as any rainerscript fn invocation is considered, >>>>>>>>>>>> are >>>>>>>>>>>> the same (performance-wise) except for the top-level dereference >>>>>>>>>>>> (outside of fn-impl-body). >>>>>>>>>>>> >>>>>>>>>>>> Some more info may come handy in reproducing it: >>>>>>>>>>>> - What is the message throughput (in msg/s) and what is the avg >>>>>>>>>>>> msg >>>>>>>>>>>> size? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> with these commented out as above, ~50k messages/min normal, ~200K >>>>>>>>>>> message/min if I'm replaying queued logs (box saturated, see the >>>>>>>>>>> other >>>>>>>>>>> thread where 8.17 final seems to have slowed down from ~300K >>>>>>>>>>> messages/min >>>>>>>>>>> that I was getting with a 8.16+ git) >>>>>>>>>>> >>>>>>>>>>>> - Do you see messages being written to sources-messages file, >>>>>>>>>>>> while >>>>>>>>>>>> they don't get written to messages-tags file? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Yes, but not all messages. I have an alarm that goes off if >>>>>>>>>>> sources-messages >>>>>>>>>>> isn't written to in two 35 second checks (70 seconds total), that >>>>>>>>>>> alarm >>>>>>>>>>> never fired. But there would be a burst of messages show up in >>>>>>>>>>> sources-messages and then 20 or so seconds before another burst >>>>>>>>>>> would >>>>>>>>>>> show >>>>>>>>>>> up. >>>>>>>>>>> >>>>>>>>>>>> - Do you see a significant jump in voluntary context switches(say >>>>>>>>>>>> per >>>>>>>>>>>> 10 seconds or even per second) when you uncomment those lines? >>>>>>>>>>>> How >>>>>>>>>>>> big >>>>>>>>>>>> is the jump? >>>>>>>>>>>> - How does the observation change if you replace it with this >>>>>>>>>>>> kind >>>>>>>>>>>> of >>>>>>>>>>>> variable access pattern: >>>>>>>>>>>> >>>>>>>>>>>> set $.x = $!trusted!edge!relay; >>>>>>>>>>>> if $.x != "" then { >>>>>>>>>>>> set $.inc = dyn_inc("msgs_per_edge_relay", $.x); >>>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> will check. >>>>>>>>>>> >>>>>>>>>>>> - Is this stock 8.17 build? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> stock config, but against git as of yesterday. I needed to get >>>>>>>>>>> liblognorm >>>>>>>>>>> 2.0 and the current libjsonfast >>>>>>>>>>> >>>>>>>>>>>> - Is this x86-64 Linux? What distro (and version)? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ubuntu trusty (14.04) 64 bit. >>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Also, the documentation doesn't say why we are setting $.inc to >>>>>>>>>>>>> the >>>>>>>>>>>>> result >>>>>>>>>>>>> of the command, what does $.inc contain after the command is >>>>>>>>>>>>> run? >>>>>>>>>>>>> from >>>>>>>>>>>>> the >>>>>>>>>>>>> documentation, it looks like it contains an error code (at least >>>>>>>>>>>>> the >>>>>>>>>>>>> way >>>>>>>>>>>>> it's used is similar to error code returns in other languages), >>>>>>>>>>>>> but >>>>>>>>>>>>> I >>>>>>>>>>>>> don't >>>>>>>>>>>>> see what the errors are in the doc page. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Yes, it is the error-code. It has value 0 when successful, an >>>>>>>>>>>> non-zero >>>>>>>>>>>> when it fails to increment (it may fail due to maxCardinality >>>>>>>>>>>> being >>>>>>>>>>>> hit or due to a contended for lock etc (it doesn't wait for the >>>>>>>>>>>> lock, >>>>>>>>>>>> it uses try-lock and doesn't increment the counter if it can't >>>>>>>>>>>> get a >>>>>>>>>>>> shared-lock over the bucket). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> While I do have multiple threads running on the main queue, the >>>>>>>>>>> places >>>>>>>>>>> I >>>>>>>>>>> am >>>>>>>>>>> calling this are on action queues with only one worker, so the >>>>>>>>>>> only >>>>>>>>>>> lock >>>>>>>>>>> conflict should be when the data is reported. >>>>>>>>>>> >>>>>>>>>>>> These are rsyslog error-codes. It does an error pass-thru. >>>>>>>>>>>> >>>>>>>>>>>> I'll add this to documentation (didn't know this was missed). >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks. >>>>>>>>>>> >>>>>>>>>>> Sorry I didn't get a chance to run this pre-release, this is >>>>>>>>>>> exactly >>>>>>>>>>> why >>>>>>>>>>> I >>>>>>>>>>> try to use features like this pre-release to spot the things that >>>>>>>>>>> the >>>>>>>>>>> person >>>>>>>>>>> developign them misses because they are too close to the problem. >>>>>>>>>>> :-) >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> David Lang >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> rsyslog mailing list >>>>>>>>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog >>>>>>>>>>> http://www.rsyslog.com/professional-services/ >>>>>>>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards >>>>>>>>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a >>>>>>>>>>> myriad >>>>>>>>>>> of >>>>>>>>>>> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if >>>>>>>>>>> you >>>>>>>>>>> DON'T >>>>>>>>>>> LIKE THAT. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> rsyslog mailing list >>>>>>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog >>>>>>>>> http://www.rsyslog.com/professional-services/ >>>>>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards >>>>>>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a >>>>>>>>> myriad >>>>>>>>> of >>>>>>>>> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you >>>>>>>>> DON'T >>>>>>>>> LIKE THAT. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> rsyslog mailing list >>>>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog >>>>>>> http://www.rsyslog.com/professional-services/ >>>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards >>>>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a >>>>>>> myriad >>>>>>> of >>>>>>> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you >>>>>>> DON'T >>>>>>> LIKE THAT. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> rsyslog mailing list >>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog >>>>> http://www.rsyslog.com/professional-services/ >>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards >>>>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad >>>>> of >>>>> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you >>>>> DON'T >>>>> LIKE THAT. >>>> >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> Janmejay >>>> http://codehunk.wordpress.com >>> >>> >>> >>> >>> >> _______________________________________________ >> rsyslog mailing list >> http://lists.adiscon.net/mailman/listinfo/rsyslog >> http://www.rsyslog.com/professional-services/ >> What's up with rsyslog? Follow https://twitter.com/rgerhards >> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of >> sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T >> LIKE THAT. > > > > -- > Regards, > Janmejay > http://codehunk.wordpress.com > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com/professional-services/ > What's up with rsyslog? Follow https://twitter.com/rgerhards > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of > sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T > LIKE THAT. _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

