eye
Project home
If you were registered and logged in, you could join this project.
EYE - watch Java code through the extra eye
Why
Have you ever wanted to check your code performance, but profiler was not there, or it introduced to much overhead?
Or may be you want to add a security to your application, but source code is lost or unavailable?
Or may be you want to extend functionality of existing code without modifying it?
EYE makes it possible
How
EYE uses a custom ClassLoader which modifyes Java code by injecting extra instructions at
the begining and at the end of the class' method. Those instructions transfer control to EYE itself.
At this point extra functionality can be added.
As an example (and an usefull tool) EYE-based application EYE-STAT collects method level performance
information of arbitrary Java code by measuring number of calls to the method, time spent in method
and methods called from it.
High-level features
- Pure Java application, so can run on any Java-enabled platform.
- Light-weight so overhead in not significant.
High-level assumptions
- we will use pure Java, so framework will be able to run on any Java enabled platform
- "EYE" will have very little footprint, so it will not affect "watched" application significantly.
Related resources
- "EYE" can be used to implement "Aspect Oriented Programming" paradigm