A couple of questions about "new" features of ProfMonitor

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

A couple of questions about "new" features of ProfMonitor

GLASS mailing list
Hi guys,

I am trying to improve my profiling code to use some features which I have pointed out to be new (at least some of them). But I have some questions about it. 

1) ProfMonitor >> setOptions:  is confusing to me. Mostly, it's code comment vs what I see in the results. The comment says:

"anArray is an Array of Strings or Symbols containing
     at most one of #objFaults #pageFaults #edenUsage #gcTime #objCreation
  and optionally  #cpu or #real .
     The last #cpu or #real if any specifies real or cpu time sampling.
     #gcTime implies default #cpu  and is in units of milliseconds  .
     #objFaults and #pageFaults are in units of faults and imply default #real .
     #edenUsage  is in units of bytes and implies default #real .
     #objCreation implies default #cpu .
  "

Note that the word "implies" is used many times there. It says gcTime implies #real and that #objFaults and #pageFaults implies #real.  Then it says #gcTime implies #cpu. 

The result of my profile shows:

STATISTICAL SAMPLING RESULTS
elapsed CPU time:    438 ms
monitoring interval:  100.0 us
0 pageFaults  817 objFaults  0 gcMs  2518808 edenBytesUsed

So.... I am getting both from #real (page faults, object faults, eden usage, etc)  and from #cpu (gc time). I am confused here. Any clarification ?

2) Is there a way to get the results/stats/printString of only the "STATISTICAL SAMPLING RESULTS" part pasted above?  I mean, I tried accessing #results etc but I find no easy way to get access to those results (a result of each of the specified option via #setOptions:) or to that printString (rather than the whole #reportDownTo: with all the tree etc).

Thanks a lot in advance, 








--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: A couple of questions about "new" features of ProfMonitor

GLASS mailing list


On Mon, May 29, 2017 at 10:11 AM, Mariano Martinez Peck <[hidden email]> wrote:
Hi guys,

I am trying to improve my profiling code to use some features which I have pointed out to be new (at least some of them). But I have some questions about it. 

1) ProfMonitor >> setOptions:  is confusing to me. Mostly, it's code comment vs what I see in the results. The comment says:

"anArray is an Array of Strings or Symbols containing
     at most one of #objFaults #pageFaults #edenUsage #gcTime #objCreation
  and optionally  #cpu or #real .
     The last #cpu or #real if any specifies real or cpu time sampling.
     #gcTime implies default #cpu  and is in units of milliseconds  .
     #objFaults and #pageFaults are in units of faults and imply default #real .
     #edenUsage  is in units of bytes and implies default #real .
     #objCreation implies default #cpu .
  "

Note that the word "implies" is used many times there. It says gcTime implies #real and that #objFaults and #pageFaults implies #real.  Then it says #gcTime implies #cpu. 

The result of my profile shows:

STATISTICAL SAMPLING RESULTS
elapsed CPU time:    438 ms
monitoring interval:  100.0 us
0 pageFaults  817 objFaults  0 gcMs  2518808 edenBytesUsed

So.... I am getting both from #real (page faults, object faults, eden usage, etc)  and from #cpu (gc time). I am confused here. Any clarification ?

2) Is there a way to get the results/stats/printString of only the "STATISTICAL SAMPLING RESULTS" part pasted above?  I mean, I tried accessing #results etc but I find no easy way to get access to those results (a result of each of the specified option via #setOptions:) or to that printString (rather than the whole #reportDownTo: with all the tree etc).



Sorry, and I have a 3) question.... and it's why #objCreation does not seem to work? 

| realTimeProf realTimeProfResults | 
realTimeProf := ProfMonitor new.
realTimeProf monitorBlock: [ 10 timesRepeat: [Transcript show: 'buuh'] ].
realTimeProf  setOptions: #(    #objCreation #cpu ).
realTimeProfResults := realTimeProf reportDownTo: 0.03.
realTimeProf removeResults.
realTimeProfResults inspect. 

If you inspect the results of that, I see nothing in the status summary mentioning the objects creation:

================
STATISTICAL SAMPLING RESULTS
elapsed CPU time:    21 ms
monitoring interval:  1.0 ms
0 pageFaults  2 objFaults  0 gcMs  171368 edenBytesUsed


Any idea? 

BTW, I am with 3.3.3 under CentOS 7. 




--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass