GoogleCloudPlatform / k8s-config-connector
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
proto
mod
patch
mk
hcl
pb
io
gitattributes
pub
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.

main581689 LOC (24%) 3,082 files
test132885 LOC (5%) 788 files
generated1429040 LOC (59%) 4,348 files
build and deployment2027 LOC (<1%) 68 files
other240179 LOC (10%) 3,462 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
io
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 3082 files match defined criteria (581,689 LOC, 100.0% vs. main code):
    • 1,291 *.yaml files (353,767 LOC)
    • 1,781 *.go files (227,223 LOC)
    • 8 *.py files (613 LOC)
    • 1 *.proto files (65 LOC)
    • 1 *.io files (21 LOC)
  • " *.yaml" is biggest, containing 60.82% of LOC.
  • " *.io" is smallest, containing 0% of LOC.


*.yaml353767 LOC (60%) 1,291 files
*.go227223 LOC (39%) 1,781 files
*.py613 LOC (<1%) 8 files
*.proto65 LOC (<1%) 1 file
*.io21 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
proto
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
  • 788 files match defined criteria (132,885 LOC, 22.8% vs. main code):
    • 708 *.go files (123,668 LOC)
    • 66 *.yaml files (5,287 LOC)
    • 2 *.proto files (3,526 LOC)
    • 11 *.sh files (361 LOC)
    • 1 *.py files (43 LOC)
  • " *.go" is biggest, containing 93.06% of LOC.
  • " *.py" is smallest, containing 0.03% of LOC.


*.go123668 LOC (93%) 708 files
*.yaml5287 LOC (3%) 66 files
*.proto3526 LOC (2%) 2 files
*.sh361 LOC (<1%) 11 files
*.py43 LOC (<1%) 1 file
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/.*".
    • files with paths like ".*[.]generated[.][a-zA-Z]+".
    • files with paths like ".*_generated[.][a-z]+".
  • 4348 files match defined criteria (1,429,040 LOC, 245.7% vs. main code):
    • 3,145 *.go files (1,222,618 LOC)
    • 215 *.md files (155,830 LOC)
    • 879 *.tf files (41,867 LOC)
    • 107 *.yaml files (8,692 LOC)
    • 2 *.html files (33 LOC)
  • " *.go" is biggest, containing 85.56% of LOC.
  • " *.html" is smallest, containing 0% of LOC.


*.go1222618 LOC (85%) 3,145 files
*.md155830 LOC (10%) 215 files
*.tf41867 LOC (2%) 879 files
*.yaml8692 LOC (<1%) 107 files
*.html33 LOC (<1%) 2 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
mk
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*/[.]gitattributes".
    • files with paths like ".*[.]mk".
  • 68 files match defined criteria (2,027 LOC, 0.3% vs. main code):
    • 66 *.sh files (1,938 LOC)
    • 2 *.mk files (89 LOC)
  • " *.sh" is biggest, containing 95.61% of LOC.
  • " *.mk" is smallest, containing 4.39% of LOC.


*.sh1938 LOC (95%) 66 files
*.mk89 LOC (4%) 2 files
Other Code
mod
txt
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]json".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]pb".
    • files with paths like ".*[.]markdown".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/[.]dockerignore".
  • 3462 files match defined criteria (240,179 LOC, 41.3% vs. main code):
    • 288 *.md files (159,254 LOC)
    • 879 *.tf files (41,867 LOC)
    • 2,248 *.yaml files (34,055 LOC)
    • 4 *.go files (1,673 LOC)
    • 3 *.json files (1,655 LOC)
    • 11 *.mod files (895 LOC)
    • 19 *.txt files (528 LOC)
    • 6 *.patch files (154 LOC)
    • 4 *.sh files (98 LOC)
  • " *.md" is biggest, containing 66.31% of LOC.
  • " *.sh" is smallest, containing 0.04% of LOC.


*.md159254 LOC (66%) 288 files
*.tf41867 LOC (17%) 879 files
*.yaml34055 LOC (14%) 2,248 files
*.go1673 LOC (<1%) 4 files
*.json1655 LOC (<1%) 3 files
*.mod895 LOC (<1%) 11 files
*.txt528 LOC (<1%) 19 files
*.patch154 LOC (<1%) 6 files
*.sh98 LOC (<1%) 4 files
Analyzers
Info about analyzers used for source code examinations.


2025-05-04 14:49