-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhancement request: instrument all implementation of a given interface #31
Comments
I took a first stab at implementing this and it didn't go too well. In ClassTransformer.java, I used this:
Can't remember exactly what the problem was, but the code just seems wrong. So, I wonder if we should consider using this ASM-based library to determine if a class implements a particular interface: Would appreciate any thoughts on this. |
I have pushed a commit with a quick implementation of this issue. |
Martin, thanks. I gave that code a try and I needed a single line of code to get it to work. From org/intrace/agent/ClassTransformer.java, the method isToBeConsideredForInstrumentation().
|
Vendors who make tools rely in java interfaces.
WebServers servers like tomcat rely on interfaces in the package javax.servlet.http.
Performance monitoring tools rely on javax.sql, javax.jms and many others.
If vendors could instrument the interfaces, they could use InTrace to track method invocations, regardless of the implementation. For example, they could instrument java.sql.PreparedStatement, and get notified of method invocation events regardless of which JDBC driver was in use.
This would be invaluable for comparing functionality and performance of various implementations of any spec/interface.
Details: Enable user to click on the "Classes" button in the InTrace UI and enter the name of an interface. InTrace agent would "instrument" all classes (and subclasses and subinterfaces) that implemented the given interface.
The text was updated successfully, but these errors were encountered: