Skip to main content

Module diff

Module diff 

Source
Expand description

Diff stage: compare two analysis reports and produce a delta.

Primary use case: PR CI integration. Run analyze on the base branch’s traces, run it again on the PR branch’s traces, then compare the two reports to surface regressions (new findings, severity escalations, per-endpoint I/O op increases) and improvements (resolved findings, severity de-escalations, per-endpoint I/O op decreases).

Finding identity for stable comparison is the tuple (finding_type, service, source_endpoint, pattern.template). The template is already normalized at detection time so direct equality suffices, no re-normalization at diff time.

A template mutation (schema change, renamed column, host move) shifts that identity, which used to surface as one resolved plus one new finding. A second pass pairs those leftovers when the match is unambiguous and reports them as mutated_findings instead, so a refactor does not read as a regression.

Structs§

DiffReport
Delta between two analysis runs.
EndpointDelta
Per-endpoint I/O op count delta between two runs.
MutatedFinding
A finding whose normalized template changed between the two runs while its detector, service, endpoint, and grouping stayed the same.
SeverityChange
A finding whose worst severity changed between the two runs.

Functions§

diff_runs
Compare two analysis reports.