Skip to main content

code_moniker_workspace/linkage/binding/
metrics.rs

1#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
2pub struct LinkageMemoryMetrics {
3	pub reference_sets: usize,
4	pub reference_set_values: u64,
5	pub reference_set_serialized_bytes: usize,
6	pub symbol_sets: usize,
7	pub symbol_set_values: usize,
8	pub symbol_set_serialized_bytes: usize,
9	pub symbol_catalog_entries: usize,
10	pub decisions: usize,
11}
12
13impl LinkageMemoryMetrics {
14	pub(crate) fn add_reference_set(&mut self, len: u64, serialized_bytes: usize) {
15		self.reference_sets += 1;
16		self.reference_set_values += len;
17		self.reference_set_serialized_bytes += serialized_bytes;
18	}
19
20	pub(crate) fn add_symbol_set(&mut self, len: usize, serialized_bytes: usize) {
21		self.symbol_sets += 1;
22		self.symbol_set_values += len;
23		self.symbol_set_serialized_bytes += serialized_bytes;
24	}
25}