Track add-building row-shape families
This commit is contained in:
parent
2fbc0bd7e7
commit
461cf087e5
4 changed files with 160 additions and 0 deletions
|
|
@ -341,6 +341,8 @@ struct RuntimeCompactEventDispatchClusterReport {
|
|||
add_building_dispatch_records_missing_trigger_kind: usize,
|
||||
add_building_descriptor_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_descriptor_map_counts: BTreeMap<String, usize>,
|
||||
add_building_row_shape_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_row_shape_map_counts: BTreeMap<String, usize>,
|
||||
add_building_signature_family_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_signature_family_map_counts: BTreeMap<String, usize>,
|
||||
add_building_condition_tuple_occurrence_counts: BTreeMap<String, usize>,
|
||||
|
|
@ -370,6 +372,8 @@ struct RuntimeCompactEventDispatchClusterCountsReport {
|
|||
add_building_dispatch_records_missing_trigger_kind: usize,
|
||||
add_building_descriptor_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_descriptor_map_counts: BTreeMap<String, usize>,
|
||||
add_building_row_shape_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_row_shape_map_counts: BTreeMap<String, usize>,
|
||||
add_building_signature_family_occurrence_counts: BTreeMap<String, usize>,
|
||||
add_building_signature_family_map_counts: BTreeMap<String, usize>,
|
||||
add_building_condition_tuple_occurrence_counts: BTreeMap<String, usize>,
|
||||
|
|
@ -1853,6 +1857,9 @@ fn run_runtime_inspect_compact_event_dispatch_cluster_counts(
|
|||
add_building_descriptor_occurrence_counts: report
|
||||
.add_building_descriptor_occurrence_counts,
|
||||
add_building_descriptor_map_counts: report.add_building_descriptor_map_counts,
|
||||
add_building_row_shape_occurrence_counts: report
|
||||
.add_building_row_shape_occurrence_counts,
|
||||
add_building_row_shape_map_counts: report.add_building_row_shape_map_counts,
|
||||
add_building_signature_family_occurrence_counts: report
|
||||
.add_building_signature_family_occurrence_counts,
|
||||
add_building_signature_family_map_counts: report
|
||||
|
|
@ -1894,6 +1901,8 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
let mut add_building_dispatch_records_missing_trigger_kind = 0usize;
|
||||
let mut add_building_descriptor_occurrence_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_descriptor_map_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_row_shape_occurrence_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_row_shape_map_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_signature_family_occurrence_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_signature_family_map_counts = BTreeMap::<String, usize>::new();
|
||||
let mut add_building_condition_tuple_occurrence_counts = BTreeMap::<String, usize>::new();
|
||||
|
|
@ -1919,6 +1928,7 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
let mut map_dispatch_strip_record_count = 0usize;
|
||||
let mut map_descriptor_keys = BTreeSet::<String>::new();
|
||||
let mut map_add_building_descriptor_keys = BTreeSet::<String>::new();
|
||||
let mut map_add_building_row_shapes = BTreeSet::<String>::new();
|
||||
let mut map_add_building_signature_families = BTreeSet::<String>::new();
|
||||
let mut map_add_building_condition_tuples = BTreeSet::<String>::new();
|
||||
let mut map_add_building_signature_condition_clusters = BTreeSet::<String>::new();
|
||||
|
|
@ -1968,6 +1978,7 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
let signature_family = compact_event_signature_family_from_notes(&record.notes);
|
||||
let condition_tuple_family =
|
||||
compact_event_dispatch_condition_tuple_family(&condition_tuples);
|
||||
let row_shape_family = compact_event_dispatch_row_shape_family(&matching_rows);
|
||||
let signature_family_key = signature_family
|
||||
.clone()
|
||||
.unwrap_or_else(|| "unknown-signature-family".to_string());
|
||||
|
|
@ -2005,6 +2016,10 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
.entry(descriptor_key.clone())
|
||||
.or_insert(0) += 1;
|
||||
map_add_building_descriptor_keys.insert(descriptor_key.clone());
|
||||
*add_building_row_shape_occurrence_counts
|
||||
.entry(row_shape_family.clone())
|
||||
.or_insert(0) += 1;
|
||||
map_add_building_row_shapes.insert(row_shape_family.clone());
|
||||
*add_building_signature_family_occurrence_counts
|
||||
.entry(signature_family_key.clone())
|
||||
.or_insert(0) += 1;
|
||||
|
|
@ -2054,6 +2069,11 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
.entry(descriptor_key)
|
||||
.or_insert(0) += 1;
|
||||
}
|
||||
for row_shape in map_add_building_row_shapes {
|
||||
*add_building_row_shape_map_counts
|
||||
.entry(row_shape)
|
||||
.or_insert(0) += 1;
|
||||
}
|
||||
for signature_family in map_add_building_signature_families {
|
||||
*add_building_signature_family_map_counts
|
||||
.entry(signature_family)
|
||||
|
|
@ -2125,6 +2145,8 @@ fn build_runtime_compact_event_dispatch_cluster_report(
|
|||
add_building_dispatch_records_missing_trigger_kind,
|
||||
add_building_descriptor_occurrence_counts,
|
||||
add_building_descriptor_map_counts,
|
||||
add_building_row_shape_occurrence_counts,
|
||||
add_building_row_shape_map_counts,
|
||||
add_building_signature_family_occurrence_counts,
|
||||
add_building_signature_family_map_counts,
|
||||
add_building_condition_tuple_occurrence_counts,
|
||||
|
|
@ -4516,6 +4538,26 @@ fn compact_event_dispatch_descriptor_key(
|
|||
.unwrap_or_else(|| descriptor_id.to_string())
|
||||
}
|
||||
|
||||
fn compact_event_dispatch_row_shape_family(
|
||||
grouped_rows: &BTreeMap<u32, Vec<RuntimeCompactEventDispatchClusterRow>>,
|
||||
) -> String {
|
||||
let mut parts = grouped_rows
|
||||
.values()
|
||||
.flat_map(|rows| rows.iter())
|
||||
.map(|row| {
|
||||
format!(
|
||||
"{}:{}:{}",
|
||||
row.group_index, row.opcode, row.raw_scalar_value
|
||||
)
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
if parts.is_empty() {
|
||||
return "[]".to_string();
|
||||
}
|
||||
parts.sort();
|
||||
format!("[{}]", parts.join(","))
|
||||
}
|
||||
|
||||
fn compact_event_dispatch_condition_tuple_family(
|
||||
tuples: &[RuntimeCompactEventDispatchClusterConditionTuple],
|
||||
) -> String {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue