Hi,
latest multimech (re-installed today via pip), on centos (python 2.6.6.) and mac (python 2.7.2 and 2.7.5).
Have looked around, but found no relevant posts, which is very surprising to me.
test case:
set up a test script to read from any web server
Do not use any sleep in the script
1 thread will do
at the very start of the script, add "self.custom_timers['send request'] = 0"
at the end of the script, set "self.custom_timers['send request'] = latency" with latency measured (or any non zero value will do)
Run the script for 10 secs or so.
You will see that the custom counter as read by multimech, for the majority of the samples, will be 0. Which is not what is expected.
When you add "time.sleep(1)", just before the "self.custom_timers['send request'] = 0", the counter is OK.
To me this is a clear case of potential data corruption, potentially influencing measurements on fast servers (which is my case). This can't be on purpose.
Is multimech reading the custom counters asynchronously? That would be an error. Please at least pull a copy before calling 'run()' again.
I have not seen any data corruption between threads (luckily).
kind regards,
Hans