Initial support for NetBSD. This adds NetBSD support for everything except diskio stats (since they're even more disturbingly complex to get at on NetBSD than the three OSs we already support). Tested against NetBSD 1.6 on i386.
Fix for freebsd network traffic too.. Everything stores it in 32bit with the exception of SOL8+ hosts. Its a stupid world ;)
Linux stores it as a 32bit unsigned long, so suffers the same wrap around bug as sol 7 hosts. This increases the chances it may happen on freebsd too so some testing maybe needed. If so, we prob should change this to a default and have a #ifdef 64bit for the odd (good) ones :)
Tidy up of lots of little things. :)
Now works on freebsd. This is the last of parts that needed to be ported so its now "finished" for testing. Solaris and Linux should also be tested as minor changes in code may of disturbed them (it shouldn't have, i just may of made a mistake :) ) Certain things will require setgid kmem permissions (swap and processor stats)
Fixed memory leak in regex stuff
Fixed some issues with not closing FILE*'s.
Fix another #include.
Another stupid bug in the wrap around code.
Well, i carefully made the function to look after wrap around issues, and then apparently didn't use it :) It now uses it :)
Ok, wrap around fixed for 32bit machines, not 64. I really ought to change all the long long's to ulong long's. I'll ponder if i can be bothered :)
Make network stats work on pre sol8. BUGS: On pre sol8 systems, it doesn't cope with a wrap around once the 32bit uint becomes too big. So when this happens it will report one set of dodgy data, then continue. This bug technically is there in the 64bit version too, but it will need to of sent 9223372036854775808 bytes first. (8388608 terrabytes, so basically a *big enough* number that will come around and byte me in 20 years time or something ;) )
Made network stats work with linux.
bug fix
Tidy up of configure script, and includes.
network stats now returns a diff() style function, to make it easy to show the exact average network traffic over a period of time.
Changed the kstat_close to not return NULL in event of a failure. If we cant close it, well there is nothing i can do about that, so i may as well at least return something useful since its done all the hardwork by that point. And anywan, it should never fail to close :)
The new revesion of libstatgrab, which is a complete rewrite essentially. Firstly the data is now returned in structures rather than xml strings. The structures returned are all static, so what ever calls the library doesn't have to deal with the memory management of it. Secondly the general efficency of the code is now significantly faster. It no longer needs to fork a process, connect file descriptors and run ps, and then parse the output like it used to. Now it walks /proc and reads it into the correct data structures. This works without needing any special privilages, so it can still run as a normal mortal without needing any special group. (Freebsd will be an exception to this, but this commit only works with solaris, and that requires nothing special) Thridly it has more functionality than it used to. It not for instance is capable of showing network traffic stats, (although its not completely finished yet). It also in the near future be able to disk io stats as well. Several bug fixes have been aplied over the original version. For example the cpu_stats used to only reply the stats for the first processor. This now will report the total stats of all of them. Paging stats will also be fixed, but haven't been done yet.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.