apache / metron
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
txt
cfg
spec
gitattributes
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.

main126298 LOC (50%) 1,521 files
test70990 LOC (28%) 587 files
generated5582 LOC (2%) 10 files
build and deployment14128 LOC (5%) 153 files
other33331 LOC (13%) 255 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
spec
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1521 files match defined criteria (126,298 LOC, 100.0% vs. main code):
    • 887 *.java files (66,776 LOC)
    • 146 *.html files (28,495 LOC)
    • 261 *.ts files (9,975 LOC)
    • 52 *.xml files (5,700 LOC)
    • 66 *.scss files (5,346 LOC)
    • 54 *.py files (5,033 LOC)
    • 20 *.js files (2,072 LOC)
    • 5 *.yaml files (795 LOC)
    • 5 *.c files (785 LOC)
    • 1 *.spec files (698 LOC)
    • 7 *.css files (304 LOC)
    • 5 *.h files (148 LOC)
    • 8 *.cfg files (122 LOC)
    • 2 *.scala files (25 LOC)
    • 2 *.sql files (24 LOC)
  • " *.java" is biggest, containing 52.87% of LOC.
  • " *.sql" is smallest, containing 0.02% of LOC.


*.java66776 LOC (52%) 887 files
*.html28495 LOC (22%) 146 files
*.ts9975 LOC (7%) 261 files
*.xml5700 LOC (4%) 52 files
*.scss5346 LOC (4%) 66 files
*.py5033 LOC (3%) 54 files
*.js2072 LOC (1%) 20 files
*.yaml795 LOC (<1%) 5 files
*.c785 LOC (<1%) 5 files
*.spec698 LOC (<1%) 1 file
*.css304 LOC (<1%) 7 files
*.h148 LOC (<1%) 5 files
*.cfg122 LOC (<1%) 8 files
*.scala25 LOC (<1%) 2 files
*.sql24 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 ".*[-]test[-].*".
    • files with paths like ".*/protractor[.]conf[.]js".
    • files with paths like ".*/karma[.]conf[.]js".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*[.]spec[.]js".
  • 587 files match defined criteria (70,990 LOC, 56.2% vs. main code):
    • 442 *.java files (55,592 LOC)
    • 122 *.ts files (13,633 LOC)
    • 11 *.xml files (1,006 LOC)
    • 7 *.js files (462 LOC)
    • 2 *.html files (265 LOC)
    • 3 *.sh files (32 LOC)
  • " *.java" is biggest, containing 78.31% of LOC.
  • " *.sh" is smallest, containing 0.05% of LOC.


*.java55592 LOC (78%) 442 files
*.ts13633 LOC (19%) 122 files
*.xml1006 LOC (1%) 11 files
*.js462 LOC (<1%) 7 files
*.html265 LOC (<1%) 2 files
*.sh32 LOC (<1%) 3 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/generated/.*".
  • 10 files match defined criteria (5,582 LOC, 4.4% vs. main code):
    • 8 *.java files (5,211 LOC)
    • 2 *.g4 files (371 LOC)
  • " *.java" is biggest, containing 93.35% of LOC.
  • " *.g4" is smallest, containing 6.65% of LOC.


*.java5211 LOC (93%) 8 files
*.g4371 LOC (6%) 2 files
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 ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/assembly[.]xml".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*/package[.]json".
  • 153 files match defined criteria (14,128 LOC, 11.2% vs. main code):
    • 91 *.xml files (13,001 LOC)
    • 62 *.sh files (1,127 LOC)
  • " *.xml" is biggest, containing 92.02% of LOC.
  • " *.sh" is smallest, containing 7.98% of LOC.


*.xml13001 LOC (92%) 91 files
*.sh1127 LOC (7%) 62 files
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 ".*/checkstyle[.]xml".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]svg".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
  • 255 files match defined criteria (33,331 LOC, 26.4% vs. main code):
    • 106 *.md files (17,439 LOC)
    • 101 *.json files (14,282 LOC)
    • 27 *.properties files (745 LOC)
    • 19 *.txt files (564 LOC)
    • 1 *.xml files (215 LOC)
    • 1 *.svg files (86 LOC)
  • " *.md" is biggest, containing 52.32% of LOC.
  • " *.svg" is smallest, containing 0.26% of LOC.


*.md17439 LOC (52%) 106 files
*.json14282 LOC (42%) 101 files
*.properties745 LOC (2%) 27 files
*.txt564 LOC (1%) 19 files
*.xml215 LOC (<1%) 1 file
*.svg86 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:57