Today, Aesalon changes course.
I am seriously considering a complete re-write of the monitor, and a good
portion of the GUI as well. Why? Because I want to completely re-vamp the
data gathering system, as well as introduce a whole new swatch of features.
Such as data read/written through pipes and sockets, thread creation, children
spawned, and other, more useful information besides just memory usage. This
information will help programmers corrobate interface behaviour with low-level
behaviour.
So, the steps that need to be taken. First of all, much of the current setup
is not flexible enough to allow this sort of information-gathering. However,
the basic design of an overload library, an overload library parser, and an
interactive visualization tool works well, I think, so I will keep that much.
The decision I have to make now, though, is should I re-write everything?
Re-writing everything has a few advantages. First of all, I can plan
everything out a little more easily, from the experience I have with this
iteration. I can write it to be much more flexible, extensible, and more
efficient. A primary example is the storage mechanism in the GUI . . . that
needs a lot of work. Finally, I can create a much more generic platform that
can be used for a lot more than just information gathering, but also code
injection -- debugging and garbage collection -- and perhaps program control.
However, the disadvantages are rather obvious. Re-writing everything means
erasing five months of work, including quite a bit that could be saved and re-
used.
I'll have to meditate on it for a while.