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 HTTP-based readonly queries to -agents #1415

Merged
merged 6 commits into from
Mar 17, 2023

Conversation

andrewazores
Copy link
Member

@andrewazores andrewazores commented Mar 15, 2023

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 the last commit: git commit --amend --signoff

Fixes #1416
Fixes #1309
Fixes #520

Description of the change:

This fills in the implementation of one readonly query (MBean metrics) that Cryostat can perform against HTTP-based Cryostat Agent instances. This is simply achieved by wrapping around a Vert.x WebClient HTTP request and deserializing the response into the expected data type conforming to the same interface as what the JMX equivalent already does.

Motivation for the change:

See linked issues. This PR and others to come later provide a non-JMX alternate communications protocol so that Cryostat can be usefully deployed with no requirement on target applications to expose JMX connections.

How to manually test:

  1. Run CRYOSTAT_IMAGE=quay.io... sh smoketest.sh...
  2. Check out the corresponding -agent PR, mvn install it, and rebuild quarkus-test sample application as usual.
  3. Open web-client dashboard, select the http:// test application, and ensure that MBean Metrics chart card data displays.

@andrewazores andrewazores added the feat New feature or request label Mar 15, 2023
@mergify mergify bot added the safe-to-test label Mar 15, 2023
@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1415-0b772b31ea53f0fec0b68bfa8614ff6a66bf7534 sh smoketest.sh

@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1415-25803c18c9e5b6c78ccdc7cbe18a4cada933d979 sh smoketest.sh

@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1415-029c3127ed6edf9879519028cf782bbc2f0f40b2 sh smoketest.sh

@github-actions
Copy link
Contributor

Test image available:

$ CRYOSTAT_IMAGE=ghcr.io/cryostatio/cryostat:pr-1415-a457a0357e690cf8caf931170a91105cb509f800 sh smoketest.sh

Copy link
Member

@maxcao13 maxcao13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good and metrics show up correctly on the dashboard!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request safe-to-test
Projects
No open projects
Status: Done
2 participants