Hi Keith, I'm copying the list on my reply.
Magma, for years has included a simple tool (MagmaBenchmarker) that reports the rate of its operations in a micro way. From this report, it is feasible to guess what kind of application performance can be expected. Still, questions continued to be asked like, "how fast is Magma?", "which is faster, Magma or database-X?", "why is my Magma application so slow?" The only way I knew to probe deeper into these questions was to integrate detailed self-monitoring.
Even beyond these questions, though, is the need for Magma to monitor and reports its own health and load vs. capacity for industrial-strength systems based on it. The stats, which were a major part of the 41 release, capture timings for each part of the request lifecycle, as well as other operations on both the client and server side, that make this possible.
There is already an option, #snapshotInterval:, available to the user to change the default rate and duration of the captured stats (which is every five minutes of the last half-hour). Beyond that, I decided to just make the stats as non-intrusive as possible rather than an additional boolean check all throughout the code. The processes are in 5-minute #waits at the end of which they run probably less than 1 milliseconds worth of code, so they have no noticiable impact on performance. I've also now put them at userInterruptPriority+1 (= 51), so they are separated out in the Process browser (which is just a ui tool that could be customized anyway).
Regards, Chris
On Mon, Nov 24, 2008 at 11:42 PM, Keith Hodges keith_hodges@yahoo.co.uk wrote:
Chris,
can the stats be turned off? 44 processes per client, what are they all for? Is this in the server only?
Keith
magma@lists.squeakfoundation.org