Hi Leif, Well, after a short interlude with our project work here, I was finally able to have a look at your altprofile code.
Nice stuff. It's certainly a lot further advanced than the code I'd written. Well done. I've tried to get my head around your design, etc. Please tell me if the following analysis is right: ----------------------------------------------------------------- The profile manager maintains a list of profilable objects, registered either automatically by the profilable component manager, or manually via a registerProfilable() method on the manager itself. Each profilable exposes 0 to many profile points which maybe of type 'value', or 'counter'. Upon registration with the profile manager, a profilable proxy is created which manages profile point proxies across threadsafe and non thread safe components. Profile point proxies let you register listener classes for updates from the profile points themselves. The listeners can be implementors of a lower level ProfilePointListener class, or high level Sample classes. The profile manager can be configured to automatically create a set of listeners (samplers in this case) for particular profile points on a particular profilable. Samplers configured in this way can be accessed via the profile manager. The gui reporter essentially iterates through the list of available samplers when building it's menu's. When profilables update their profile points, each listener is informed of the update, along the lines of the observer pattern. The profiler manager exposes an array of all profilable descriptor objects, which in turn expose an array of all profile point descriptor objects, which offer reporting tools a way at accessing the profilable objects this manager manages and registering listeners. ----------------------------------------------------------------- Does this analysis sound right ? Is there anything I've missed ? I do have a few comments, but I want to make sure I've understood everything first. :-) Cheers, Marcus -- ..... ,,$$$$$$$$$, Marcus Crafter ;$' '$$$$: Computer Systems Engineer $: $$$$: ManageSoft GmbH $ o_)$$$: 82-84 Mainzer Landstrasse ;$, _/\ &&:' 60327 Frankfurt Germany ' /( &&& \_&&&&' &&&&. &&&&&&&: -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>