跳到正文
cccskills
免费在 GitHub 公开

rezolus-mcp

Investigate a Rezolus performance recording (.parquet, .rez, .dendro) through the rezolus MCP server. Discovery before query, verdicts and marks written back, links to the viewer.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Investigating a Rezolus recording

The rezolus MCP server opens a recording file and answers about it. Every tool that reads a recording takes parquet_file, the path to a .parquet, .rez or .dendro file (the name is historical; the format is detected by content). A .rez is Rezolus's archive, which can hold several recordings; a .dendro is the newer archive container and reads the same way. viewer_link reads no recording and takes no path. Ask the person for the file if you were not given one; rezolus record -o out.dendro writes one.

Workflow

  1. describe_recording first. It says what the file holds: source, agent version, time range, duration, and, for a multi-recording .rez, the list of recordings with the recording selector that picks each.
  2. describe_metrics before any query. Metric names, types and labels come from the recording, not from memory. A counter is queried with irate(name[1m]) (the per-step rate; rate(name[5m]) is the average over five minutes), a gauge directly, a histogram with histogram_quantile(0.99, name).
  3. extract_features for the overview: per-metric stats, noise class, anomalies, regime shifts, uncertainty, correlations, resource rankings. Read it before forming hypotheses; it needs at least 10 s of data.
  4. query, detect_anomalies, analyze_correlation to test specific hypotheses. detect_anomalies and a check need ONE series: aggregate with sum() / avg() or add label matchers.
  5. Write back what you found (below), and hand the person a link.

Rules that hold on every recording:

  • A missing metric is not zero. A sampler that was off or a kernel without the hook leaves the metric absent; say so rather than reading it as idle.
  • irate() and rate() values carry an uncertainty band [lo, hi] from the acquisition window: in query JSON it is the bands (and intervals) list aligned with values. A difference inside the band is not a difference. A recording with no acquisition windows (for example a parquet combined into a .rez) has no band, which says nothing about its precision.
  • Correlation does not establish causation. Report it as co-movement.
  • On a multi-recording archive of one run, the tools read every recording together unless a recording selector (e.g. {"source": "redis"}) names one: each series carries its recording's labels, so sum by (host) answers per host and {host="web-01"} selects one. extract_features needs a selector, and so does every tool on a comparison (recordings carrying arm). Matching none or several is an error that lists the candidates; it never guesses. run_checks without a selector evaluates every recording and gives each its own verdicts.

Writing back

  • add_event marks an instant or a range (duration) in the recording; the viewer draws it on the timeline. Give a kind (finding, spike, incident, deploy), a one-line description, and put the evidence (the query, the numbers) in details. source defaults to mcp, so your marks can be filtered or removed as a group. timestamp is RFC 3339 or Unix seconds as a JSON number (never a digit-only string). The reply carries the event id; adding an event with an id already present changes nothing, so retrying is safe (a kind=check event is the exception: it replaces a stored check event with the same id).
  • run_checks evaluates the recording's KPI checks (or a ServiceExtension object you pass as queries) and returns each verdict with its violation windows; annotate: true writes them as events.
  • export_query writes a range query as CSV or parquet (long form: series, timestamp, value, lo, hi) for analysis outside PromQL. It works only when the server was started with --export-dir. filename is a bare name (no directories) and an existing file is never overwritten; step defaults to 1 s; results over a million rows are refused, so raise step or aggregate; a heatmap is refused, so export histogram_quantile(...) of it.
  • viewer_link builds a link into a running rezolus view: a section (cpu, memory, ..., or service/<name>), optional chart_id, from/to, and the rest of the view state. With viewer_url (or a server started with --viewer-url) it is a full URL; otherwise append the returned query and fragment to the viewer's address.
  • remove_events exists only when the server was started with --allow-mutating. It removes by ids, kind and/or source; an empty filter is refused.

Reporting

Lead with the finding and the instant it happened, then the evidence (metric, query, values with their bands), then what you wrote back (event ids) and the link. State what could not be measured.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Write or update the CLI `--help` text and README section for a new or changed rezolus feature (a subcommand, flag, mode, or behavior change), then prove the help is usable by dispatching a fresh subagent that has never seen the code. Use this whenever you add or change how rezolus is invoked — new `rezolus <subcommand>`, new flags/args on an existing mode, renamed options, or changed defaults — and any time the user says the help/README is thin, stale, confusing, or "an agent couldn't figure this out." Treats help text as an interface under test, not prose.

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

Use when starting or picking up a non-trivial effort (feature, investigation, perf probe, refactor, migration) in a shared repo where teammates or future agents must coordinate or hand off; when a repo has no durable in-tree record of decisions and dead-ends; when you're about to drop a well-measured negative result; or when bootstrapping a journal from a repo's commit history.

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

pr

免费

Create a feature branch, commit changes, push, and open a PR against iopsystems/rezolus

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

Tag and push a prerelease from the current Cargo.toml version. Use when the user wants to cut an alpha/beta/rc prerelease. Aborts on stable versions (no `-` in version string) and if the tag already exists.

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

release

免费

Create a release PR with version bump and changelog update

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

Use when reviewing a Rezolus sampler change before merge — a new sampler, a change to an existing sampler's probes/refresh/metrics, or core changes that affect samplers; or whenever a sampler's overhead, cadence, or data source is in question.

中文简介正在准备中。当前显示原文说明。

iopsystems/rezolus2772026年10月21日 更新

查看 iopsystems 的全部技能

报告此技能的问题