Particularly in case of component architectures that use development environments to generate adapters to wire the components (e.g., JavaBeans [#!jb101!#]), slightly extending the development environments is sufficient to achieve an automated instrumentation. When creating an adapter, the development environment must insert calls to the measurement agent into the adapter just before calling the target component and immediately after returning from the call. In case of exception-based error handling, catching (and re-throwing) exceptions even allows to distinguish between successful and failed subtransactions. A detailed description of the required extensions for the Java Beanbox is given in section .