[ 
https://issues.apache.org/jira/browse/SLING-4849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14611624#comment-14611624
 ] 

Varun Nagpal commented on SLING-4849:
-------------------------------------

I have implemented a Probe Profiler which leverages EventHook and FindHook in 
OSGi.

Please have a look.

https://github.com/vnagpal81/monitoring/blob/master/src/main/java/com/adobe/aod/monitoring/api/task/ProbeTask.java

Have not yet established the performance metrics of this method.

> Create Metrics instumentation bundle using ASM.
> -----------------------------------------------
>
>                 Key: SLING-4849
>                 URL: https://issues.apache.org/jira/browse/SLING-4849
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Ian Boston
>            Assignee: Ian Boston
>
> Aim: To enable metrics for any method call in a Sling JVM without requiring 
> any code changes to existing bundles.
> Method: OSGi 4.3 has a WeavingHook which is allows a byte code generator to 
> get in between the classloader and classloading. Using ASM it should be 
> possible to write code that enhances the byte code of any class to wrap 
> method calls in calls to the Dropwizard Metrics library. This should work 
> without any changes to the startup. The only requirement is the bundle is 
> loaded before the classloader loads the classes that need to be instrumented. 
> Quick tests indicate the method works and adds no more than 10 byte code 
> instructions to a method. It may be possible to reduce that further. 
> Instrumentation will be controlled by configuration, so classes that are not 
> instrumented are not modified at all when loading.
> The metrics once available can be pushed into Graphite, Kibana or some other 
> collection service. Dumped to a file periodically or exposed in JMX as 
> counters.
> Will work in a branch on github initially.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to