apache / gobblin
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
properties
ddl
txt
proto
xsl
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.

main192809 LOC (61%) 2,680 files
test97384 LOC (31%) 1,045 files
generated0 LOC (0%) 0 files
build and deployment5305 LOC (1%) 124 files
other16155 LOC (5%) 280 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 2680 files match defined criteria (192,809 LOC, 100.0% vs. main code):
    • 2,626 *.java files (188,678 LOC)
    • 12 *.avsc files (1,014 LOC)
    • 6 *.xml files (939 LOC)
    • 11 *.js files (927 LOC)
    • 11 *.yaml files (339 LOC)
    • 3 *.css files (282 LOC)
    • 1 *.html files (234 LOC)
    • 1 *.xsl files (153 LOC)
    • 5 *.sql files (137 LOC)
    • 2 *.py files (55 LOC)
    • 2 *.groovy files (51 LOC)
  • " *.java" is biggest, containing 97.86% of LOC.
  • " *.groovy" is smallest, containing 0.03% of LOC.


*.java188678 LOC (97%) 2,626 files
*.avsc1014 LOC (<1%) 12 files
*.xml939 LOC (<1%) 6 files
*.js927 LOC (<1%) 11 files
*.yaml339 LOC (<1%) 11 files
*.css282 LOC (<1%) 3 files
*.html234 LOC (<1%) 1 file
*.xsl153 LOC (<1%) 1 file
*.sql137 LOC (<1%) 5 files
*.py55 LOC (<1%) 2 files
*.groovy51 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
ddl
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
  • 1045 files match defined criteria (97,384 LOC, 50.5% vs. main code):
    • 963 *.java files (94,329 LOC)
    • 52 *.avsc files (2,354 LOC)
    • 11 *.xml files (321 LOC)
    • 12 *.ddl files (203 LOC)
    • 2 *.gradle files (83 LOC)
    • 1 *.html files (47 LOC)
    • 3 *.sh files (39 LOC)
    • 1 *.proto files (8 LOC)
  • " *.java" is biggest, containing 96.86% of LOC.
  • " *.proto" is smallest, containing 0.01% of LOC.


*.java94329 LOC (96%) 963 files
*.avsc2354 LOC (2%) 52 files
*.xml321 LOC (<1%) 11 files
*.ddl203 LOC (<1%) 12 files
*.gradle83 LOC (<1%) 2 files
*.html47 LOC (<1%) 1 file
*.sh39 LOC (<1%) 3 files
*.proto8 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 ".*[.]gradle".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
  • 124 files match defined criteria (5,305 LOC, 2.8% vs. main code):
    • 110 *.gradle files (4,824 LOC)
    • 13 *.sh files (401 LOC)
    • 1 *.bat files (80 LOC)
  • " *.gradle" is biggest, containing 90.93% of LOC.
  • " *.bat" is smallest, containing 1.51% of LOC.


*.gradle4824 LOC (90%) 110 files
*.sh401 LOC (7%) 13 files
*.bat80 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 ".*[.]properties".
    • files with paths like ".*/config/checkstyle/.*".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/checkstyle[.]xml".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]dockerignore".
  • 280 files match defined criteria (16,155 LOC, 8.4% vs. main code):
    • 94 *.json files (7,985 LOC)
    • 86 *.md files (6,387 LOC)
    • 86 *.properties files (1,675 LOC)
    • 8 *.xml files (74 LOC)
    • 6 *.txt files (34 LOC)
  • " *.json" is biggest, containing 49.43% of LOC.
  • " *.txt" is smallest, containing 0.21% of LOC.


*.json7985 LOC (49%) 94 files
*.md6387 LOC (39%) 86 files
*.properties1675 LOC (10%) 86 files
*.xml74 LOC (<1%) 8 files
*.txt34 LOC (<1%) 6 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:45