Uninterruptable Squeak

Doug Way dway at riskmetrics.com
Thu Mar 8 20:36:02 UTC 2001


Ned Konz wrote:
> 
> On Wednesday 07 March 2001 23:43, Doug Way wrote:
> 
> > Or maybe a quicker (no doubt uglier) hack for the Process Browser would be
> > to optionally turn on CPU metering, which would be a special high priority
> > (6 or 7?) process which would sample all lower level processes and report
> > usage. (?)  This would probably kill performance, but might be an
> > interesting debugging tool to turn on temporarily when needed.
> 
> I did it with a highest-priority (8) process every 10 msec, which isn't too
> noticeable on my machine. I haven't integrated it into the ProcessBrowser yet
> since I'm busy on my Connectors stuff still. But the guts of it work and dump
> to the Transcript (see my message of about 20 minutes ago).
> 
> All I'm doing is tallying into a Bag (whose contents have been replaced by a
> higher-performance IdentitySet). This would be available from the UI task for
> reading (I think), so it could be added to the ProcessBrowser.
> 
> Would you have such a thing attached to the ProcessBrowser?

(As opposed to somewhere else in the UI?)  I played with it a little, and it seems like it would be a worthwhile addition to the ProcessBrowser.  Assuming the results are reasonably accurate, anyway, which isn't trivial for me to determine.

Actually, as a test, I turned on the auto-update feature in the ProcessBrowser, to see if that showed up in the CPU tally.  Auto-update makes the UI noticeably jerky, so I figured it must be chewing up some CPU.  But it didn't show up in the CPU tally... odd.  Other than that, I tried creating some short-term processes during a CPU tally (e.g. [3000 factorial]) at various priorities, and the tally seemed to capture those pretty well.

Anyway, regarding integrating it with the ProcessBrowser, perhaps it would need to be an optional item which could be turned on and off, maybe in conjunction with auto-update. (since it needs to sample over time anyway)  Or, it could be a static feature which just updates once a few seconds after opening the process browser, but that seems a little funky.  Ideally, if auto-update could be improved so that it doesn't make the UI jerky, they could both be on by default.  There might be other ways to integrate it.

- Doug Way
  dway at riskmetrics.com





More information about the Squeak-dev mailing list