Skip to main content

sensor_fingerprint

Function sensor_fingerprint 

Source
pub fn sensor_fingerprint(parts: &[&str]) -> String
Expand description

Build a fleet-standard fingerprint from semantic parts.

The fingerprint is a SHA-256 hash of the pipe-joined parts, with trailing empty parts trimmed. This provides a stable, deterministic identifier for findings that can be used for deduplication and tracking.

ยงExample

use perfgate_sensor::sensor_fingerprint;

let fp = sensor_fingerprint(&["tool", "check", "code", "metric"]);
assert_eq!(fp.len(), 64); // SHA-256 hex string

// Trailing empty parts are trimmed
let fp1 = sensor_fingerprint(&["a", "b", ""]);
let fp2 = sensor_fingerprint(&["a", "b"]);
assert_eq!(fp1, fp2);

// Different inputs produce different fingerprints
let fp3 = sensor_fingerprint(&["a", "c"]);
assert_ne!(fp1, fp3);