Browse documentation

trace_compare_sessions

[analysis]

Compares two stored GliderTrace sessions and highlights fixed, new, and persisting evidence.

Try it locally in the GliderTrace playground

Parameters

NameTypeRequiredDescription
baselineSessionIdstringYesBaseline trace session id, usually before a fix or change.
candidateSessionIdstringYesCandidate trace session id, usually after a fix or change.
kindsjsonNoOptional evidence kinds such as testFailure, exception, buildError, buildWarning, log, counter, process, artifact, or warning.
minSeveritystringNoOptional minimum severity: 'info', 'warning', 'error', or 'critical'.
limitnumberNoMaximum number of fixed, new, and persisting items to return per group. Default: 20
includeArtifactsbooleanNoInclude artifact references from both sessions. Defaults to true. Default: true

Examples

Replace sample paths and symbol keys with values from your workspace.

Compare before and after sessions

Arguments
{
  "baselineSessionId": "trc_before",
  "candidateSessionId": "trc_after"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "trace_compare_sessions",
    "arguments": {
      "baselineSessionId": "trc_before",
      "candidateSessionId": "trc_after"
    }
  }
}

Response Notes

Returns fixed, new, and persisting evidence groups with optional artifact references. It carries per-side baselineCoverage and candidateCoverage blocks. An incomplete side makes the verdict inconclusive. A missing regression may never have been stored.

From GliderTrace 1.0.0: A partial or unknown test total makes the comparison inconclusive. Older test sessions without count provenance also remain inconclusive. Different test sessions remain inconclusive even with exact counts: their execution scopes cannot yet be proved equivalent. Observed differences remain available. Same-session comparisons and comparisons without test evidence retain their existing behavior. These rules apply independently of capture coverage.

GliderTrace 1.0.0 returns compact JSON for every tool. Result fields appear beside success; there is no response-format parameter. success describes the tool call. Check the process or session status and exitCode separately. Scalar results and fields that conflict with reserved names appear under result.

To migrate an envelope consumer, read response.sessionId instead of response.data.sessionId. Stored sessions and exported files keep their formats. --max-response-chars limits response text to 60,000 UTF-16 characters by default. Use 0 to disable it, or at least 1,000. This limit counts text characters, not transport bytes or tokens.

outputLimit.truncated marks omitted response detail. It does not change capture completeness. Use the returned next tool and arguments when available. Do not repeat a command or feedback submission to recover omitted output. For event pages, keep the filters and cursor while reducing limit.

For session details, set includeArtifacts and includeTopFindings to false to reduce output. Check error, actionable meta, warnings, and coverage before drawing conclusions. Internal diagnostics stay in local server logs.