Login | Register
My pages Projects Community openCollabNet
Project highlights:

EYE - watch Java code through the extra eye

eye
Project home

If you were registered and logged in, you could join this project.

Summary Run-time Java class finctionality extender
Category construction
License GNU General Public License
Owner(s) vasiliy_gagin

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