Skip to content
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(agent): implement Agent HTTP dynamic JFR stop/delete #1604

Conversation

andrewazores
Copy link
Member

Welcome to Cryostat! 👋

Before contributing, make sure you have:

  • Read the contributing guidelines
  • Linked a relevant issue which this PR resolves
  • Linked any other relevant issues, PR's, or documentation, if any
  • Resolved all conflicts, if any
  • Rebased your branch PR on top of the latest upstream main branch
  • Attached at least one of the following labels to the PR: [chore, ci, docs, feat, fix, test]
  • Signed all commits using a GPG signature

To recreate commits with GPG signature git fetch upstream && git rebase --force --gpg-sign upstream/main


Fixes #1581
Based on #1566
Depends on cryostatio/cryostat-agent#176

Description of the change:

Adds implementation to talk to the Cryostat Agent over HTTP for stopping and deleting flight recordings.

Motivation for the change:

This continues the effort to bring Cryostat application feature parity between JMX and HTTP connection methods.

How to manually test:

  1. Same setup as in feat(agent): implement Agent HTTP dynamic JFR start #1566
  2. Use with feat(api): enable dynamic JFR stop, delete cryostat-agent#176
  3. Test against the smoketest.sh http://localhost:9988/ agent target. Go to the Cryostat Web UI, Recordings, Create, and check that a custom recording can be started, stopped, and deleted. Stop and delete requests should work on running active recordings, and delete requests should also work on stopped active recordings. (In theory it should also be possible to delete a scheduled recording, but we don't have any easy way to create these via Cryostat)

@github-actions github-actions bot added needs-triage Needs thorough attention from code reviewers dependent labels Jul 31, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 31, 2023

This PR/issue depends on:

@mergify mergify bot added the safe-to-test label Jul 31, 2023
@andrewazores andrewazores added feat New feature or request and removed needs-triage Needs thorough attention from code reviewers labels Jul 31, 2023
@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1604-27e72bfbce089b1ce39b12e3c1765d18c0cc79c7-linux-amd64 sh smoketest.sh

@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1604-27e72bfbce089b1ce39b12e3c1765d18c0cc79c7-linux-arm64 sh smoketest.sh

@andrewazores andrewazores changed the base branch from main to 1578-epic-two-way-agent-communications August 1, 2023 18:34
@andrewazores andrewazores merged commit f1ed1c2 into cryostatio:1578-epic-two-way-agent-communications Aug 14, 2023
8 checks passed
@andrewazores andrewazores deleted the agent-recording-stop-delete branch August 14, 2023 15:39
aali309 pushed a commit to aali309/cryostat-legacy that referenced this pull request Aug 27, 2023
aali309 pushed a commit to aali309/cryostat-legacy that referenced this pull request Sep 7, 2023
andrewazores added a commit that referenced this pull request Sep 19, 2023
* feat(agent): implement Agent HTTP dynamic JFR start (#1566)

* chore(svc): extract EventOptionsBuilder to -core and use new CryostatFlightRecorderService

* test(smoketest): enable API writes on one agent-equipped sample app

* chore(serial): extract recording descriptor to -core

* chore(activerecordings): clean up an error handler

* feat(agent): implement dynamic start of JFR over HTTP

* bump -core version

* feat(agent): implement Agent HTTP dynamic JFR stop/delete (#1604)

* feat(agent): implement Agent HTTP recording retrieval (#1607)

* feat(agent): implement HTTP JFR snapshot creation (#1627)

Co-authored-by: Atif Ali <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependent feat New feature or request safe-to-test
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Story] Implement HTTP dynamic JFR stop
2 participants