gitlab-org / GitLab
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 24 components.
  • 61,664 files, 4,385,629 LOC (100.0% vs. main code).
  • "spec" is biggest, containing 38.24% of LOC.
  • "locale" is smallest, containing 0% of LOC.


spec1677043 LOC (38%) 16,145 files
ee1547037 LOC (35%) 20,951 files
app752449 LOC (17%) 13,628 files
lib214819 LOC (4%) 4,507 files
db73050 LOC (1%) 4,192 files
qa44214 LOC (1%) 835 files
gems28336 LOC (<1%) 494 files
workhorse11414 LOC (<1%) 130 files
scripts9470 LOC (<1%) 106 files
config8492 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.
app141531 commits (30%)
spec126055 commits (27%)
ee81985 commits (17%)
lib51458 commits (11%)
config13403 commits (2%)
qa8325 commits (1%)
db6391 commits (1%)
rubocop1749 commits (<1%)
scripts1000 commits (<1%)
workhorse738 commits (<1%)
tooling669 commits (<1%)
gems615 commits (<1%)
ROOT378 commits (<1%)
public184 commits (<1%)
keeps167 commits (<1%)
data116 commits (<1%)
danger81 commits (<1%)
sidekiq_cluster73 commits (<1%)
metrics_server68 commits (<1%)
storybook58 commits (<1%)
doc46 commits (<1%)
locale29 commits (<1%)
haml_lint12 commits (<1%)
fixtures6 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
ee
41777
97079
69564
48512
45981
61512
26214
18372
2528
app
22377
62619
53449
50651
51540
58494
50272
123117
111899
75754
28770
10277
5112
2762
1012
spec
19917
52544
59486
54964
43965
63702
52460
77342
106372
37903
8336
2247
1010
613
101
lib
3870
11793
11251
13385
13432
15236
14763
36767
29711
15672
2914
1514
739
360
8
db
3368
7328
212
127
45
111
320
265
527
228
96
151
73
3
qa
712
2115
3218
2620
2221
3098
4481
5612
919
gems
1016
1154
959
config
429
1190
1180
1166
1513
1843
1985
3749
4134
3328
1302
520
332
263
103
scripts
164
626
175
134
109
63
47
47
workhorse
114
501
199
773
430
289
rubocop
187
225
302
551
305
273
288
712
699
36
tooling
97
183
331
101
131
19
keeps
68
150
7
ROOT
24
92
35
11
26
17
52
65
22
17
5
12
12
2
3
storybook
14
23
35
9
20
sidekiq_cluster
35
15
36
15
danger
2
26
34
7
10
4
data
10
14
29
36
27
public
22
24
17
5
5
35
189
296
26
20
22
9
doc
3
15
5
9
8
6
locale
4
9
8
5
3
fixtures
6
62
22
haml_lint
3
2
7
metrics_server
17
43
38


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 ee ee ee--ee 8131 app app ee--app 2670 lib lib ee--lib 914 db db ee--db 639 config config ee--config 195 tooling tooling ee--tooling 15 spec spec spec--ee 2627 spec--spec 4816 spec--app 6375 spec--lib 2390 spec--db 925 gems gems spec--gems 26 scripts scripts spec--scripts 76 rubocop rubocop spec--rubocop 74 keeps keeps spec--keeps 44 app--app 5026 lib--app 1208 lib--lib 902 lib--db 452 lib--config 137 db--app 419 db--db 677 db--config 59 qa qa db--qa 21 db--rubocop 15 config--spec 308 config--app 245 config--config 60 qa--ee 125 qa--spec 115 qa--app 126 qa--lib 43 qa--config 17 qa--qa 186 gems--ee 43 gems--app 20 gems--gems 152 scripts--ee 23 scripts--app 28 scripts--config 13 rubocop--ee 20 rubocop--app 19 rubocop--lib 16 rubocop--rubocop 18 tooling--spec 45 keeps--ee 16 workhorse workhorse workhorse--spec 20 workhorse--lib 15 workhorse--workhorse 22 ROOT ROOT ROOT--app 17


2025-05-16 14:41