ADF Performance Monitor: Troubleshooting Test and Production Errors

0

Insight in the number, type and severity of errors that happen in a test or production environment is crucial to resolve them, and to make a stable ADF application that is less error-prone. Application errors (and their stack traces) are often hard to retrieve or take a lot of time to find. Project teams commonly depend on the reports of end-users and testers, and they typically do not report all errors or provide insufficient information about them. Operational teams do not always have the time to monitor for errors in the WebLogic console or the Enterprise Manager or to wade through large log files to manually piece together what happened. To address this issue, errors are collected by the ADF Performance Monitor. Development, QA and operational teams can drill down to the error messages, their type, severity, and their stack traces to quickly troubleshoot errors and make the application more stable.

Logging test and production errors

The ADF Performance Monitor logs errors with all relevant detail information. This information helps to discover, analyze, reproduce and resolve errors that happen frequently on test and production environments. Detailed information like exception message, timestamp, user ID, button/link clicked on, application server URI, and session is important to get insight into the errors and to resolve them. Additionally, the ADF developer can view the error stacktrace and ADF request callstack – allowing the developer to quickly troubleshoot these errors. In this example 42 errors have been collected during the selected time range (week) – for example errors like JboExceptions, SQLExceptions, NullPointerExceptions, ControllerExceptions, SQLIntegrityConstraintViolationExceptions, TxnValExceptions, e.g.

overview_errors2

Error Stacktraces

Developers can drill down to these errors, their type, severity and messages. The stacktrace can be viewed to analyze the root cause of the error – in this case a java.sql.SQLIntegrityConstraintViolationException:

stacktrace

Also the ADF request call stack can be viewed to understand more of the errors root cause. We can see that in this case just before the error occurred a PLSQL procedure was called that seems to be the cause: pagf001_api.maak_ctt_specifiek:

callstack

The ADF Performance Monitor logs errors at several extension points – one is with a custom DCErrorHandler:

MetricsErrorHandlerImpl

More information

More details are available on the AMIS site.

Share.

About Author

Frank Houweling is an Oracle ADF and Java specialist with AMIS (The Netherlands). He focuses mainly on Oracle Fusion ADF, Java Enterprise development and performance management. During the past years he has been requested several times as troubleshooter of ADF projects with bad performance. As such he has been performing performance analysis, bottleneck detection and developing mitigating solutions based on these analysis. He is also the creator of the AMIS ADF Performance Monitor, an advanced monitor that can identify, report and help solve performance bottlenecks in ADF applications.

Leave a Reply