Ben,

Thanks for driving this.

To likely confirm what you already know, I did the following and it 
"worked".  I profiled without lazy start (--prof) and put a call to new 
Date().toGMTString() right where I would have called profiler.resume().  I 
did this knowing that toGMTString isn't called at all in the real 
application.  I then was able to grep for the line number in the log file:

#[idcuser@xxxx test-profiler]$ grep -n toGMT v8.log
#10525:code-creation,LazyCompile,0x8ad2fd20,260,"toGMTString native 
date.js:747",0xa331bbc0,~

I then wrote a trim script to rip out all ticks that happened before this:

head -n 10525 v8.log |grep -v "^tick," >  v8-trimmed.log
tail -n +10526 v8.log >> v8-trimmed.log

Then I ran nprof and saw:

Statistical profiling result from v8-trimmed.log, (11268 ticks, 0 
unaccounted, 0 excluded).

Pretty hacky approach as all that data needs to be written during warmup. 
 But it likely proves that if --prof_lazy did exactly what --prof was doing 
(with the exception of writing tick specific log entries until 
V8:ResumeProfiler was called) we'd be working as expected.

I'm gonna try this on the full blown node app next.  Hoping all that data 
being written during a longer warmup doesn't break this approach.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to