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§
- Diff
Report - Delta between two analysis runs.
- Endpoint
Delta - Per-endpoint I/O op count delta between two runs.
- Mutated
Finding - A finding whose normalized template changed between the two runs while its detector, service, endpoint, and grouping stayed the same.
- Severity
Change - A finding whose worst severity changed between the two runs.
Functions§
- diff_
runs - Compare two analysis reports.