-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(svc): add recording start method using event template name and type #245
Merged
andrewazores
merged 5 commits into
cryostatio:main
from
andrewazores:extract-refactor-recording-start
Jul 25, 2023
Merged
feat(svc): add recording start method using event template name and type #245
andrewazores
merged 5 commits into
cryostatio:main
from
andrewazores:extract-refactor-recording-start
Jul 25, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
andrewazores
changed the title
chore(svc): add recording start method using event template name and type
feat(svc): add recording start method using event template name and type
Jun 28, 2023
7 tasks
maxcao13
previously approved these changes
Jul 7, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me, looks good!
tthvo
reviewed
Jul 18, 2023
tthvo
reviewed
Jul 18, 2023
src/main/java/io/cryostat/core/net/JmxFlightRecorderService.java
Outdated
Show resolved
Hide resolved
tthvo
reviewed
Jul 18, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I just have some small questions above.
tthvo
approved these changes
Jul 25, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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-agent#162
Related to https://github.com/cryostatio/cryostat/issues/1578
This extracts the
EventOptionsBuilder
from the Cryostat application into-core
, then augments the JMCIFlightRecorderService
by introducing a subinterfaceCryostatFlightRecorderService
that allows for additional/higher-level operations, such as dynamically starting a recording using an event template name+type rather than the JMCIConstrainedMap
. This will support starting recordings by network request by asking the Agent to simply use a.jfc
file available to it locally, rather than needing to reserialize the settings defined by that.jfc
and transmit that over the network, where those settings would be originally retrieved by querying the raw.jfc
form from the Agent and parsing it to create theIConstrainedMap
model.A further enhancement to come later will be to allow supplying the entire XML (.jfc
)Document
on the recording creation request. TheCryostatFlightRecorderService
implementation will either convert this to theIConstrainedMap
server-side, or pass it as-is to the Agent for conversion, so that the XML content of Custom event templates does not need to be reserialized between XML, POJO, and possibly JSON in several stages along the flow.Some serialization-related classes are also extracted (and minor refactorings done) from the Cryostat application into -core here, since they will be useful for facilitating (de)serialization of these structures for communication between Cryostat and the Agent.