the present system and method provides a system for generic , run - time adaptive placement of bytecode instrumentation , taking object oriented inheritance relationships into account . said inheritance relationships are stored in an inheritance repository . the inheritance repository that mirrors the structure of the monitored application is created at run - time and updated if the code base of the monitored application changes either dynamically at run - time or by manually changing the configuration and restarting the application . the inheritance repository contains meta - data of application classes and their relationships , like direct and indirect inheritance . the inheritance repository information is used to evaluate generic instrumentation placement rules , like rules that match to methods of classes that inherit from a specific base class . the inheritance repository is generated concurrently to instrumentation placement at application load - time or run - time and is persisted between application runs to enable dedicated adaptation runs to create the repository . detection of class relationships and instrumentation placement at run - time make the presented system suitable to monitor adaptive applications that dynamically adapt used components , libraries and execution code according to run - time conditions .