pub struct Cluster {
pub number: usize,
/* private fields */
}
Expand description
Structure provides an abstraction for cluster with CASR reports
Fields§
§number: usize
Cluster number
Implementations§
source§impl Cluster
impl Cluster
sourcepub fn new(
number: usize,
paths: Vec<PathBuf>,
stacktraces: Vec<Stacktrace>,
crashlines: Vec<String>
) -> Self
pub fn new( number: usize, paths: Vec<PathBuf>, stacktraces: Vec<Stacktrace>, crashlines: Vec<String> ) -> Self
Create new Cluster
sourcepub fn stacktraces(&self) -> &Vec<Stacktrace>
pub fn stacktraces(&self) -> &Vec<Stacktrace>
Get CASR report stactraces
sourcepub fn cluster_reports(
reports: &[ReportInfo],
offset: usize,
dedup: bool
) -> Result<(HashMap<usize, Cluster>, usize, usize)>
pub fn cluster_reports( reports: &[ReportInfo], offset: usize, dedup: bool ) -> Result<(HashMap<usize, Cluster>, usize, usize)>
Perform CASR reports clustering
§Arguments
-
reports
- slice ofReportInfo
-
offset
- cluster enumerate offset -
dedup
- deduplicate crashline, if true
§Return value
HashMap
ofCluster
with cluster number as key- Number of valid casreps before crashline deduplication
- Number of valid casreps after crashline deduplication
sourcepub fn insert(
&mut self,
path: PathBuf,
stacktrace: Stacktrace,
crashline: String,
dedup: bool
) -> bool
pub fn insert( &mut self, path: PathBuf, stacktrace: Stacktrace, crashline: String, dedup: bool ) -> bool
sourcepub fn relation(&mut self, new: &Stacktrace) -> Relation
pub fn relation(&mut self, new: &Stacktrace) -> Relation
sourcepub fn dist(cluster1: &Cluster, cluster2: &Cluster) -> f64
pub fn dist(cluster1: &Cluster, cluster2: &Cluster) -> f64
Get complete distance between clusters NOTE: Result also can be interpreted as diameter of cluster merge result
sourcepub fn dist_rep(cluster: &Cluster, report: &ReportInfo) -> f64
pub fn dist_rep(cluster: &Cluster, report: &ReportInfo) -> f64
Get complete distance between cluster and report NOTE: Result also can be interpreted as diameter of cluster merge result
Auto Trait Implementations§
impl Freeze for Cluster
impl RefUnwindSafe for Cluster
impl Send for Cluster
impl Sync for Cluster
impl Unpin for Cluster
impl UnwindSafe for Cluster
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more