perf sentineldocs
FRGitHub
Documentation / SARIF

SARIF output reference

perf-sentinel emits SARIF v2.1.0 via --format sarif on analyze and diff. This reference lists the fields populated per result. For the cross-format acknowledgments workflow, see Acknowledgments.

Per-result fields

FieldSourceNotes
ruleIdFinding.finding_typeSnake-case rule id (n_plus_one_sql, redundant_http, ...).
levelFinding.severityerror for critical, warning for warning, note for info.
message.textcomposed from Finding fieldsHuman-readable summary including occurrences and window.
logicalLocations[0]Finding.servicekind: "module".
logicalLocations[1]Finding.source_endpointkind: "function".
properties.confidenceFinding.confidenceOne of ci_batch, daemon_staging, daemon_production. Read by perf-lint to boost or reduce IDE severity.
properties.signatureFinding.signatureCanonical signature, also exposed in fingerprints. Skipped when empty (legacy baselines pre-0.5.17).
properties.acknowledged--show-acknowledgedtrue for acknowledged entries, omitted for normal findings.
properties.acknowledgmentReason / acknowledgmentBy / acknowledgmentAtack metadataBiDi and invisible-format characters are stripped before emission (Trojan Source defense).
rankFinding.confidence.sarif_rank()Integer 0 to 100. ci_batch=30, daemon_staging=60, daemon_production=90.
locations[]Finding.code_locationPhysical source location, populated when the instrumentation agent emits code.filepath and code.lineno span attributes. Hostile filepaths (absolute, traversal, BiDi, percent-encoded) are rejected at emission.
fixes[]Finding.suggested_fixDescription-only SARIF fix object: free-text recommendation under description.text.
fingerprints["perfsentinel/v1"]Finding.signatureSARIF v2.1.0 section 3.27.17 fingerprint. Used by GitHub Code Scanning and GitLab SAST for deduplication across runs. Skipped when the signature is empty.

Tool

runs[].tool.driver is always { name: "perf-sentinel", version: <CARGO_PKG_VERSION>, informationUri: "https://github.com/robintra/perf-sentinel" }. The rules array pre-declares all 10 finding types regardless of how many results are emitted, so SARIF consumers can show rule descriptions even on a clean run.

Schema

$schema points to https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json.