Skip to main content
Glama

timing_analysis

Analyze log timestamps and sequence numbers to find dropped frames, interval outliers, and timing drift; feed log text, a capture file path, or custom patterns for relative timing comparisons.

Instructions

时序 / 数据率分析:找丢帧(序号跳号)、卡顿(间隔离群)、节拍漂移。

输入二选一:text(现成日志内容)或 path(日志/采集文件)。 最顺的用法:先 stream_capture 采一段,再把它的文件路径喂进来。

时间戳自动识别两种:[+0.0123] 采集前缀、HH:MM:SS.mmm;其他格式用 pattern (第 1 个捕获组是秒)。 seq_pattern 给序号(第 1 个捕获组),例如 TICK 42 这种要写 seq_pattern="TICK\s+(\d+)"; 不给则只认行首那个整数。

★ 定位说明:时间戳来自 PC 侧(OS 调度 + USB 缓冲),自带毫秒级抖动。上面的数适合 【相对比较】——哪几次明显变慢、有没有跳号、是否整体漂移;不适合当示波器判 「周期是不是精确 1.000 ms」。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
textNo
patternNo
seq_patternNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does so well: it discloses the timestamp auto-detection behavior (capture prefix [+0.0123] and HH:MM:SS.mmm, with pattern fallback), the default seq detection (leading integer only) versus explicit seq_pattern, and critically the accuracy caveat that timestamps come from the PC side (OS scheduling + USB buffering) with ms-level jitter, making results valid only for relative comparison. This is exactly the kind of trait that cannot be inferred from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the remaining sections (input choice, workflow, timestamp rules, seq rules, caveat) are logically ordered with no redundancy. It is somewhat long, but given 0% schema coverage and a nontrivial measurement caveat, most of the length is load-bearing rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not required. Given that, the description covers everything an agent needs to call this correctly: input selection, the stream_capture workflow, timestamp and sequence-number parsing rules, and the interpretive limits of the output. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it fully does: it explains path vs text as an either/or choice, states that pattern is for non-standard timestamp formats with the first capture group being seconds, and explains seq_pattern with a concrete example (seq_pattern="TICK\s+(\d+) for lines like 'TICK 42'). All four otherwise-undocumented parameters gain meaning here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opening line states a specific verb+resource (timing/data-rate analysis) and enumerates exactly what it detects: sequence-number gaps (dropped frames), interval outliers (stalls), and phase drift. This is clearly distinguishable from all siblings such as analyze_log or nmea_parse, which parse content rather than measure timing characteristics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the two mutually exclusive input modes (text vs path) and then names the ideal workflow: run stream_capture first and feed its output path in, which routes the agent to the correct sibling. It also documents a when-NOT condition ('not suitable as an oscilloscope for judging whether the period is exactly 1.000 ms'), so both the appropriate and inappropriate uses are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.