It's great the way features have been added to Xymon WinPSclient, but I think it's started suffering from feature bloat now, illustrating the importance of making each feature optional like BBWin did very effectively. We are seeing memory leaks on Windows 2012 R2 using version 2.28 (I started another thread about memory leaks a while back - I'll come back to this issue another time) and more and more CPU time being used up during each cycle.
It seems that from version v2.21 a slow ASCII encoding conversion was added:
myServer1 - : xymonclient.ps1 2.21 2017-04-28 zak.beck at accenture.com 2019-01-28 19:19:26 Sending to server 2019-01-28 19:19:26 Using ASCII encoding 2019-01-28 19:*20*:25 Connecting to host x.x.x.x <-- Yes, that took about *1 minute of 100% processing of 1 of the 8 CPUs/Cores*. 2019-01-28 19:20:26 Sent 2007850 bytes to server <-- OK, yes, that's rather a lot of data, but still it's not good. 2019-01-28 19:20:26 Received 130 bytes from server
Compare with: myServer1 - : xymonclient.ps1 2.19 2016-12-28 zak.beck at accenture.com 2019-01-28 19:15:59 Sending to server 2019-01-28 19:15:59 Connecting to host x.x.x.x 2019-01-28 19:15:59 Sent 2006765 bytes to server 2019-01-28 19:16:00 Received 130 bytes from server
Is it possible that converting to ASCII step introduced in v2.21 be made optional? In the latest version it is possible to send via UTF8, which was new in v2.21, or convert to ASCII, but it's not possible via configuration alone, I believe, to have the old behaviour (from v2.19) that worked fine for us and was far faster.
Another slow process is detecting the number of CPUs (on the same server):
2019-01-28 19:29:05 XymonCollectInfo: Process info 2019-01-28 19:29:05 XymonCollectInfo: calling XymonProcsCPUUtilisation 2019-01-28 19:29:05 XymonCollectInfo: CPU info (WMI) 2019-01-28 19:29:13 Found 8 CPUs, total of 0 cores 2019-01-28 19:29:13 XymonCollectInfo: OS info (including memory) (WMI) 2019-01-28 19:29:13 XymonCollectInfo: Service info (WMI)
*8 seconds* for that. Why does it need to do this every time? The number of CPUs does not normally change without at least rebooting. It could do it just on the first cycle and cache it for future cycles.
Another thing that would really speed up processing for us is being able to dynamically specify the filenames using special characters or something for the date, e.g. &DD &MM &YY We have files that rotate with new filesnames and if we could narrow down the filenames to process it would speed up processing by several more seconds. E.g. C:\Temp\myServerLog29-12-18.0.log
In client-local.cfg: Instead of: log:C:\Temp\myServerLog*.log:10240 If we could to this, it would mean we process a small fraction of the number of files: log:C:\Temp\myServerLog&DD-&MM-&YY.*.log:10240
Kind regards,
SebA