feat(diagnostics): Add thread dump capturing to diagnostics endpoint #639
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related to cryostatio/cryostat#135
Adds the ability to capture thread dumps to the agent's mbean-invoke endpoint. The original implementation of the endpoint is already fairly flexible, essentially acting as a wrapper around the mbean.invoke method, so we just need to extend the check for valid/supported operations, and add a further check if we're doing a thread dump so it can be written to the response body as-is.
Currently supports the threadPrint operation but leaves an opening for the threadDumpToFile operation to be supported later if necessary. Note that the format of threadDumpToFile isn't supported by existing support tooling so it won't work for the purposes of the linked issue, only threadPrint.
Opening as Draft until the other pieces of the feature are in place.