Skip to content

Releases: greatfinish/dmtop

dmtop v0.2.2

Choose a tag to compare

@greatfinish greatfinish released this 13 Aug 05:17

主要更新

  • 新增基于 V$SYSSTAT 的真实语句吞吐 STMT/s,并将原 QPS 明确更名为 CURSOR/s
  • 新增 SQL PATTERN 面板,对 SQL 字面量归一化,聚合 VARIANTS/sHARD/sEXEC/sCPU% 及客户端来源。
  • SQL RT 增加 EXEC/sLIO/sLIO/EXHARD/s 和线程 CPU%
  • PROCESS 增加 TRX_IDDML_CNTLOCK_CNT,空闲未提交事务显示为 IDLE-TXRUN_T 更名为 AGE
  • 新增 LONG SQLLONG TX 诊断提示;DDL 阻塞链显示 OBJECT/X 等锁模式。
  • 将锁等待时间速率明确命名为 LOCKMS/s,并对冲突的 PLANHIT 口径降级为 N/A

验证

  • go test ./...
  • go vet ./...
  • Linux amd64/arm64 静态交叉构建
  • DM8 实机验证高频 SQL、未绑定字面量、长 SQL、长事务与 DDL 锁场景

下载后请使用 SHA256SUMS-v0.2.2 校验发布包。

dmtop v0.2.1

Choose a tag to compare

@greatfinish greatfinish released this 03 Aug 08:54

v0.2.1 - 2026-08-03 - Lower Overhead Sampling

Changed

  • 合并周期重复查询,每轮数据库查询由 26 条降为 18 条。
  • PROCESS 与会话摘要共用一次 V$SESSIONS 查询;total/active/idle 直接由已取得的
    PROCESS 会话派生。
  • 事务数与 trx waits 由已有 V$TRXV$TRXWAIT 明细直接派生。
  • PROCESS 会话资源与 SQL RT/CUM 共用一次 V$SQL_STAT 扫描。
  • 删除 V$SYSTEM_EVENTV$SESSION_EVENT 周期采集和旧 EVENT 模型。
  • 批处理模式与交互模式复用同一套主界面、指标口径和兼容降级逻辑。
  • DM Go 驱动准备流程收敛为 Linux scripts/setup-dm-go-driver.sh

Fixed

  • 修复部分 DM8 版本缺少 SQL_TEXT_ID 时 PROCESS 区域无法显示的问题。
  • 排除 dmtop 自身采样事务,避免数据库摘要中的事务数被监控连接抬高。
  • 删除已经没有调用方的旧摘要、EVENT 和批处理渲染代码。

Validation

  • go test ./...go test ./cmd/_mockupgo vet ./...git diff --check 通过。
  • Linux amd64、arm64 静态交叉构建通过。
  • DM8 测试环境完成高 CPU SQL、PROCESS 排序和 SQL TIMING 降级实测。

dmtop v0.2.0

Choose a tag to compare

@greatfinish greatfinish released this 02 Aug 12:01

dmtop v0.2.0

dmtop 是一个面向达梦 DM8 的轻量级、本机实时性能诊断 TUI。

主要功能

  • 展示 Linux CPU、负载、内存、Swap、磁盘和网络性能
  • 展示数据库会话、事务、QPS/TPS、缓存、解析和 IO 指标
  • 将达梦会话 SID、操作系统 TID 和高 CPU SQL 关联起来
  • 支持 SQL RT、SQL CUM、完整 SQL 和执行计划下钻
  • 展示 ROOT BLOCKER → WAITER 阻塞链
  • 支持安全关闭指定数据库会话
  • 自动检测不同 DM8 版本的动态视图和字段能力
  • 使用达梦原生 Go 驱动,不依赖 disql 或外部 Agent

平台

  • Linux amd64
  • Linux arm64
  • DM8

架构 压缩包大小 SHA256
Linux amd64 3,787,986 bytes 28de52c1366f7cf609197c39421bc834275551d1f216c652f61fb83202b5d042
Linux arm64 3,436,951 bytes 4a721538d17c68221ea54dfaf0b44c76e063f6d66f00da70086f0c32a523cf60