aries-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nima Kaviani <>
Subject Profiling an Aries Application
Date Thu, 05 Apr 2012 23:48:43 GMT
Hi All,

I am trying to hook a Java profiler agent to an aries application and it
results in an enormous amount of delay in booting the application to the
point where all the bundles in the eba are installed and started.

If no profiler is attached, the application launches in about 30 seconds or
so, but when I hook the profiler the launch takes really long.

Messages that I receive from the debugger are mainly of the following form:

[fileinstall-./load] DEBUG
org.apache.aries.application.resolver.obr.impl.RequirementImpl - Method
entry: isSatisfied, args
[fileinstall-./load] DEBUG
org.apache.aries.application.modelling.impl.ImportedBundleImpl - Method
entry: getType, args {}
[fileinstall-./load] DEBUG
org.apache.aries.application.modelling.impl.ImportedBundleImpl - Method
exit: getType, returning [bundle]
[fileinstall-./load] DEBUG
org.apache.aries.application.resolver.obr.impl.RequirementImpl - Method
exit: isSatisfied, returning false

I am not quite sure what the combination of application resolver and
application modeler do but It seems like the aries application resolver and
the application modeler are analyzing all classes in the application method
by method which results in a significant overhead when doing profiling!

So my questions are the following:

What is the exact role of ImportBundleImpl and RequirementImpl and are they
looking into every method of the application? Is there any way to mitigate
the performance when doing profiling? Are there any intermediate / proxy
classes made by aries that may lead to profiling to deal with them as well?

Finally, is there a reference to the internal behavior of aries resolver
and modelling bundles that describes their behavior?

any help is very much appreciated.


View raw message