apache / servicecomb-service-center
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 17 components.
  • 665 files, 46,994 LOC (100.0% vs. main code).
  • "datasource" is biggest, containing 35.13% of LOC.
  • "scripts" is smallest, containing 0.01% of LOC.


datasource16510 LOC (35%) 189 files
server10510 LOC (22%) 154 files
pkg4996 LOC (10%) 85 files
ux4084 LOC (8%) 84 files
syncer3219 LOC (6%) 31 files
frontend2881 LOC (6%) 40 files
scctl1443 LOC (3%) 24 files
istio1082 LOC (2%) 11 files
eventbase763 LOC (1%) 17 files
client741 LOC (1%) 10 files
benchmark466 LOC (<1%) 9 files
etc172 LOC (<1%) 5 files
version43 LOC (<1%) 1 file
integration41 LOC (<1%) 1 file
cmd20 LOC (<1%) 2 files
api18 LOC (<1%) 1 file
scripts5 LOC (<1%) 1 file
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 20 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 20 links contain 286 dependencies.
  • There are 2 places (4 links) with cyclic dependencies (61 file dependencies).
G benchmark benchmark datasource datasource server server datasource->server 20 eventbase eventbase datasource->eventbase 1 syncer syncer datasource->syncer 14 pkg pkg datasource->pkg 69 cmd cmd scctl scctl cmd->scctl 1 frontend frontend istio istio istio->pkg 6 integration integration etc etc server->datasource 23 server->frontend 2 server->scctl 2 server->eventbase 23 server->pkg 86 ux ux scctl->datasource 5 scctl->eventbase 1 scctl->pkg 5 version version version->pkg 1 scripts scripts api api syncer->datasource 4 syncer->server 2 syncer->eventbase 2 syncer->pkg 17 client client client->pkg 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.
server405 commits (27%)
datasource215 commits (14%)
pkg170 commits (11%)
syncer85 commits (5%)
frontend80 commits (5%)
etc59 commits (3%)
scctl33 commits (2%)
version24 commits (1%)
integration20 commits (1%)
eventbase17 commits (1%)
client16 commits (1%)
cmd10 commits (<1%)
ux7 commits (<1%)
benchmark3 commits (<1%)
istio2 commits (<1%)
scripts2 commits (<1%)
api1 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2023 2022 2021 2020 2019 2018 2017
datasource
270
745
401
server
8
179
478
309
10
137
378
syncer
6
128
8
16
30
pkg
5
50
104
106
8
131
102
scctl
41
12
63
2
73
eventbase
36
56
etc
22
38
8
frontend
3
14
4
3
6
136
223
client
16
14
22
benchmark
15
istio
1
11
cmd
5
2
4
integration
1
1
3
4
11
ux
135
version
1
2
3
18
api
1
scripts
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...

G syncer syncer syncer--syncer 1 integration integration syncer--integration 1 server server syncer--server 1 pkg pkg syncer--pkg 1 server--integration 1 server--server 1 pkg--pkg 1


2023-08-10 18:21