Heap dump analysis#1447
Conversation
|
This PR/issue depends on: |
|
Following a discussion on the backend/reports design there are a few points to keep in mind:
|
|
I built each heap dump analysis PR locally and ran a smoketest with last week's Agent build (see #1604): Then I captured a heap dump from the quarkus-cryostat-agent test application and tried to generate a report. The request failed with an HTTP 500. Logs from the report generator show this: At a glance I can't tell if this is a genuine case of a 1000+ deep nested structure, or if perhaps this is a recursive data structure or even modelling a simple bidirectional relationship and this is choking up the ObjectMapper. Maybe helpful: https://stackoverflow.com/questions/10191671/jackson-json-serialization-recursion-avoidance-by-level-defining |
|
Looks more or less the same running the smoketest without |
|
Looks like something's broken with caching. I ran Heap dump analysis worked the first time, but after navigating away and back to try to re-analyze the same file, it's failing to load the cached analysis report: |
|
And after building the -reports PR and re-running |
|
CI failure is due to missing core, spotbugs passes locally |
…es, run schema update
|
Pushed an update to adjust for core changes (caller is responsible for generating and cleaning up a temporary file), as well as to update the analysis endpoint to function like the reports endpoint, returning either a job ID or a json report depending on the cache state. Spotbugs CI check failed due to core changes, passes locally |
Welcome to Cryostat! 👋
Before contributing, make sure you have:
mainbranch[chore, ci, docs, feat, fix, test]To recreate commits with GPG signature
git fetch upstream && git rebase --force --gpg-sign upstream/mainRelated to: #1127
Depends on cryostatio/cryostat-core#666
Depends on cryostatio/cryostat-reports#506
Description of the change:
How to manually test:
Opening as draft pending any changes needed for the frontend.