apache / nifi-minifi-cpp
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
patch
feature
properties
cfg
lua
in
ll
gitattributes
plist
yy
clang-format
proto
gitmodules
clang-tidy
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.

main100519 LOC (55%) 1,227 files
test65383 LOC (36%) 590 files
generated0 LOC (0%) 0 files
build and deployment2043 LOC (1%) 22 files
other12865 LOC (7%) 153 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
in
yy
ll
proto
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1227 files match defined criteria (100,519 LOC, 100.0% vs. main code):
    • 426 *.cpp files (53,267 LOC)
    • 664 *.h files (39,078 LOC)
    • 94 *.cmake files (5,729 LOC)
    • 28 *.py files (1,655 LOC)
    • 3 *.in files (441 LOC)
    • 1 *.yy files (188 LOC)
    • 1 *.ll files (89 LOC)
    • 1 *.proto files (42 LOC)
    • 3 *.xml files (19 LOC)
    • 5 *.cfg files (9 LOC)
    • 1 *.dockerignore files (2 LOC)
  • " *.cpp" is biggest, containing 52.99% of LOC.
  • " *.dockerignore" is smallest, containing 0% of LOC.


*.cpp53267 LOC (52%) 426 files
*.h39078 LOC (38%) 664 files
*.cmake5729 LOC (5%) 94 files
*.py1655 LOC (1%) 28 files
*.in441 LOC (<1%) 3 files
*.yy188 LOC (<1%) 1 file
*.ll89 LOC (<1%) 1 file
*.proto42 LOC (<1%) 1 file
*.xml19 LOC (<1%) 3 files
*.cfg9 LOC (<1%) 5 files
*.dockerignore2 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
feature
lua
cfg
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*[.]feature".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[-]test[-].*".
  • 590 files match defined criteria (65,383 LOC, 65.0% vs. main code):
    • 291 *.cpp files (49,724 LOC)
    • 188 *.py files (6,596 LOC)
    • 54 *.h files (5,039 LOC)
    • 33 *.feature files (3,414 LOC)
    • 9 *.xml files (246 LOC)
    • 4 *.java files (160 LOC)
    • 3 *.sh files (72 LOC)
    • 1 *.bat files (64 LOC)
    • 1 *.yaml files (36 LOC)
    • 4 *.lua files (29 LOC)
    • 2 *.cfg files (3 LOC)
  • " *.cpp" is biggest, containing 76.05% of LOC.
  • " *.cfg" is smallest, containing 0% of LOC.


*.cpp49724 LOC (76%) 291 files
*.py6596 LOC (10%) 188 files
*.h5039 LOC (7%) 54 files
*.feature3414 LOC (5%) 33 files
*.xml246 LOC (<1%) 9 files
*.java160 LOC (<1%) 4 files
*.sh72 LOC (<1%) 3 files
*.bat64 LOC (<1%) 1 file
*.yaml36 LOC (<1%) 1 file
*.lua29 LOC (<1%) 4 files
*.cfg3 LOC (<1%) 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 ".*[.]sh".
    • files with paths like ".*[.]bat".
    • 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 ".*/pom[.]xml".
  • 22 files match defined criteria (2,043 LOC, 2.0% vs. main code):
    • 19 *.sh files (1,804 LOC)
    • 3 *.bat files (239 LOC)
  • " *.sh" is biggest, containing 88.3% of LOC.
  • " *.bat" is smallest, containing 11.7% of LOC.


*.sh1804 LOC (88%) 19 files
*.bat239 LOC (11%) 3 files
Other Code
txt
properties
lua
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*[.]md".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/[.]dockerignore".
  • 153 files match defined criteria (12,865 LOC, 12.8% vs. main code):
    • 20 *.md files (4,438 LOC)
    • 88 *.txt files (3,887 LOC)
    • 28 *.json files (3,607 LOC)
    • 12 *.properties files (717 LOC)
    • 1 *.xml files (155 LOC)
    • 2 *.lua files (32 LOC)
    • 2 *.py files (29 LOC)
  • " *.md" is biggest, containing 34.5% of LOC.
  • " *.py" is smallest, containing 0.23% of LOC.


*.md4438 LOC (34%) 20 files
*.txt3887 LOC (30%) 88 files
*.json3607 LOC (28%) 28 files
*.properties717 LOC (5%) 12 files
*.xml155 LOC (1%) 1 file
*.lua32 LOC (<1%) 2 files
*.py29 LOC (<1%) 2 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 16:00