jsLex

June 8, 2007 on 10:50 am | In ajax |

By way of Ajaxian (and really, what isn’t, these days), I found JsLex, an interesting performance instrumentation project. The approach offers function level instrumentation of an entire project as opposed to the discreet, manual instrumentation you can hand-code using dojo.profile. While Firebug users have had access to comparable functionality since 1.0, this approach allows data to be collected, without plugins, from any browser.

jsLex offers two approaches to instrumentation. In the first, an ant task spiders through your build tree, injecting instrumentation calls into each method. Alternately, a web frontend to a compression and injection facility is provided.

Once instrumentation has been added, jsLex also offers some well developed utilities for digging through the data. Slicing and dicing of the profiler data is exposed through a web front-end embedded in the application. Custom metrics, comparisons of profile data between pages, and dojo.profile visualization are all provided, to name a few of the features that jumped out at me. The full list is available here.

I haven’t played with jsLex, but the biggest downside with this type of approach is the overhead: there must be a lot of it. I’m always concerned that a high overhead profiling tool, such as early versions of OptimizeIt and other Java tools back in the day, will have so much impact on an application that it distorts the true performance picture.

At this point, that’s just a concern without justification, but I would love to hear from anyone who has used jsLex. It looks like an impressive tool.

After my TAE Boston presentation, I spoke with some folks at Nexaweb about a very similar sounding project they were working on. I assume this is the same initiative as it builds on Nexaweb’s Universal Client Framework.

2 Comments »

RSS feed for comments on this post. TrackBack URI

  1. [...] are a growing number of tools trying to serve that need. A few months ago I discussed jsLex, a tool that uses an ant task to instrument all JS in the source tree, with a server component to [...]

    Pingback by Ajax Performance » Microsoft's Ajax View — August 29, 2007 #

  2. [...] measurement, but that also serves to limit the performance overhead of the profiling itself. When discussing the jsLex approach to instrumentation, I was worried that the tool itself would significantly impact runtime [...]

    Pingback by Ajax Performance » YUI Profiler — February 20, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^