dev@glassfish.java.net

Re: Monitoring _at_ 3.1.1 branch

From: Byron Nevins <byron.nevins_at_oracle.com>
Date: Wed, 25 May 2011 14:02:00 -0700

It should work just fine.


On 5/20/2011 11:17 AM, Ancoron Luciferis wrote:
> On 05/20/2011 06:04 AM, Sahoo wrote:
>> So what happens for embedded glassfish where GlassFish is getting
>> embedded in a JVM without -javagent option?
> Yes, that would be very interesting for me as well. :)
>
>> Sahoo
>> On Friday 20 May 2011 09:11 AM, Byron Nevins wrote:
>>> Try updating your installation or source -- there have been a few
>>> gremlins in getting the class transformation code up and running.
>>>
>>> It should be fine now.
>>>
>>> Also after starting a server look in server.log. You should see the
>>> JVM option has something like this:
>>>
>>> -javaagent:D:/glassfish3/glassfish/lib/monitor/flashlight-agent.jar
>>>
>>>
> Well, apparently not. SVN info:
> URL: https://svn.java.net/svn/glassfish~svn/branches/3.1.1
> Repository Root: https://svn.java.net/svn/glassfish~svn
> Repository UUID: 6f3ba3e3-413c-0410-a8aa-90bee3ab43b5
> Revision: 46980
>
> A 'ps -ef | grep glassfish | grep agent' yields nothing and this is the
> complete command I get (non-IPS build):
>
> /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java -Dosgi.shell.telnet.maxconn=1
> -Dfelix.fileinstall.disableConfigSave=false
> -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
> -Dfelix.fileinstall.dir=/srv/servers/glassfish/stable/glassfish/modules/autostart/
> -Djavax.net.ssl.keyStore=/srv/servers/glassfish/stable/glassfish/domains/domain1/config/keystore.jks
> -Dosgi.shell.telnet.port=6666
> -Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder
> -Djava.security.policy=/srv/servers/glassfish/stable/glassfish/domains/domain1/config/server.policy
> -Djava.awt.headless=true -Dfelix.fileinstall.log.level=2
> -Dfelix.fileinstall.poll=5000 -Dosgi.shell.telnet.ip=127.0.0.1
> -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
> -Djava.endorsed.dirs=/srv/servers/glassfish/stable/glassfish/modules/endorsed:/srv/servers/glassfish/stable/glassfish/lib/endorsed
> -Dfelix.fileinstall.bundles.startTransient=true
> -Djava.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.24/lib/ext:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/ext:/srv/servers/glassfish/stable/glassfish/domains/domain1/lib/ext
> -Dfelix.fileinstall.bundles.new.start=true
> -Djavax.net.ssl.trustStore=/srv/servers/glassfish/stable/glassfish/domains/domain1/config/cacerts.jks
> -Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.fileinstall,org.apache.felix.shell.remote
> -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
> -Djava.security.auth.login.config=/srv/servers/glassfish/stable/glassfish/domains/domain1/config/login.conf
> -DANTLR_USE_DIRECT_CLASS_LOADING=true -Dgosh.args=--nointeractive
> -XX:MaxPermSize=192m -client -XX:+UnlockDiagnosticVMOptions -Xmx512m
> -XX:NewRatio=2 -jar
> /srv/servers/glassfish/stable/glassfish/modules/glassfish.jar --domain
> domain1 --domaindir /srv/servers/glassfish/stable/glassfish/domains/domain1
>
>
> ...then I tried to add it manually:
>
> Error occurred during initialization of VM
> agent library failed to init: instrument
> Error opening zip file or JAR manifest missing :
> ${com.sun.aas.installRoot}/lib/monitor/flashlight-agent.jar
>
> ...so it doesn't support property expansion. However, with the absolute
> path added it does work and I get an error-free startup.
>
>
> Cheers,
>
> Ancoron
>
>>>
>>> On 11:59 AM, Ancoron Luciferis wrote:
>>>> Hi devs,
>>>>
>>>> I just wanted to know why the flashlight-agent.jar is no longer an OSGi
>>>> bundle, nor a HK2 archive, as opposed to 3.1 release?
>>>>
>>>> I see that it moved from .../modules/ to .../lib/monitor/ but that path
>>>> does not seem to be referenced anywhere.
>>>>
>>>> How's that supposed to work?
>>>>
>>>> I ask because I'm getting this:
>>>>
>>>> WARNING: Error while getting Instrumentation object from ProbeAgentmain
>>>> java.lang.ClassNotFoundException:
>>>> org.glassfish.flashlight.agent.ProbeAgentMain
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>
>>>>
>>>> Two days ago it used to work and as I'm currently implementing a new
>>>> monitoring module it really blocks me here.
>>>>
>>>>
>>>> Thanx for any pointer,
>>>>
>>>> Ancoron
>>>>
>>>>
>>>> P.S.: Full exception stacktrace (repeating for each probe provider
>>>> registration):
>>>>
>>>> WARNING: Error while getting Instrumentation object from ProbeAgentmain
>>>> java.lang.ClassNotFoundException:
>>>> org.glassfish.flashlight.agent.ProbeAgentMain
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>>> at
>>>> org.glassfish.flashlight.transformer.ProbeProviderClassFileTransformer.getInstrumentation(ProbeProviderClassFileTransformer.java:106)
>>>> at
>>>> org.glassfish.flashlight.transformer.ProbeProviderClassFileTransformer.transform(ProbeProviderClassFileTransformer.java:58)
>>>> at
>>>> org.glassfish.flashlight.impl.client.FlashlightProbeClientMediator.transformProbes(FlashlightProbeClientMediator.java:256)
>>>> at
>>>> org.glassfish.flashlight.impl.client.FlashlightProbeClientMediator.registerListener(FlashlightProbeClientMediator.java:169)
>>>> at
>>>> org.glassfish.admin.monitor.StatsProviderManagerDelegateImpl.registerStatsProviderToFlashlight(StatsProviderManagerDelegateImpl.java:643)
>>>> at
>>>> org.glassfish.admin.monitor.StatsProviderManagerDelegateImpl.enableStatsProvider(StatsProviderManagerDelegateImpl.java:394)
>>>> at
>>>> org.glassfish.admin.monitor.StatsProviderManagerDelegateImpl.tryToRegister(StatsProviderManagerDelegateImpl.java:191)
>>>> at
>>>> org.glassfish.admin.monitor.StatsProviderManagerDelegateImpl.register(StatsProviderManagerDelegateImpl.java:157)
>>>> at
>>>> org.glassfish.external.probe.provider.StatsProviderManager.registerStatsProvider(StatsProviderManager.java:91)
>>>> at
>>>> org.glassfish.external.probe.provider.StatsProviderManager.register(StatsProviderManager.java:66)
>>>> at
>>>> org.glassfish.external.probe.provider.StatsProviderManager.register(StatsProviderManager.java:57)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.monitor.GrizzlyMonitoring.registerThreadPoolStatsProvider(GrizzlyMonitoring.java:148)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.GrizzlyProxy.registerMonitoringStatsProviders(GrizzlyProxy.java:362)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.GrizzlyProxy.configureGrizzly(GrizzlyProxy.java:130)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.GrizzlyProxy.<init>(GrizzlyProxy.java:121)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.GrizzlyService.createNetworkProxy(GrizzlyService.java:443)
>>>> at
>>>> com.sun.enterprise.v3.services.impl.GrizzlyService.postConstruct(GrizzlyService.java:350)
>>>> at
>>>> com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
>>>> at
>>>> com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
>>>> at
>>>> com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
>>>> at
>>>> com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:243)
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:135)
>>>> at
>>>> com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
>>>> at
>>>> com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>> at
>>>> com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
>>>> at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
>>>>
>>>>
>>> --
>>> Oracle<http://www.oracle.com>
>>> Byron Nevins | Principal MTS
>>> Phone: +1 6503958992<tel:+1%206503958992>
>>>
>>> Green Oracle<http://www.oracle.com/commitment> Oracle is committed to
>>> developing practices and products that help protect the environment

-- 
Oracle <http://www.oracle.com>
Byron Nevins | Principal MTS
Phone: +1 6503958992 <tel:+1%206503958992>
Green Oracle <http://www.oracle.com/commitment> Oracle is committed to 
developing practices and products that help protect the environment