public ReturnCode introspectServer ( String dumpTimestamp , Set < JavaDumpAction > javaDumpActions ) { // Since "server dump" is used for diagnostics, we go out of our way to // not send an unrecognized command to the server even if the user has // broken their environment such that the client process supports java // dumps but the server doesn't. String command ; if ( javaDumpActions . isEmpty ( ) ) { command = INTROSPECT_COMMAND + DELIM + dumpTimestamp ; } else { StringBuilder commandBuilder = new StringBuilder ( ) . append ( INTROSPECT_JAVADUMP_COMMAND ) . append ( DELIM ) . append ( dumpTimestamp ) ; for ( JavaDumpAction javaDumpAction : javaDumpActions ) { commandBuilder . append ( ' ' ) . append ( javaDumpAction . name ( ) ) ; } command = commandBuilder . toString ( ) ; } return write ( command , ReturnCode . DUMP_ACTION , ReturnCode . ERROR_SERVER_DUMP ) ; }
Dump the server by issuing a introspect instruction to the server listener