[Laszlo-dev] For Review: Change change.qauDneSy9.txt Summary: Make Profiler work in DHTML
P T Withington
ptw at pobox.com
Tue Jun 27 16:50:04 EDT 2006
[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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.ptw.45oW.tgz
Type: application/octet-stream
Size: 11042 bytes
Desc: not available
Url : http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20060627/3c924c53/patch.ptw.45oW.obj
-------------- next part --------------
More information about the Laszlo-dev
mailing list