Hi Alex,
perhaps comprehensive system accounting (CSA) is a starter to see what ideas are already around for everyday's system accounting (for such long runners as Seaside). - http://www.google.com/search?q=comprehensive+system+accounting+csa
In any case I think that accounting for memory and cpu should be per process (and so I would see my favorite memory integral again :) but that would require changes to ObjectMemory (object instantiation + GC) ...
Into quite another direction goes the polymorphism metrics, which addresses the actual receiver and/or target method per call site, and can serve as a measurement of an application's object-orientedness, etc. This should also be per process (or, better perhaps per ClassBox). - http://www.google.com/search?q=call+site+polymorphic
Hope that's not too much ;)
/Klaus
On Sat, 29 Oct 2005 19:04:34 +0200, Alexandre Bergel bergel@iam.unibe.ch wrote:
In the very near future, I plan to work on profiling technics. The question I want to ask you is: What are the information we want to obtain from a program execution?
Here are some thoughts: - 2 kinds of profiling: time and speed. How long methods of my application takes ? How much memory my application requires ? - minimize the amount of information by restricting the output of the profiler to the information I am really interested in. Basically, If I define a seaside application, I am only concerned by my application, and not by the seaside framework. - Currently, in Squeak, I can only listen to everything (i.e., every method call is measured). It might be interesting to limit the measurement to a small part of the system (e.g., objets).
I would be really interested in hearing your opinion...
Regards, Alexandre
On Oct 29, 2005, at 6:36 PM, tim Rowledge wrote:
On 29-Oct-05, at 8:50 AM, John M McIntosh wrote:
Let me add a primitive to turn that on or off
There are already primitives for controlling profiling. Just use those! clearProfile, dumpProfile, startProfiling, stopProfiling
tim --tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim