apache / incubator-seata
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
proto
lua
properties
txt
editorconfig
babelrc
eslintignore
x
cmd
gitattributes
tpl
prettierignore
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main113934 LOC (58%) 1,727 files
test57743 LOC (29%) 823 files
generated1240 LOC (<1%) 1 file
build and deployment7243 LOC (3%) 110 files
other13472 LOC (6%) 125 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
lua
tpl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1727 files match defined criteria (113,934 LOC, 100.0% vs. main code):
    • 1,506 *.java files (99,974 LOC)
    • 67 *.js files (3,542 LOC)
    • 2 *.g4 files (3,368 LOC)
    • 13 *.tsx files (1,802 LOC)
    • 46 *.proto files (1,594 LOC)
    • 22 *.sql files (977 LOC)
    • 27 *.ts files (768 LOC)
    • 14 *.xml files (755 LOC)
    • 9 *.lua files (337 LOC)
    • 2 *.css files (238 LOC)
    • 5 *.yaml files (150 LOC)
    • 7 *.scss files (145 LOC)
    • 2 *.py files (125 LOC)
    • 1 *.tpl files (66 LOC)
    • 2 *.kt files (49 LOC)
    • 2 *.html files (44 LOC)
  • " *.java" is biggest, containing 87.75% of LOC.
  • " *.html" is smallest, containing 0.04% of LOC.


*.java99974 LOC (87%) 1,506 files
*.js3542 LOC (3%) 67 files
*.g43368 LOC (2%) 2 files
*.tsx1802 LOC (1%) 13 files
*.proto1594 LOC (1%) 46 files
*.sql977 LOC (<1%) 22 files
*.ts768 LOC (<1%) 27 files
*.xml755 LOC (<1%) 14 files
*.lua337 LOC (<1%) 9 files
*.css238 LOC (<1%) 2 files
*.yaml150 LOC (<1%) 5 files
*.scss145 LOC (<1%) 7 files
*.py125 LOC (<1%) 2 files
*.tpl66 LOC (<1%) 1 file
*.kt49 LOC (<1%) 2 files
*.html44 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
lua
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[.]spec[.]js".
    • files with paths like ".*/test[.].*".
  • 823 files match defined criteria (57,743 LOC, 50.7% vs. main code):
    • 781 *.java files (55,345 LOC)
    • 1 *.js files (668 LOC)
    • 12 *.xml files (606 LOC)
    • 12 *.sql files (570 LOC)
    • 9 *.lua files (327 LOC)
    • 1 *.kt files (94 LOC)
    • 3 *.proto files (86 LOC)
    • 1 *.bat files (22 LOC)
    • 1 *.yaml files (16 LOC)
    • 2 *.sh files (9 LOC)
  • " *.java" is biggest, containing 95.85% of LOC.
  • " *.sh" is smallest, containing 0.02% of LOC.


*.java55345 LOC (95%) 781 files
*.js668 LOC (1%) 1 file
*.xml606 LOC (1%) 12 files
*.sql570 LOC (<1%) 12 files
*.lua327 LOC (<1%) 9 files
*.kt94 LOC (<1%) 1 file
*.proto86 LOC (<1%) 3 files
*.bat22 LOC (<1%) 1 file
*.yaml16 LOC (<1%) 1 file
*.sh9 LOC (<1%) 2 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "//[ ]*Generated by .*".
  • 1 file matches defined criteria (1,240 LOC, 1.1% vs. main code). All matches are in *.java files.


*.java1240 LOC (100%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
    • files with paths like ".*/docker[-]compose[.]yaml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/[.]gitattributes".
  • 110 files match defined criteria (7,243 LOC, 6.4% vs. main code):
    • 92 *.xml files (6,192 LOC)
    • 13 *.sh files (847 LOC)
    • 4 *.js files (194 LOC)
    • 1 *.yaml files (10 LOC)
  • " *.xml" is biggest, containing 85.49% of LOC.
  • " *.yaml" is smallest, containing 0.14% of LOC.


*.xml6192 LOC (85%) 92 files
*.sh847 LOC (11%) 13 files
*.js194 LOC (2%) 4 files
*.yaml10 LOC (<1%) 1 file
Other Code
properties
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*/[.]eslintignore".
  • 125 files match defined criteria (13,472 LOC, 11.8% vs. main code):
    • 48 *.md files (6,679 LOC)
    • 58 *.json files (6,086 LOC)
    • 11 *.properties files (431 LOC)
    • 8 *.txt files (276 LOC)
  • " *.md" is biggest, containing 49.58% of LOC.
  • " *.txt" is smallest, containing 2.05% of LOC.


*.md6679 LOC (49%) 48 files
*.json6086 LOC (45%) 58 files
*.properties431 LOC (3%) 11 files
*.txt276 LOC (2%) 8 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 19:47