dev@glassfish.java.net

Startup time in b55 [Re: Update on Monitoring in V3]

From: Alexis Moussine-Pouchkine <alexis.mp_at_sun.com>
Date: Thu, 16 Jul 2009 21:09:08 +0200

On Jul 16, 2009, at 20:33, Prashanth Abbagani wrote:

> Prashanth Abbagani wrote:
>>
>> Alexis Moussine-Pouchkine wrote:
>>>
>>> Also, are core classes monitoring loaded prior to any call?
>>> I see several messages at startup (even without the javaagent
>>> option) which seem to have an impact on startup time.
>> The Providers are discovered by default during the module's
>> startup. The retrasformation of ProbeProvider (which is the only
>> compute-intensive operation) will only happen when there are
>> listeners (StatsProviders) registered and these statsProviders are
>> registered when the corresponding monitoring flag is turned on. So
>> there is no overhead when the monitoring is turned off. We do have
>> the Monitoring startup class which keeps discovering the providers
>> as they come (even without the javaagent), this is a required step
>> and I dont think it effects the startup time significantly.
> I stand corrected. When the Btrace agent is disabled (explained in
> bug), theres is no reason to discover and process the providers, we
> are planning to omit this step so there is no startup overhead at
> all for monitoring

Thanks for the clarification Prashanth. I was making the comment from
an end user point of view.
The startup time has increased a lot in my experience compared to
previous promoted builds and the Jersey initialization quoted below (2
identical it seems in the v3 startup sequence) looked suspicious
enough that I would ask. There might be other reasons for the startup
taking longer.

> Jul 16, 2009 8:46:03 PM
> com.sun.jersey.server.impl.application.WebApplicationImpl initiate
> INFO: Adding the following classes declared in META-INF/services/
> jersey-server-components to the resource configuration:
> class
> com.sun.jersey.multipart.impl.FormDataMultiPartDispatchProvider
> class com.sun.jersey.multipart.impl.MultiPartConfigProvider
> class com.sun.jersey.multipart.impl.MultiPartReader
> class com.sun.jersey.multipart.impl.MultiPartWriter

cheers,
-Alexis