apache / inlong
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
txt
properties
ini
proto
cmd
mod
npmrc
clang-format
gitmodules
eslintignore
gitattributes
tpl
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.

main482413 LOC (60%) 5,140 files
test64947 LOC (8%) 875 files
generated0 LOC (0%) 0 files
build and deployment19740 LOC (2%) 183 files
other227734 LOC (28%) 1,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
tpl
cmd
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 5140 files match defined criteria (482,413 LOC, 100.0% vs. main code):
    • 4,450 *.java files (392,376 LOC)
    • 151 *.tsx files (19,530 LOC)
    • 65 *.go files (15,577 LOC)
    • 183 *.ts files (13,519 LOC)
    • 59 *.xml files (12,379 LOC)
    • 39 *.cc files (10,375 LOC)
    • 67 *.h files (4,392 LOC)
    • 16 *.js files (3,452 LOC)
    • 48 *.yaml files (3,359 LOC)
    • 7 *.css files (2,655 LOC)
    • 18 *.sql files (2,395 LOC)
    • 9 *.proto files (1,187 LOC)
    • 7 *.scala files (470 LOC)
    • 6 *.py files (199 LOC)
    • 1 *.tpl files (178 LOC)
    • 8 *.less files (172 LOC)
    • 1 *.cpp files (63 LOC)
    • 2 *.cmd files (61 LOC)
    • 1 *.rdf files (40 LOC)
    • 2 *.html files (34 LOC)
  • " *.java" is biggest, containing 81.34% of LOC.
  • " *.html" is smallest, containing 0.01% of LOC.


*.java392376 LOC (81%) 4,450 files
*.tsx19530 LOC (4%) 151 files
*.go15577 LOC (3%) 65 files
*.ts13519 LOC (2%) 183 files
*.xml12379 LOC (2%) 59 files
*.cc10375 LOC (2%) 39 files
*.h4392 LOC (<1%) 67 files
*.js3452 LOC (<1%) 16 files
*.yaml3359 LOC (<1%) 48 files
*.css2655 LOC (<1%) 7 files
*.sql2395 LOC (<1%) 18 files
*.proto1187 LOC (<1%) 9 files
*.scala470 LOC (<1%) 7 files
*.py199 LOC (<1%) 6 files
*.tpl178 LOC (<1%) 1 file
*.less172 LOC (<1%) 8 files
*.cpp63 LOC (<1%) 1 file
*.cmd61 LOC (<1%) 2 files
*.rdf40 LOC (<1%) 1 file
*.html34 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*[-]tests[-].*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
  • 875 files match defined criteria (64,947 LOC, 13.5% vs. main code):
    • 820 *.java files (61,530 LOC)
    • 13 *.xml files (983 LOC)
    • 7 *.cc files (595 LOC)
    • 10 *.go files (553 LOC)
    • 15 *.sql files (548 LOC)
    • 7 *.py files (464 LOC)
    • 2 *.yaml files (234 LOC)
    • 1 *.sh files (40 LOC)
  • " *.java" is biggest, containing 94.74% of LOC.
  • " *.sh" is smallest, containing 0.06% of LOC.


*.java61530 LOC (94%) 820 files
*.xml983 LOC (1%) 13 files
*.cc595 LOC (<1%) 7 files
*.go553 LOC (<1%) 10 files
*.sql548 LOC (<1%) 15 files
*.py464 LOC (<1%) 7 files
*.yaml234 LOC (<1%) 2 files
*.sh40 LOC (<1%) 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 ".*/assembly[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitmodules".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*/docker[-]compose[.]yaml".
  • 183 files match defined criteria (19,740 LOC, 4.1% vs. main code):
    • 162 *.xml files (18,890 LOC)
    • 21 *.sh files (850 LOC)
  • " *.xml" is biggest, containing 95.69% of LOC.
  • " *.sh" is smallest, containing 4.31% of LOC.


*.xml18890 LOC (95%) 162 files
*.sh850 LOC (4%) 21 files
Other Code
txt
properties
ini
mod
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*/[.]eslintignore".
  • 1125 files match defined criteria (227,734 LOC, 47.2% vs. main code):
    • 988 *.txt files (215,851 LOC)
    • 21 *.json files (5,971 LOC)
    • 60 *.properties files (2,334 LOC)
    • 36 *.md files (1,816 LOC)
    • 6 *.svg files (867 LOC)
    • 10 *.ini files (730 LOC)
    • 2 *.mod files (72 LOC)
    • 1 *.cc files (54 LOC)
    • 1 *.py files (39 LOC)
  • " *.txt" is biggest, containing 94.78% of LOC.
  • " *.py" is smallest, containing 0.02% of LOC.


*.txt215851 LOC (94%) 988 files
*.json5971 LOC (2%) 21 files
*.properties2334 LOC (1%) 60 files
*.md1816 LOC (<1%) 36 files
*.svg867 LOC (<1%) 6 files
*.ini730 LOC (<1%) 10 files
*.mod72 LOC (<1%) 2 files
*.cc54 LOC (<1%) 1 file
*.py39 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 20:05