microsoft / PowerShell-DSC-for-Linux
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 738 files with 232,654 lines of code.
    • 60 very long files (109,286 lines of code)
    • 71 long files (48,367 lines of code)
    • 143 medium size files (41,413 lines of codeclsfd_ftr_w_mp_ins)
    • 142 small files (20,992 lines of code)
    • 322 very small files (12,596 lines of code)
46% | 20% | 17% | 9% | 5%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
c84% | 5% | 2% | 5% | 1%
py17% | 21% | 37% | 17% | 6%
h7% | 61% | 12% | 8% | 10%
xml87% | 0% | 12% | 0% | 0%
cs100% | 0% | 0% | 0% | 0%
cpp13% | 6% | 78% | 0% | <1%
y100% | 0% | 0% | 0% | 0%
rb14% | 9% | 38% | 16% | 21%
inc0% | 80% | 0% | 0% | 19%
hpp0% | 60% | 28% | 0% | 10%
in0% | 0% | 85% | 14% | 0%
ps10% | 0% | 83% | 0% | 16%
cmake0% | 0% | 0% | 100% | 0%
psd10% | 0% | 0% | 0% | 100%
reg0% | 0% | 0% | 0% | 100%
asc0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Providers43% | 22% | 19% | 9% | 5%
LCM57% | 17% | 12% | 7% | 5%
ext0% | 31% | 45% | 13% | 8%
Longest Files (Top 50)
File# lines# units
LocalConfigManagerHelper.c
in LCM/dsc/engine/ConfigurationManager
5493 119
schema.c
in LCM/dsc/engine/ConfigurationManager
5231 2
types.c
in LCM/codec/mof/parser
4237 62
omi_schema.c
in LCM/dsc/engine/ConfigurationManager
4208 2
WebPullClient.c
in LCM/dsc/engine/ca/CAInfrastructure
2439 39
schema.c
in Providers/nxFirewall
2220 2
CAEngine.c
in LCM/dsc/engine/ca/CAInfrastructure
2208 36
mofy.tab.c
in LCM/codec/mof/parser
2193 2
schema.c
in Providers/nxFileInventory
2131 2
schema.c
in Providers/nxFile
2036 2
oms_audits.xml
in Providers/Modules/Plugins/SecurityBaseline/plugin
2019 -
schema.c
in Providers/nxPackage
2009 2
schema.c
in Providers/nxUser
1875 2
schema.c
in Providers/nxService
1849 2
parson.c
in LCM/json_parson
1842 77
schema.c
in Providers/nxIPAddress
1826 2
schema.c
in Providers/nxMySqlGrant
1791 2
LocalConfigurationManager.c
in LCM/dsc/engine/ConfigurationManager
1785 27
EngineHelper.c
in LCM/dsc/engine/EngineHelper
1778 56
schema.c
in Providers/nxGroup
1773 2
schema.c
in Providers/nxArchive
1736 2
schema.c
in Providers/nxOMSGenerateInventoryMof
1708 2
schema.c
in Providers/nxMySqlUser
1706 2
schema.c
in Providers/nxScript
1690 2
schema.c
in Providers/nxAvailableUpdates
1681 2
schema.c
in Providers/nxDNSServerAddress
1677 2
schema.c
in Providers/nxEnvironment
1670 2
schema.c
in Providers/nxSshAuthorizedKeys
1670 2
schema.c
in Providers/nxMySqlDatabase
1669 2
schema.c
in Providers/nxOMSPerfCounter
1652 2
schema.c
in Providers/nxOMSKeyMgmt
1651 2
schema.c
in Providers/nxComputer
1634 2
schema.c
in Providers/nxOMSSudoCustomLog
1632 2
schema.c
in Providers/nxOMSSyslog
1632 2
schema.c
in Providers/nxFileLine
1615 2
schema.c
in Providers/nxOMSPlugin
1576 2
schema.c
in Providers/nxLog
1550 2
schema.c
in Providers/nxOMSCustomLog
1540 2
schema.c
in Providers/nxOMSAgentNPMConfig
1533 2
ModuleHandler.c
in LCM/dsc/engine/ModuleLoader/ModuleLibrary
1494 29
ModuleValidator.c
in LCM/dsc/engine/ModuleLoader/ModuleLibrary
1463 32
protocol.py
in Providers/Scripts
1454 114
schema.c
in Providers/nxOMSAuditdPlugin
1449 2
nxService.py
in Providers/Scripts/3.x/Scripts
1416 59
PsPluginManager.cs
in LCM/dsc/engine/ca/psinfrastructure
1414 35
nxService.py
in Providers/Scripts/2.6x-2.7x/Scripts
1413 59
schema.c
in Providers/nxOMSContainers
1413 2
schema.c
in Providers/nxOMSWLI
1413 2
nxService.py
in Providers/Scripts/2.4x-2.5x/Scripts
1400 59
PythonProvider.cpp
in Providers
1387 3
Files With Most Units (Top 50)
File# lines# units
MSFT_DSCLocalConfigManager.h
in LCM/dsc/common/inc
1215 131
1233 131
LocalConfigManagerHelper.c
in LCM/dsc/engine/ConfigurationManager
5493 119
protocol.py
in Providers/Scripts
1454 114
MSFT_nxFileInventoryResource.h
in Providers/nxFileInventory
987 102
MSFT_nxPackageResource.h
in Providers/nxPackage
1002 102
MSFT_nxFirewallResource.h
in Providers/nxFirewall
943 93
MSFT_nxUserResource.h
in Providers/nxUser
912 92
MSFT_nxFileResource.h
in Providers/nxFile
860 87
MSFT_nxGroupResource.h
in Providers/nxGroup
876 85
MSFT_nxServiceResource.h
in Providers/nxService
837 84
MSFT_DSCWebPullClient.h
in LCM/dsc/common/inc
806 79
MSFT_nxAvailableUpdatesResource.h
in Providers/nxAvailableUpdates
792 79
MSFT_nxNopResource.h
in Providers/nxNop
787 78
MSFT_DSCMetaConfiguration.h
in LCM/dsc/common/inc
821 77
parson.c
in LCM/json_parson
1842 77
MSFT_nxOMSGenerateInventoryMofResource.h
in Providers/nxOMSGenerateInventoryMof
742 73
MSFT_nxIPAddressResource.h
in Providers/nxIPAddress
710 71
tracer.py
in Providers/nxOMSAutomationWorker/automationworker/3.x/worker
428 70
tracer.py
in Providers/nxOMSAutomationWorker/automationworker/worker
428 70
MSFT_nxScriptResource.h
in Providers/nxScript
695 69
MSFT_nxMySqlGrantResource.h
in Providers/nxMySqlGrant
665 66
MSFT_nxOMSAgentNPMConfigResource.h
in Providers/nxOMSAgentNPMConfig
665 66
MSFT_nxArchiveResource.h
in Providers/nxArchive
650 65
MSFT_nxOMSSudoCustomLogResource.h
in Providers/nxOMSSudoCustomLog
659 65
MSFT_nxComputerResource.h
in Providers/nxComputer
635 63
MSFT_nxMySqlUserResource.h
in Providers/nxMySqlUser
635 63
MSFT_nxSshAuthorizedKeysResource.h
in Providers/nxSshAuthorizedKeys
635 63
types.c
in LCM/codec/mof/parser
4237 62
MSFT_nxEnvironmentResource.h
in Providers/nxEnvironment
620 62
MSFT_nxOMSPerfCounterResource.h
in Providers/nxOMSPerfCounter
629 62
MSFT_nxDNSServerAddressResource.h
in Providers/nxDNSServerAddress
613 60
MSFT_nxFileLineResource.h
in Providers/nxFileLine
605 60
MSFT_nxMySqlDatabaseResource.h
in Providers/nxMySqlDatabase
605 60
MSFT_nxOMSKeyMgmtResource.h
in Providers/nxOMSKeyMgmt
605 60
MSFT_nxOMSPluginResource.h
in Providers/nxOMSPlugin
614 60
nxService.py
in Providers/Scripts/2.4x-2.5x/Scripts
1400 59
nxService.py
in Providers/Scripts/2.6x-2.7x/Scripts
1413 59
nxService.py
in Providers/Scripts/3.x/Scripts
1416 59
MSFT_nxOMSCustomLogResource.h
in Providers/nxOMSCustomLog
599 59
OMI_DebugError.h
in LCM/omiutils
591 57
MSFT_nxOMSAuditdPluginResource.h
in Providers/nxOMSAuditdPlugin
575 57
MSFT_nxOMSContainersResource.h
in Providers/nxOMSContainers
575 57
MSFT_nxOMSSyslogResource.h
in Providers/nxOMSSyslog
583 57
MSFT_nxOMSWLIResource.h
in Providers/nxOMSWLI
575 57
EngineHelper.c
in LCM/dsc/engine/EngineHelper
1778 56
MSFT_nxLogResource.h
in Providers/nxLog
511 54
MSFT_nxOMSAutomationWorkerResource.h
in Providers/nxOMSAutomationWorker
545 54
OMI_Error.h
in LCM/dsc/common/inc
541 53
OMI_Error.h
in LCM/omiutils
523 51
Files With Long Lines (Top 50)

There are 261 files with lines longer than 120 characters. In total, there are 3143 long lines.

File# lines# units# long lines
oidsc.h
in LCM/dsc/engine/eventing
955 - 269
oms_audits.xml
in Providers/Modules/Plugins/SecurityBaseline/plugin
2019 - 257
strings.inc
in LCM/dsc/engine/lcm
543 - 251
LocalConfigManagerHelper.c
in LCM/dsc/engine/ConfigurationManager
5493 119 247
PsPluginManager.cs
in LCM/dsc/engine/ca/psinfrastructure
1414 35 125
nxFile.py
in Providers/Scripts/2.6x-2.7x/Scripts
1015 45 100
nxFile.py
in Providers/Scripts/3.x/Scripts
1033 45 98
WebPullClient.c
in LCM/dsc/engine/ca/CAInfrastructure
2439 39 87
EngineHelper.c
in LCM/dsc/engine/EngineHelper
1778 56 73
ModuleValidator.c
in LCM/dsc/engine/ModuleLoader/ModuleLibrary
1463 32 61
CAEngine.c
in LCM/dsc/engine/ca/CAInfrastructure
2208 36 54
NativeResourceHostMiContext.c
in LCM/dsc/engine/ca/CAInfrastructure
587 37 44
nxFile.py
in Providers/Scripts/2.4x-2.5x/Scripts
1010 46 40
schema.c
in LCM/dsc/engine/ConfigurationManager
5231 2 38
omi_schema.c
in LCM/dsc/engine/ConfigurationManager
4208 2 37
ssh_audits.xml
in Providers/Modules/Plugins/SecurityBaseline/plugin
278 - 37
EventWrapper.h
in LCM/dsc/engine/EngineHelper
387 11 36
npmd_config_lib.rb
in Providers/Modules/NPM/Plugin/plugin
1031 35 35
ModuleHandler.c
in LCM/dsc/engine/ModuleLoader/ModuleLibrary
1494 29 30
EngineHelperInternal.h
in LCM/dsc/engine/EngineHelper
666 - 29
InstallModule.py
in LCM/scripts
246 7 27
InstallModule.py
in LCM/scripts/python3
254 7 27
schema.c
in Providers/nxOMSGenerateInventoryMof
1708 2 25
mofy.tab.c
in LCM/codec/mof/parser
2193 2 24
strings.h
in LCM/codec/mof
150 - 23
CAPSProviderHandlerAdapter.cpp
in LCM/dsc/engine/ca/psinfrastructurenative
654 17 20
micodec.h
in LCM/codec/common
426 17 16
nxOMSAutomationWorker.py
in Providers/Scripts/3.x/Scripts
585 35 16
schema.c
in Providers/nxAvailableUpdates
1681 2 14
schema.c
in Providers/nxOMSAutomationWorker
1385 2 14
nxUser.py
in Providers/Scripts/3.x/Scripts
419 15 13
nxOMSGenerateInventoryMof.py
in Providers/Scripts/2.4x-2.5x/Scripts
175 13 12
nxUser.py
in Providers/Scripts/2.4x-2.5x/Scripts
426 15 12
nxOMSGenerateInventoryMof.py
in Providers/Scripts/2.6x-2.7x/Scripts
170 13 12
nxUser.py
in Providers/Scripts/2.6x-2.7x/Scripts
434 15 12
nxOMSGenerateInventoryMof.py
in Providers/Scripts/3.x/Scripts
170 13 12
schema.c
in Providers/nxFileInventory
2131 2 12
schema.c
in Providers/nxOMSAgentNPMConfig
1533 2 12
schema.c
in Providers/nxSshAuthorizedKeys
1670 2 12
LocalConfigurationManager.c
in LCM/dsc/engine/ConfigurationManager
1785 27 11
dsc_library.c
in LCM/dsc/engine/dsc_library
607 13 11
RemoveModule.py
in LCM/scripts
136 6 11
RemoveModule.py
in LCM/scripts/python3
143 6 11
nxOMSAuditdPlugin.py
in Providers/Scripts/2.4x-2.5x/Scripts
742 44 11
nxOMSAuditdPlugin.py
in Providers/Scripts/2.6x-2.7x/Scripts
742 44 11
nxOMSAuditdPlugin.py
in Providers/Scripts/3.x/Scripts
742 44 11
nxOMSWLI.py
in Providers/Scripts/3.x/Scripts
263 20 11
schema.c
in Providers/nxDNSServerAddress
1677 2 11
schema.c
in Providers/nxOMSPerfCounter
1652 2 11
schema.c
in Providers/nxOMSSudoCustomLog
1632 2 11