查询指标
molesignal metrics query 执行一次 PromQL 区间查询,每个序列输出一行:它在时间窗内的最新值、最小值、最大值、一条迷你折线,以及它的标签。
--since、--from 和 --to 可以修改。-n 限制点数,默认 1000。--json 输出每个序列及其数据点,--csv 把数据点按行输出。
另外四个子命令用来找查询的对象:
查找链路
画出一条链路
molesignal traces show 把一条链路画成瀑布图:每个 Span 一行,排在父 Span 之下,用一段条形表示它在整条链路中何时运行、耗时多久。失败的 Span 用 ! 标出,在终端中显示为红色。
--web 在 MoleSignal 中打开这条链路,--json 输出它的 Span。
汇总服务
--sort 按 requests、errors、p95 或 name 排序。
molesignal services show 汇总一个服务:先是请求、错误和延迟,再是它的接口、依赖、错误和版本:
比较两个版本
molesignal services compare 并排比较一个服务的两个版本,判断候选版本是变差、变好、持平,还是请求太少无法判断。带 --fail-on-regression 时,变差以 1 退出,流水线可以据此拦下发布:
用搜索任务执行耗时的查询
搜索任务在后台执行查询,能覆盖比即时查询更多的数据和更长的时间,并把结果保留一段时间。提交和取消搜索任务与其他变更一样经过组织的 Tool Policy,参见事件与变更。FROM 后的第一个;--stream 可以指定另一个,--promql 提交 PromQL 语句,在时间窗口末尾求值,给了 --step(例如 1m)则每个步长求值一次。--limit 限制任务保留的行数,最多 100000,--keep 设置保留多久。--wait 等待任务完成。命令输出任务的 ID。
访问权限
指标与链路需要streams.query 或 sys.telemetry.read,APM 与搜索任务也一样。组织的 Tool Policy 需要开启相应工具。