[Laszlo-dev] For Review: Change change.qauDneSy9.txt Summary: Make Profiler work in DHTML

John Sundman jsundman at laszlosystems.com
Tue Jun 27 16:56:27 EDT 2006


So do I correctly understand that the profiler is moving from  
provisional/incubator status to full-fledged particpation as part of  
the platform?

In either case, approved by me.

jrs

On Jun 27, 2006, at 4:50 PM, P T Withington wrote:

> [Henry, I don't think this breaks anything, so if you would like me to  
> check it in for you to play with, let me know.]
>
> Change change.qauDneSy9.txt by ptw at tin-woodsman.local  
> /Users/ptw/pending-changes/ on 2006-06-27 16:10:16 EDT
>
> Summary: Make Profiler work in DHTML
>
> New Features: Profiler
>
> Bugs Fixed:
> LPP-2075  Make DHTML compiler work for profile and backtrace
> LPP-903 server should dump profile data without requiring external
> listener on port 4444 (partial)
> LPP-2258 Profiler does not work with lo-res clocks (e.g., SWF on  
> Windows)
>
> Technical Reviewer: hminsky (pending)
> QA Reviewer: max (pending)
> Doc Reviewer: jsundman (pending)
>
> Documentation:
>
> The profiler is now named `Profiler` (rather than LzProfiler, since it
> exports some generally useful methods now).
>
> By default, compiling with ?profile=true will create the Profiler,
> will execute Profiler.start() immediately, and Profiler.stop() after
> the canvas is inited, thus creating a profile of the startup process.
>
> The profiler sends its output to a file with the same name as your app
> but the extension .lzx changed to .profiler.  Use
> tools/profiler/profile.pl to process that file to a gprof-compatible
> output.
>
> Public profiler methods:
>
> Profiler.start(): starts the profiler, clearing any previous profiler
> run and overwiting any existing .profiler file.
>
> Profiler.stop(): stops the profiler, ensuring profiler output is
> logged and closing the .profiler file.
>
> Profiler.pause(): temporarily suspends profiling.
>
> Profiler.resume(): resumes profiling.
>
> Details:
>     LzProfile.as -> .lzs:  Rewritten as a singleton, adding new manual
>     interface, XMLHttpRequest back-end.
>
>     LzInstantiator, LzNode, LaszloEvents: $lzprofiler -> Profiler
>
>     LzIdle: Don't profile LzIdle.update. Optimize to only send onidle
>     if clients.
>
>     LaszloCanvas.*:  Profiler.stop() when you are done.
>
>     LaszloLibrary:  Profiler.start() ASAP
>
>     buildlfcprofiledebug:  New, for debugging profiler
>
>     lzsc, Compiler: Set $as2 for swf9 (since it is $as2 compatible)
>
>     JavascriptGenerator, CodeGenerator:  Fix longstanding bug in logic
>     for lo-res clocks to actually work.
>
>     ResponderPROFILE:  New.  Allows the LFC profiler to record
>     profiler data into a file on the server
>
>     ResponderLFC:  Learn how to deliver the profile or profile-debug
>     versions.
>
> Tests:
>
>     IWFM in DHTML.  N.B., The swf profiler still talks to a dedicated
>     listener on port 4444, not to the PROFILE responder -- I'll fix
>     that when I figure out how to do the equivalent of an
>     XMLHttpRequest in SWF.
>
> Files:
> D      WEB-INF/lps/lfc/profiler/LzProfile.as
> A  +   WEB-INF/lps/lfc/profiler/LzProfile.lzs
> M      WEB-INF/lps/lfc/services/LzInstantiator.as
> M      WEB-INF/lps/lfc/services/LzIdle.js
> M      WEB-INF/lps/lfc/core/LzNode.lzs
> M      WEB-INF/lps/lfc/views/LaszloCanvas.as
> M      WEB-INF/lps/lfc/views/LaszloCanvas.js
> M      WEB-INF/lps/lfc/LaszloLibrary.lzs
> M      WEB-INF/lps/lfc/events/LaszloEvents.lzs
> A      WEB-INF/lps/lfc/buildlfcprofiledebug
> M      WEB-INF/lps/server/sc/lzsc.py
> M       
> WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
> M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
> A       
> WEB-INF/lps/server/src/org/openlaszlo/servlets/responders/ 
> ResponderPROFILE.java
> M       
> WEB-INF/lps/server/src/org/openlaszlo/servlets/responders/ 
> ResponderLFC.java
> M      WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
>
>
> <patch.ptw.45oW.tgz>
>



More information about the Laszlo-dev mailing list