2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

ovsdb-idl: Get per-database memory usage statistics.

Clients might be connected to multiple databases (e.g., ovn-controller
is connected to OVN_Southbound and Open_vSwitch databases) and the IDL
memory statistics are more useful if they're not aggregated.

Signed-off-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
Dumitru Ceara
2022-06-24 09:48:24 +02:00
committed by Ilya Maximets
parent 23ed22594d
commit c558f9f1e1

View File

@@ -498,9 +498,20 @@ ovsdb_idl_get_memory_usage(struct ovsdb_idl *idl, struct simap *usage)
cells += n_rows * n_columns;
}
simap_increase(usage, "idl-cells", cells);
simap_increase(usage, "idl-outstanding-txns",
hmap_count(&idl->outstanding_txns));
struct {
const char *name;
unsigned int val;
} idl_mem_stats[] = {
{"idl-outstanding-txns", hmap_count(&idl->outstanding_txns)},
{"idl-cells", cells},
};
for (size_t i = 0; i < ARRAY_SIZE(idl_mem_stats); i++) {
char *stat_name = xasprintf("%s-%s", idl_mem_stats[i].name,
idl->class_->database);
simap_increase(usage, stat_name, idl_mem_stats[i].val);
free(stat_name);
}
}
/* Returns a "sequence number" that represents the state of 'idl'. When