Uber / tchannel-go
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 20 components.
  • 181 files, 17,714 LOC (96.8% vs. main code).
  • "ROOT" is biggest, containing 42.2% of LOC.
  • "trace" is smallest, containing 0.01% of LOC.


ROOT7475 LOC (40%) 57 files
thrift3283 LOC (17%) 28 files
testutils1750 LOC (9%) 26 files
hyperbahn1597 LOC (8%) 13 files
benchmark1222 LOC (6%) 18 files
crossdock506 LOC (2%) 10 files
typed386 LOC (2%) 3 files
relay277 LOC (1%) 4 files
json254 LOC (1%) 3 files
stats223 LOC (1%) 3 files
http180 LOC (<1%) 3 files
scripts146 LOC (<1%) 1 file
raw145 LOC (<1%) 2 files
internal73 LOC (<1%) 2 files
tos71 LOC (<1%) 2 files
tnet43 LOC (<1%) 1 file
peers29 LOC (<1%) 2 files
trand27 LOC (<1%) 1 file
pprof26 LOC (<1%) 1 file
trace1 LOC (<1%) 1 file
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 23 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 23 links contain 40 dependencies.
G benchmark benchmark thrift thrift benchmark->thrift 2 hyperbahn hyperbahn benchmark->hyperbahn 1 relay relay benchmark->relay 1 raw raw benchmark->raw 3 testutils testutils benchmark->testutils 2 ROOT ROOT crossdock crossdock crossdock->thrift 1 json json crossdock->json 2 http http crossdock->http 1 trace trace pprof pprof pprof->http 1 trand trand internal internal thrift->internal 2 typed typed thrift->typed 2 tos tos http->typed 3 scripts scripts tnet tnet peers peers hyperbahn->thrift 5 hyperbahn->json 1 relay->thrift 1 stats stats testutils->internal 1 testutils->thrift 2 testutils->tos 1 testutils->json 2 testutils->typed 1 testutils->hyperbahn 1 testutils->relay 2 testutils->raw 2


Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details about dependencies...




Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
ROOT1019 commits (48%)
testutils250 commits (12%)
thrift197 commits (9%)
hyperbahn75 commits (3%)
relay50 commits (2%)
benchmark40 commits (1%)
json31 commits (1%)
raw28 commits (1%)
typed23 commits (1%)
stats10 commits (<1%)
pprof9 commits (<1%)
crossdock6 commits (<1%)
internal4 commits (<1%)
http4 commits (<1%)
peers3 commits (<1%)
trand3 commits (<1%)
scripts3 commits (<1%)
tnet3 commits (<1%)
trace2 commits (<1%)
tos2 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2024 2023 2022 2021 2020 2019 2018 2017 2016 2015
ROOT
3
16
33
27
63
42
31
136
769
901
thrift
3
22
2
4
7
26
58
242
hyperbahn
2
8
4
4
41
80
peers
1
4
tnet
1
2
testutils
9
12
14
13
220
110
crossdock
2
26
internal
2
2
relay
2
3
4
5
5
6
39
raw
2
16
19
benchmark
1
7
1
2
117
trand
3
typed
4
1
2
16
trace
2
stats
1
11
pprof
7
2
tos
4
json
16
36
http
4
6
scripts
1
2


Dependencies between components in same commits (past 180 days)
The number on the lines shows the number of shared commits.
See detailed temporal dependencies report...

No temporal dependencies found.



2024-04-03 14:33