gitlab-org / GitLab_FOSS
Components

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.

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 23 components.
  • 40,533 files, 2,830,701 LOC (100.0% vs. main code).
  • "spec" is biggest, containing 59.24% of LOC.
  • "locale" is smallest, containing 0% of LOC.


spec1676931 LOC (59%) 16,144 files
app752367 LOC (26%) 13,626 files
lib214819 LOC (7%) 4,507 files
db73050 LOC (2%) 4,192 files
qa36518 LOC (1%) 658 files
gems28336 LOC (1%) 494 files
workhorse11414 LOC (<1%) 130 files
scripts9470 LOC (<1%) 106 files
config8491 LOC (<1%) 271 files
rubocop7735 LOC (<1%) 216 files
doc3761 LOC (<1%) 1 file
tooling3595 LOC (<1%) 73 files
keeps1731 LOC (<1%) 17 files
ROOT894 LOC (<1%) 6 files
public333 LOC (<1%) 7 files
storybook317 LOC (<1%) 13 files
sidekiq_cluster225 LOC (<1%) 2 files
fixtures194 LOC (<1%) 31 files
danger192 LOC (<1%) 30 files
metrics_server146 LOC (<1%) 5 files
data83 LOC (<1%) 1 file
haml_lint81 LOC (<1%) 2 files
locale18 LOC (<1%) 1 file
Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
app49022 commits (42%)
spec35005 commits (30%)
lib20938 commits (18%)
config7121 commits (6%)
qa3148 commits (2%)
db2095 commits (1%)
rubocop835 commits (<1%)
scripts413 commits (<1%)
tooling277 commits (<1%)
workhorse267 commits (<1%)
gems217 commits (<1%)
ROOT199 commits (<1%)
public132 commits (<1%)
keeps64 commits (<1%)
data47 commits (<1%)
danger37 commits (<1%)
sidekiq_cluster31 commits (<1%)
metrics_server27 commits (<1%)
storybook23 commits (<1%)
doc16 commits (<1%)
locale13 commits (<1%)
haml_lint8 commits (<1%)
fixtures2 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011
app
10107
26802
22924
19150
19955
18089
27623
78153
72084
57917
20984
6555
4183
2762
1012
spec
9029
22309
25621
21216
16938
20472
27661
50819
67050
28680
5965
1364
819
613
101
lib
1712
4980
4790
5043
5112
4687
8369
23227
19302
12081
2122
988
640
360
8
db
1535
3114
88
44
18
31
120
185
384
182
67
88
57
3
qa
282
665
1072
895
794
834
2125
3255
532
gems
462
431
409
config
186
504
512
443
566
603
1036
2252
2555
2463
975
322
291
263
103
scripts
77
262
80
55
39
19
21
28
workhorse
53
217
77
284
174
102
rubocop
90
99
123
242
121
96
153
474
451
27
tooling
43
78
142
41
55
7
keeps
27
60
3
ROOT
10
39
15
4
10
6
35
42
14
11
2
8
7
2
3
storybook
7
9
16
3
7
sidekiq_cluster
14
6
16
7
danger
1
11
16
3
6
1
data
5
6
12
14
10
public
11
8
6
2
5
25
130
235
12
16
22
9
doc
1
5
2
3
3
2
locale
2
3
2
3
3
fixtures
3
28
haml_lint
1
1
6
metrics_server
7
19
13


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 spec spec spec--spec 889 app app spec--app 936 lib lib spec--lib 678 db db spec--db 574 scripts scripts spec--scripts 84 rubocop rubocop spec--rubocop 42 keeps keeps spec--keeps 26 app--app 894 workhorse workhorse app--workhorse 24 lib--app 658 lib--lib 453 lib--db 458 qa qa lib--qa 93 gems gems lib--gems 50 lib--rubocop 31 db--app 566 db--db 384 config config db--config 147 db--scripts 57 db--gems 43 db--rubocop 30 db--keeps 20 config--spec 184 config--app 184 config--lib 151 config--config 38 qa--spec 126 qa--app 124 qa--db 94 qa--config 31 qa--qa 77 scripts--app 84 scripts--lib 68 scripts--config 25 scripts--scripts 13 gems--spec 64 gems--app 63 gems--config 19 gems--gems 57 rubocop--app 36 tooling tooling tooling--spec 28 tooling--app 27 tooling--lib 23 tooling--db 22 keeps--app 25 keeps--lib 16 workhorse--spec 25 workhorse--lib 18 workhorse--db 16 ROOT ROOT ROOT--spec 14


2025-05-16 14:11