Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-14010

Create Network Graphs to showcase module coupling

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 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 

        1. checkpoint-txn-funcs.png
          635 kB
          Yury Ershov

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            siddhartha.mahajan@mongodb.com Sid Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: