Improving test-failure troubleshooting [JEP 279]
For developers that do a lot of testing, JEP 279 is worth reading about. Additional functionality has been added in Java 9 to automatically collect information to support troubleshooting test failures as well as timeouts. Collecting readily available diagnostic information during tests stands to provide developers and engineers with greater fidelity in their logs and other output.
There are two basic types of information in the context of testing--environmental and process.
Environmental information
When running tests, the testing environment information can be important for troubleshooting efforts. This information includes the following:
- CPU loads
- Disk space
- I/O loads
- Memory space
- Open files
- Open sockets
- Processes running
- System events
- System messages
Java process information
There is also information available during the testing process directly related to Java processes. These include:
- C stacks
- Core dumps
- Mini dumps
- Heap statistics
- Java stacks
Note
For additional...