What does this get me that running GWTShell under the NetBeans
profiler now doesn't?
On Feb 5, 12:13 pm, "Scott Blum" <sco...@google.com> wrote:
> Gotcha. Okay, that makes total sense. :)
>
> On 2/5/07, Toby Reyelts <t...@google.com> wrote:
>
>
>
> > I think I misunderstood your concern, Scott. I haven't totally planned out
> > the implementation of timing of RPC/HTTP calls, but I've been leaning
> > towards routing the calls through a lightweight proxy. So the timing of code
> > execution would occur through instrumentation and the timing of the
> > asynchronous I/O would occur through the proxy.
>
> > Thanks,
> > -Toby
>
> > On 2/5/07, Scott Blum <sco...@google.com> wrote:
>
> > > I'm not sure.. it seems like your filter mechanism would have to be
> > > pretty sophisticated to be able to specify that you would to time how long
> > > RPC round trips take.
>
> > > On 2/5/07, Toby Reyelts <t...@google.com> wrote:
>
> > > > I guess I forgot to mention in the RR that I was planning on having
> > > > support for filters, where the user specifies which classes/methods they
> > > > want instrumented. The only thing "baked directly into the compiler" is
> > > > support for filters. Did I understand your concern correctly, and does that
> > > > address it?
>
> > > > Thanks,
> > > > -Toby
>
> > > > On 2/5/07, Scott Blum < sco...@google.com> wrote:
>
> > > > > One concern.. if you're going to get into profiling particular parts
> > > > > of the GWT user code base, I'd think that whould be something configurable
> > > > > rather than baked into the compiler directly.
>
> > > > > On 2/5/07, Dan Morrill <morri...@google.com> wrote:
>
> > > > > > As a minor comment: I think it might be useful to track RPC codec
> > > > > > time separate from HTTP async request time. That is, I might be sending
> > > > > > data that is fairly low bandwidth, but really nasty to parse, so it might be
> > > > > > helpful to time the codec activities separately from the transmission.
>
> > > > > > Also, substitute "JSON" for "RPC" and you have a second use case
> > > > > > that would also be useful to track. Just something to keep in mind as this
> > > > > > gets fleshed out...
>
> > > > > > - Dan
>
Basically what it comes down to is profiling a GWT app in hosted mode
has very little correlation to how a GWT app will run once compiled
down to Javascript. Besides the fundamental differences in how the
stack, heap and garbage collection are used/handled in the two
different environments, you're profiling a strongly typed in hosted
mode but ultimately compiling down to an untyped language. Someone
recommended using a firefox plug-in FireBug to profile a GWT App in a
compiled state, however I haven't tried yet. It is open source and
perhaps it can be adopted to profile GWT apps specifically.
There has been, as you all are likely aware, some discussion about
profiling in the user group several times and it basically comes down
to what kebernet said: profile the java as a "reference" to make sure
there is nothing obviously amiss, and then fire up firebug/venkman and
do some poking around in web mode.
A well thought out way to actually profile things, which this
"proposal" certainly looks like, would be great.
On Feb 5, 10:11 am, "Toby Reyelts" <t...@google.com> wrote:
> Inspired by some needs to perform application profiling, I've decided it
> would be nice if GWT had profiling support. I've put my thoughts down below
> and would love to have some feedback.
>
> Goals:
>
> - Profiling should generally NOT involve user-written code. It's standard
> practice that tools rewrite/instrument programs so that profiling is
> transparent to the program. A developer shouldn't have to rewrite code to
> add or remove profiling or collect profiling results.
>
> - GWT's profiling support should include tools to visualize the data.
> Regardless of whether they're working with proprietary memory dumps, hprof
> dumps, or using a graphical runtime profiler, developers generally don't
> work directly with raw profiling data.
>
> - Because profiling's primary goal is to report accurate performance
> statistics, it does not make sense to support profiling in pure hosted mode.
>
> - Profiling should record timings that relate to the context of the original
> Java program. (I.E. report timings for Java functions - not JavaScript