跳转到主要内容
vsql_stat_ch 为服务器完成的每条语句记录一个事件,并分批发送到 ClickHouse。查询历史于是保存在一个您可以聚合的地方,两者之间不需要 收集器进程。它使用 ClickHouse 的原生协议或 HTTP,并且可以在服务器 运行时在两者之间切换。
此扩展使用了四个预览能力,因此服务器必须以 --vsql_allow_preview_extensions=ON 启动。否则 INSTALL EXTENSION 会被拒绝。

安装

vsql_stat_ch 未随服务器捆绑,因此请先构建再安装。克隆存储库时请 带上子模块,因为它内置了一个 ClickHouse 客户端:
把生成的 vsql_stat_ch.veb 复制到 veb_dir 系统变量所指定的目录中, 然后安装它:
确认它已存在:

新增内容

它添加了一条捕获路径、一组设置和一组状态计数器,不添加 SQL 函数。

示例

把它指向一个 ClickHouse 实例并开始捕获:
通过状态计数器观察它在做什么:
events_dropped 不断上升意味着队列填满的速度快于排空的速度,因此 要么 ClickHouse 响应缓慢,要么 queue_capacity 对于当前的语句速率 来说太小。
语句文本在 statement_max_bytes 处截断,而语句文本可能带有您数据中 的字面量。在开启捕获之前,请先决定您的 ClickHouse 表允许保存什么。

另请参阅