Skip to content

feat(diagnostics): Add thread dumps endpoint and storage#894

Merged
andrewazores merged 28 commits intocryostatio:mainfrom
Josh-Matsuoka:thread-dumps
Aug 28, 2025
Merged

feat(diagnostics): Add thread dumps endpoint and storage#894
andrewazores merged 28 commits intocryostatio:mainfrom
Josh-Matsuoka:thread-dumps

Conversation

@Josh-Matsuoka
Copy link
Contributor

Related to: #135

Initial implementation of thread dumps endpoint and storage setup/interaction

Opening as Draft until frontend is done since this will probably end up needing adjustments as that gets implemented.

TODO: Refactor (probably into a ThreadDumpHelper class like RecordingHelper)

@Josh-Matsuoka Josh-Matsuoka added feat New feature or request safe-to-test labels May 2, 2025
@Josh-Matsuoka Josh-Matsuoka self-assigned this May 2, 2025
@github-actions github-actions bot added the needs-triage Needs thorough attention from code reviewers label May 2, 2025
@Josh-Matsuoka Josh-Matsuoka marked this pull request as ready for review June 2, 2025 20:56
@andrewazores andrewazores removed the needs-triage Needs thorough attention from code reviewers label Jun 6, 2025
@andrewazores andrewazores changed the title feat(diagnostics: Add thread dumps endpoint and storage feat(diagnostics): Add thread dumps endpoint and storage Jun 6, 2025
@Josh-Matsuoka
Copy link
Contributor Author

/build_test

@github-actions
Copy link

Workflow started at 8/28/2025, 1:19:19 PM. View Actions Run.

@github-actions
Copy link

OpenAPI schema change detected:

diff --git a/schema/openapi.yaml b/schema/openapi.yaml
index b31cec1..c8d9877 100644
--- a/schema/openapi.yaml
+++ b/schema/openapi.yaml
@@ -736,27 +736,20 @@ paths:
             type: integer
       responses:
         "200":
           content:
             application/json:
               schema:
                 items:
                   $ref: '#/components/schemas/ThreadDump'
                 type: array
           description: OK
-        "401":
-          description: Not Authorized
-        "403":
-          description: Not Allowed
-      security:
-        - SecurityScheme:
-            - read
       summary: Get Thread Dumps
       tags:
         - Diagnostics
     post:
       parameters:
         - in: path
           name: targetId
           required: true
           schema:
             format: int64
@@ -773,82 +766,61 @@ paths:
         required: true
       responses:
         "200":
           content:
             text/plain:
               schema:
                 type: string
           description: OK
         "400":
           description: Bad Request
-        "401":
-          description: Not Authorized
-        "403":
-          description: Not Allowed
-      security:
-        - SecurityScheme:
-            - write
       summary: Thread Dump
       tags:
         - Diagnostics
   /api/beta/diagnostics/targets/{targetId}/threaddump/{threadDumpId}:
     delete:
       parameters:
         - in: path
           name: targetId
           required: true
           schema:
             format: int64
             type: integer
         - in: path
           name: threadDumpId
           required: true
           schema:
             type: string
       responses:
         "204":
           description: No Content
-        "401":
-          description: Not Authorized
-        "403":
-          description: Not Allowed
-      security:
-        - SecurityScheme:
-            - write
       summary: Delete Thread Dump
       tags:
         - Diagnostics
   /api/beta/diagnostics/threaddump/download/{encodedKey}:
     get:
       parameters:
         - in: path
           name: encodedKey
           required: true
           schema:
             type: string
         - in: query
-          name: query
+          name: filename
           schema:
             type: string
       responses:
         "200":
           content:
             application/json:
               schema: {}
           description: OK
-        "401":
-          description: Not Authorized
-        "403":
-          description: Not Allowed
-      security:
-        - SecurityScheme:
-            - read
       summary: Handle Storage Download
       tags:
         - Diagnostics
   /api/beta/fs/recordings:
     get:
       responses:
         "200":
           content:
             application/json:
               schema:

@github-actions
Copy link

No GraphQL schema changes detected.

@github-actions
Copy link

Schema changes committed by the CI.

@github-actions
Copy link

CI build and push: All tests pass ✅
https://github.com/cryostatio/cryostat/actions/runs/17303124561

@Josh-Matsuoka
Copy link
Contributor Author

/build_test

@github-actions
Copy link

Workflow started at 8/28/2025, 2:31:21 PM. View Actions Run.

@github-actions
Copy link

No OpenAPI schema changes detected.

@github-actions
Copy link

No GraphQL schema changes detected.

@github-actions
Copy link

CI build and push: All tests pass ✅
https://github.com/cryostatio/cryostat/actions/runs/17304697467

@Josh-Matsuoka
Copy link
Contributor Author

/build_test

@github-actions
Copy link

Workflow started at 8/28/2025, 5:03:58 PM. View Actions Run.

@github-actions
Copy link

No GraphQL schema changes detected.

@github-actions
Copy link

No OpenAPI schema changes detected.

@github-actions
Copy link

CI build and push: All tests pass ✅
https://github.com/cryostatio/cryostat/actions/runs/17307857448

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

None yet

Development

Successfully merging this pull request may close these issues.

2 participants