feat(thread-dump): Enhancements for thread dump analyzer#389
Open
zachelnet wants to merge 1 commit into
Open
Conversation
20be784 to
2e175d4
Compare
974d2fc to
20be784
Compare
20be784 to
c26b251
Compare
…pring Boot 3 Backend (analysis/thread-dump): - New diagnoser: ThreadDumpDiagnoser, Diagnostic, ThreadDumpAnalysisConfig - ThreadDumpAnalyzer: diagnose(), blockingThreads(), cpuConsumingThreads(), cpuConsumingThreadsCompare(), searchThreads(), threads() with state/id filter - Converter: robust locale-aware number parsing - New VOs: SearchHit, VBlockingThread, extended VThread - Tests: TestDiagnoser, TestConverter, TestAnalyzer updated Frontend (Vue 3): - New components: Diagnose, BlockedThreads (D3 tree), CpuConsumingThreads (ECharts bar), ThreadDumpSearch, ThreadDumpSearchForm, ThreadDumpOverview - ThreadDump.vue: thread summary with clickable colored el-tags per state - ThreadDumpOverview.vue: ECharts Doughnut + Bar charts with dark mode, resize handler and onUnmounted cleanup - STATE_COLORS covers all JavaThreadState + OSTreadState enum values - i18n: en.ts + zh.ts for all new keys Assisted-by: GitHub Copilot (Claude Sonnet 4.5)
c26b251 to
f614d7a
Compare
This file contains hidden or 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
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.
Overview
This PR ports PR #231 by jutzig/SEEBURGER to the current Vue 3 / Spring Boot 3 codebase.
Changes
Backend (analysis/thread-dump)
ThreadDumpDiagnoserwith configurable thresholds (ThreadDumpAnalysisConfig) detects the following issues:diagnose()– runs all diagnostic checksblockingThreads()– returns blocking/blocked thread treescpuConsumingThreads()– top N threads by CPU timecpuConsumingThreadsCompare()– compare CPU usage across two snapshotssearchThreads()– full-text search with regex, field and state filtersthreads()extended withthreadStateandidsparameters1.234,56and1,234.56)SearchHit,VBlockingThread, extendedVThreadTestDiagnoser,TestConverter, updatedTestAnalyzerFrontend (Vue 3 / TypeScript)
Diagnose– displays diagnoser results with message, file and suggestion columnsBlockedThreads– D3.js tree diagram of blocking/blocked thread chainsCpuConsumingThreads– horizontal bar chart (ECharts) of top CPU threadsThreadDumpSearch+ThreadDumpSearchForm– full-text thread search with regex, field selection, state filter and results tableThreadDumpOverview– summary panel with state distribution (ECharts Doughnut), top CPU threads (ECharts Bar) and thread group summarywatch(isDark)resize()handler on window resizedispose()+removeEventListeneron unmountel-tagper state in Thread Summary and Thread Group Summary – clickable to filter threads by stateSTATE_COLORScovers all actual enum values fromJavaThreadStateandOSThreadState(PARKED_TIMED,PARKED,IN_OBJECT_WAIT,IN_OBJECT_WAIT_TIMED,SLEEPING,BLOCKED_ON_MONITOR_ENTER,COND_VAR_WAIT,OBJECT_WAIT,MONITOR_WAIT, etc.)AI Disclosure
This contribution was developed with AI assistance.
Assisted-by: GitHub Copilot (Claude Sonnet 4.5)