一款实时 SQL 流量查看神器

排查 SQL 性能问题,传统手段各有各的痛:翻慢查询日志发现已经轮转了,加 APM 探针配置繁琐还要改代码,看 pg_stat_statements 或 performance_schema 又总觉得信息碎片化、缺事务上下文。

要么侵入性强,要么信息滞后,要么维度单一。

sql-tap 的思路不一样——它是个透明代理 ,往应用和数据库之间一插,SQL 流量实时可见,零侵入。

开源地址:https://github.com/mickamy/sql-tap

图片

sql-tap 怎么工作的?

两个组件,分工明确:

sql-tapd(代理) ——监听一个端口(比如 :5433),应用连它而不是直连数据库。它干两件事:① 双向透明转发全部流量,业务完全无感;② 同时复制一份做协议深度解析。支持 PostgreSQL、MySQL、TiDB。

sql-tap(TUI 客户端) ——通过 gRPC 流接收代理解析出的事件,终端里实时展示。每条查询的时间、来源客户端、执行耗时、所属事务——一目了然。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

三步上手

1. 启动代理

`sql-tapd -driver postgres -listen :5433 -upstream localhost:5432
`

2. 改应用连接地址

把数据库连接串里的 localhost:5432 改成 proxy-host:5433,重启应用。

3. 打开监控终端

`sql-tap --connect grpc://proxy-host:8080
`

SQL 流量就在终端里实时滚动了。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

效果展示

图片

图片

开源地址:https://github.com/mickamy/sql-tap


原网址: 访问
创建于: 2026-04-16 11:51:03
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论