Abstract—Runtime monitoring, where some part of a program’s behavior and/or data is observed during execution, is a very useful technique that software developers to use for understanding, analyzing, debugging, and improving their software. Aspect oriented programming is a natural fit for supporting the wide ranging instrumentation needs of runtime monitoring, but so far the limitations of AOP frameworks, namely supporting only code-based weaving and only a limited set of code feature joinpoint types, have hindered the application of AOP to many runtime monitoring needs. In this paper we present ideas for extending AOP to support weaving on dimensions other than source code, and for extending code-based weaving to finergrained language constructs.