dsh-jvm-doctor
提供离线的 JVM 生产报告与线程转储诊断工具 适合需要让 Agent 离线分析 Java 堆栈、GC 日志的开发者。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ax2/dsh-jvm-doctor说明文档
阅读完整 README ↗配置
apply(ctx, config) 接受以下配置(全部可选,含默认值):
| 字段 | 默认 | 作用 |
|---|---|---|
maxInputBytes | 2097152 | 单份粘贴文本的硬上限(UTF-8 字节),超过即拒绝 |
maxOutputBytes | 262144 | 渲染文本的软上限,超过即按 code point 截断并标记 |
maxThreads | 200 | java_thread_dump 序列化的线程条目上限 |
maxStatusLines | 40 | java_thread_dump 汇总的状态行上限 |
maxContention | 20 | java_thread_dump 报告的锁竞争队列上限 |
maxGcEvents | 500 | java_gc_log 保留的 GC cause 种类上限 |
maxPauseSamples | 5000 | 计算百分位所用的停顿样本上限 |
maxConflicts | 100 | java_dependency_conflicts 报告的冲突 artifact 上限 |
maxEdgesPerConflict | 20 | 每条冲突保留的边上限 |
maxExceptions | 25 | java_stack_trace 保留的异常链条目上限 |
maxFramesPerException | 60 | 每个异常保留的帧上限 |
maxChanges | 500 | spring_config_diff 报告的差异条数上限 |
maxKeys | 5000 | 每份配置文档展平后的键上限 |
sampleLimit | 5 | unknown_samples 保留的原文行数上限 |
toolPrefix | '' | 工具名前缀,例如 jvm → jvm__java_thread_dump |
only | [] | 只注册指定工具(空 = 全部) |
非法值(0、负数、NaN、Infinity)静默回落到默认值,并向下取整 —— 一个坏配置无法把预算关掉。