Grails is an open-source, full-stack, web application framework that runs on Java Virtual Machines (JVMs). Using MVC (Model-View-Controller) architecture, Grails offers a standalone "Coding by Convention" environment that lets developers encode without having to worry about configuration details. Grails comes with an embedded server and built-in database access and modeling, along with an in-memory SQL database, internationalization capabilities, support for writing and running tests, and extensive documentation.
In addition, Grails boasts a library of over 700 plugins, including ones for email, CMS, NoSQL databases, AJAX, messaging, and access control. For developers and operations teams building and managing applications built on the Grails framework, the AppDynamics platform provides a comprehensive solution for monitoring and managing the performance of your Java applications. With rapid installation and the most scalable architecture in the industry, AppDynamics solutions help you deploy your applications more quickly and with more confidence.
Grails Framework applications, instrumented with AppDynamics Java agents, are auto-discovered and appears in AppDynamics. Business transactions are automatically discovered with out-of-the-box configurations as seen in the application dashboard.
Shown here is a sample snapshot of a Grails-based business transaction within AppDynamics. AppDynamics captures drill down details for users to deep dive into components making the Grails calls. In this case, the user can drill down into the 'RequestingTier' component of the application.
Continuing from the sample above, drilling down into the 'RequestingTier' shows various detailed information about the Grails calls including a call graph where users can inspect the actual calls and timings of each call within their application code.
AppDynamics captures information on Grails framework communications as metrics for average response time, calls per minute and errors per minute. These metrics are also aggregated into node, tier, and application level along with other types of transactions, if any, to give users an overall performance status at each of those levels.