gitlab-org / Gitaly
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 10 components.
  • 939 files, 137,532 LOC (73.1% vs. main code).
  • "internal" is biggest, containing 61.08% of LOC.
  • "middleware" is smallest, containing 0.03% of LOC.


internal84004 LOC (44%) 791 files
proto49055 LOC (26%) 81 files
tools1842 LOC (<1%) 31 files
cmd1529 LOC (<1%) 18 files
_support624 LOC (<1%) 7 files
client195 LOC (<1%) 6 files
auth127 LOC (<1%) 2 files
streamio55 LOC (<1%) 1 file
ROOT53 LOC (<1%) 1 file
middleware48 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.
internal8401 commits (39%)
proto1016 commits (4%)
cmd990 commits (4%)
client128 commits (<1%)
tools124 commits (<1%)
auth47 commits (<1%)
_support32 commits (<1%)
ROOT31 commits (<1%)
streamio21 commits (<1%)
middleware3 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
internal
926
4275
6619
4683
5483
2780
419
128
110
proto
289
962
1353
1085
523
363
202
tools
40
38
74
65
cmd
13
32
189
191
277
347
153
30
80
6
ROOT
11
11
9
_support
4
2
15
10
7
3
client
4
2
60
19
28
29
28
24
16
auth
2
3
2
2
7
22
6
8
2
middleware
3
streamio
4
7
2
2
6


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 internal internal internal--internal 258 proto proto internal--proto 35 proto--proto 60 cmd cmd proto--cmd 3 tools tools tools--internal 9 tools--tools 6 cmd--internal 9 cmd--tools 4 cmd--cmd 4 client client cmd--client 3 client--internal 6 client--proto 1 client--tools 2 middleware middleware middleware--internal 3 _support _support _support--_support 2


2025-05-16 13:46