-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Tools
-
Storage Engines
-
StorEng - Defined Pipeline
Scope:
Develop network graphs to visually represent the coupling between modules. This visualisation will help in identifying tightly coupled modules and analysing their interactions.
The Modstat tool can generate module-level coupling output using the following command: ./dist/modstat. Running this command produces an output that when parsed by libraries like PyViz to create network graphs.
[bitstring] -> [btree] : 8 [block] -> [bitstring] : 22 [block_cache] : 13 [btree] : 81 [cache] [checkpoint] : 103 [compact] : 16 [config] : 23 [conn] : 197 [meta] [pack] : 28 [schema] : 2 [session] : 594 [stat] : 60 [block_cache] -> [block] : 345 [btree] : 137 [cache] : 2 [config] : 87 [conn] : 346 [meta] : 2 [session] : 1103 [stat] : 169 [tiered] : 10 [txn] : 2 [bloom] -> [bitstring] : 2 [config] : 2 [conn] : 2 [evict] [session] : 10 [btree] -> [bitstring] : 9 [block] : 60 [block_cache] : 12 [cache] : 43 [cell] : 895 [checkpoint] : 65 [column] : 28 [config] : 155 [conn] : 654 [cursor] : 1265 [evict] : 43 [generation] : 7 [history] [log] : 2 [meta] : 17 [pack] : 8 [packing] : 5 [reconcile] : 8 [schema] : 7 [session] : 3432 [stat] : 408 [truncate] : 4 [txn] : 168 [cache] -> [conn] : 2 [session] : 5 [call_log] -> [conn] : 37 [session] : 31 [cell] -> [btree] : 58 [checkpoint] : 2 [pack] : 60 [session] : 121 [txn] : 15 [checkpoint] -> [block] : 7 [btree] : 165 [cache] : 6 [conf] [config] : 90 [conn] : 623 [cursor] : 5 [evict] : 12 [generation] : 2 [log] : 18 [meta] : 28 [schema] : 7 [session] : 1342 [stat] : 214 [tiered] : 2 [txn] : 93 [column] -> [btree] : 128 [conf] -> [bitstring] : 4 [config] : 216 [conn] : 40 [session] : 135 [config] -> [conf] [conn] : 35 [session] : 144 [conn] -> [block] : 12 [block_cache] : 80 [btree] : 533 [cache] : 225 [call_log] : 5 [checkpoint] : 14 [conf] : 3 [config] : 485 [cursor] : 4 [evict] : 28 [generation] [history] : 4 [live_restore] : 3 [log] : 17 [meta] : 34 [optrack] : 145 [packing] : 14 [rollback_to_stable] : 5 [schema] : 17 [session] : 3178 [stat] : 277 [tiered] : 74 [txn] : 37 [cursor] -> [bitstring] : 2 [block] [btree] : 671 [cache] : 7 [cell] : 6 [checkpoint] : 46 [conf] : 11 [config] : 204 [conn] : 1153 [evict] [history] : 4 [log] : 9 [meta] : 54 [optrack] : 990 [pack] : 2 [packing] : 45 [reconcile] : 9 [schema] : 266 [session] : 10352 [stat] : 307 [truncate] : 16 [txn] : 603 [evict] -> [btree] : 902 [cache] : 46 [config] : 32 [conn] : 613 [cursor] : 2 [generation] [history] [meta] : 6 [optrack] : 64 [reconcile] : 8 [schema] : 5 [session] : 1937 [stat] : 322 [txn] : 73 [generation] -> [conn] : 3 [session] : 10 [history] -> [block] [btree] : 241 [cache] : 8 [config] : 8 [conn] : 95 [cursor] : 52 [evict] : 2 [meta] [pack] : 3 [reconcile] : 29 [schema] : 3 [session] : 465 [stat] : 47 [txn] : 24 [live_restore] -> [block] : 3 [btree] [config] : 11 [conn] : 104 [cursor] : 2 [meta] [session] : 279 [stat] : 16 [log] -> [btree] : 11 [checkpoint] : 4 [config] : 44 [conn] : 443 [cursor] : 32 [meta] : 4 [optrack] : 45 [pack] : 98 [packing] : 18 [schema] : 9 [session] : 1268 [stat] : 106 [txn] : 8 [meta] -> [block] : 5 [btree] : 40 [cell] : 2 [checkpoint] : 233 [config] : 162 [conn] : 157 [cursor] : 6 [evict] [log] : 2 [schema] : 16 [session] : 543 [tiered] [txn] : 54 [optrack] -> [conn] : 7 [session] : 362 [packing] -> [config] : 9 [conn] : 5 [pack] : 31 [session] : 27 [reconcile] -> [bitstring] : 24 [block] : 6 [block_cache] [btree] : 2173 [cache] : 4 [cell] : 379 [checkpoint] : 2 [conn] : 241 [cursor] : 78 [evict] : 5 [generation] [history] : 3 [meta] : 9 [pack] : 5 [session] : 1572 [stat] : 149 [txn] : 66 [rollback_to_stable] -> [bitstring] [btree] : 521 [cache] : 4 [cell] : 16 [checkpoint] [config] : 36 [conn] : 663 [cursor] : 8 [history] : 3 [log] [meta] : 10 [pack] : 3 [schema] : 3 [session] : 1796 [stat] : 117 [txn] : 39 [schema] -> [block] [btree] : 65 [checkpoint] : 13 [config] : 273 [conn] : 125 [cursor] : 29 [meta] : 54 [packing] : 139 [session] : 750 [stat] : 12 [tiered] : 25 [truncate] : 11 [txn] : 70 [session] -> [block] : 2 [btree] : 187 [call_log] : 6 [checkpoint] : 25 [compact] : 19 [conf] : 2 [config] : 90 [conn] : 558 [cursor] : 23 [evict] : 3 [log] : 5 [meta] : 15 [optrack] : 298 [rollback_to_stable] [schema] : 83 [stat] : 138 [truncate] : 8 [txn] : 103 [stat] -> [btree] : 6 [conn] : 54 [session] : 1825 [tiered] -> [btree] : 37 [config] : 92 [conn] : 219 [cursor] [meta] : 9 [schema] : 6 [session] : 285 [stat] : 10 [txn] : 17 [txn] -> [block] [btree] : 480 [cache] : 15 [checkpoint] : 40 [conf] : 19 [config] : 147 [conn] : 517 [cursor] : 117 [evict] : 8 [generation] [history] : 5 [log] : 190 [meta] : 20 [pack] : 4 [packing] : 16 [rollback_to_stable] : 6 [schema] [session] : 1495 [stat] : 163 [truncate] : 17