Manuia Memory Monitor

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Manuia Memory Monitor

Alexandre Bergel-4
Hi!

Between two latexing session, I did a 3 hours long coding session. I produced Manuia, a real-time memory monitor. I attached a screenshot to this email.
You can try it by:

Gofer new
        squeaksource: 'MetacelloRepository';
        package: 'ConfigurationOfSpy';
        load.
(Smalltalk at: #ConfigurationOfSpy) perform: #loadDefault


If you use a Pharo 1.1 then world menu/tools/Manuia Memory Monitor . Else, evaluate "ManuiaMonitor new open"
Green curve is about the memory consumption: when it goes up, when you consuming memory. Vertical bars indicate that at least 10 incremental garbage collect was realized.

There is a probe class button. Click on it, enter the name of a class, then you can see the evolution of the number of instances.

It is just a small experiment I did. I haven't got the time to intensively use it. Feedbacks are very welcome.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Screen shot 2010-05-31 at 08.44.47.png (25K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Mariano Martinez Peck
Hi Alexandre. This is very interesting for me.

I just test it a little. I am quite intrigued to know if the attached screenshots are normal.

I just did nothing. I mean NOTHING in the image, while Manuia was running. I just left the mouse and keyboard doing nothing.

First was picture 11 and then 13.

Another question: what is the red curve in your screenshot?  I don't have it.

Thanks

Mariano

2010/5/31 Alexandre Bergel <[hidden email]>
Hi!

Between two latexing session, I did a 3 hours long coding session. I produced Manuia, a real-time memory monitor. I attached a screenshot to this email.
You can try it by:

Gofer new
       squeaksource: 'MetacelloRepository';
       package: 'ConfigurationOfSpy';
       load.
(Smalltalk at: #ConfigurationOfSpy) perform: #loadDefault


If you use a Pharo 1.1 then world menu/tools/Manuia Memory Monitor . Else, evaluate "ManuiaMonitor new open"
Green curve is about the memory consumption: when it goes up, when you consuming memory. Vertical bars indicate that at least 10 incremental garbage collect was realized.

There is a probe class button. Click on it, enter the name of a class, then you can see the evolution of the number of instances.

It is just a small experiment I did. I haven't got the time to intensively use it. Feedbacks are very welcome.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Picture 11.png (26K) Download Attachment
Picture 13.png (26K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Mariano Martinez Peck
Alexandre: Is there a way (or will be in a future) a way to script and customize it ?

Suppose I want to trace several things, not only the amount of memory used. I would love to be able to define my own curves and have several at the same time.

Maybe what I need is just that graph but totally customized for me. Any hints?

Thanks in advance,

Mariano


On Mon, May 31, 2010 at 3:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
Hi Alexandre. This is very interesting for me.

I just test it a little. I am quite intrigued to know if the attached screenshots are normal.

I just did nothing. I mean NOTHING in the image, while Manuia was running. I just left the mouse and keyboard doing nothing.

First was picture 11 and then 13.

Another question: what is the red curve in your screenshot?  I don't have it.

Thanks

Mariano

2010/5/31 Alexandre Bergel <[hidden email]>
Hi!

Between two latexing session, I did a 3 hours long coding session. I produced Manuia, a real-time memory monitor. I attached a screenshot to this email.
You can try it by:

Gofer new
       squeaksource: 'MetacelloRepository';
       package: 'ConfigurationOfSpy';
       load.
(Smalltalk at: #ConfigurationOfSpy) perform: #loadDefault


If you use a Pharo 1.1 then world menu/tools/Manuia Memory Monitor . Else, evaluate "ManuiaMonitor new open"
Green curve is about the memory consumption: when it goes up, when you consuming memory. Vertical bars indicate that at least 10 incremental garbage collect was realized.

There is a probe class button. Click on it, enter the name of a class, then you can see the evolution of the number of instances.

It is just a small experiment I did. I haven't got the time to intensively use it. Feedbacks are very welcome.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.







_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Henrik Sperre Johansen
In reply to this post by Alexandre Bergel-4
On May 31, 2010, at 3:17 28PM, Alexandre Bergel wrote:

> Hi!
>
> Between two latexing session, I did a 3 hours long coding session. I produced Manuia, a real-time memory monitor. I attached a screenshot to this email.
> You can try it by:
>
> Gofer new
> squeaksource: 'MetacelloRepository';
> package: 'ConfigurationOfSpy';
> load.
> (Smalltalk at: #ConfigurationOfSpy) perform: #loadDefault
>
>
> If you use a Pharo 1.1 then world menu/tools/Manuia Memory Monitor . Else, evaluate "ManuiaMonitor new open"
> Green curve is about the memory consumption: when it goes up, when you consuming memory. Vertical bars indicate that at least 10 incremental garbage collect was realized.
>
> There is a probe class button. Click on it, enter the name of a class, then you can see the evolution of the number of instances.
>
> It is just a small experiment I did. I haven't got the time to intensively use it. Feedbacks are very welcome.
>
> Cheers,
> Alexandre
> --

Works just fine not loading the entire Spy/Mondrian packages as well...

Personally I'd really like to see something like this, combined with some of the textual data from Debug -> VM Statistics + Space left as a core tool. :)

Cheers,
Henry


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Henrik Sperre Johansen
In reply to this post by Mariano Martinez Peck

On May 31, 2010, at 4:12 11PM, Mariano Martinez Peck wrote:

> Alexandre: Is there a way (or will be in a future) a way to script and customize it ?
>
> Suppose I want to trace several things, not only the amount of memory used. I would love to be able to define my own curves and have several at the same time.
>
Look at the code, it's quite simple. :)
All you seem to have to do is subclass MMProbe, implement its interface (get current value, choosing a color, and potential custom rendering) and voila, you have a custom curve!

Cheers,
Henry
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Henrik Sperre Johansen

On May 31, 2010, at 4:38 14PM, Henrik Johansen wrote:

>
> On May 31, 2010, at 4:12 11PM, Mariano Martinez Peck wrote:
>
>> Alexandre: Is there a way (or will be in a future) a way to script and customize it ?
>>
>> Suppose I want to trace several things, not only the amount of memory used. I would love to be able to define my own curves and have several at the same time.
>>
> Look at the code, it's quite simple. :)
> All you seem to have to do is subclass MMProbe, implement its interface (get current value, choosing a color, and potential custom rendering) and voila, you have a custom curve!
>
> Cheers,
> Henry

And of course, when looking a bit closer, it's even simpler :) (If you don't need custom display etc. that is)

graph := MMGraph new.
probe := MMProbe probleBlock: [:theProbe | theProbe addValue: someValueIWantACustomGraphFor].
graph addProbe: probe; openInWorld.

not sure if probleBlock is a spelingError :)

Cheers,
Henry

PS. Would it be possible to do:
ManuiaMonitor>> initialize
        graph := MMGraph new.
        graph addProbe: MUsedMemoryProbe new; addProbe: MMGCProbe new.

(and only window addMorph: graph in the open method)

and remove

self addProbe: MUsedMemoryProbe ... from MMGraph initialize?

That way, a graph not used by the monitor is empty by default, and a new instance can be used for whatever graphing purpose one desires, like Mariano :)


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Alexandre Bergel
In reply to this post by Henrik Sperre Johansen
> Works just fine not loading the entire Spy/Mondrian packages as well...
>
> Personally I'd really like to see something like this, combined with some of the textual data from Debug -> VM Statistics + Space left as a core tool. :)

Yep.

Gofer new
        squeaksource: 'MemoryMonitor';
        package: 'ConfigurationOfMemoryMonitor';
        load.
((Smalltalk at: #ConfigurationOfMemoryMonitor) project perform: #lastVersion) load.

It just loads 6 small classes. Accessible under the "World/Tools/Memory Monitor" menu item.

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Manuia Memory Monitor

Alexandre Bergel
In reply to this post by Henrik Sperre Johansen
> And of course, when looking a bit closer, it's even simpler :) (If you don't need custom display etc. that is)

Making and keeping it simple is a strong requirement :-)

> not sure if probleBlock is a spelingError :)

It is, indeed.

> PS. Would it be possible to do:
> ManuiaMonitor>> initialize
> graph := MMGraph new.
> graph addProbe: MUsedMemoryProbe new; addProbe: MMGCProbe new.

Nicer yes.

> That way, a graph not used by the monitor is empty by default, and a new instance can be used for whatever graphing purpose one desires, like Mariano :)


New version in the SqueakSource MemoryMonitor repository

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project