Diagnostics

Startup/shutdown diagnostic

When an exception is thrown on startup or shutdown, the full stacktrace is displayed in the console. But a YAML diagnostic is also produced and written to a temporary directory. The diagnostic file contains information about the SeedStack and can be helpful to do advanced troubleshooting.

A warning log will tell where the diagnostic file is saved:

Diagnostic information dumped to file:///tmp/seedstack-diagnostics/seedstack-diagnostic-2019-06-06-14-06-21.111.yaml

Web request diagnostic

If enabled, a diagnostic file can be dumped for each Web request ending with an exception. To enable it, set the following configuration property:

web:
  requestDiagnostic: true

Don’t enable that setting in any high-volume environment as it has the potential to fill your disk space very quickly and diminish application performance. Do not use in production.

Diagnostic tool

A diagnostic report can be created and written to the standard output by invoking the diag tool.

During development

During project development, you can invoke the diag tool from the following Maven goal:

mvn seedstack:diag

As the diagnostic collects various information about the environment it can help troubleshoot issues that arise during development, such as:

  • Missing library from the classpath,
  • Inconsistent versions between plugins,
  • System properties values,

In staging/production

In staging or production environments, you can invoke the diag tool directly from the packaged executable capsule (JAR):

java -Dseedstack.tool=diag -jar my-project-capsule.jar

In staging/production, diagnostics can be useful to see if reality match expectations, like:

  • Missing additional classpath locations,
  • Application misconfiguration,
   

On this page


Edit