aws / aws-logging-dotnet
Unit Size

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

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 81 units with 1,091 lines of code in units (65.3% of code).
    • 0 very long units (0 lines of code)
    • 4 long units (252 lines of code)
    • 9 medium size units (260 lines of code)
    • 20 small units (300 lines of code)
    • 48 very small units (279 lines of code)
0% | 23% | 23% | 27% | 25%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
cs0% | 23% | 23% | 27% | 25%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/AWS.Logger.AspNetCore0% | 32% | 5% | 33% | 27%
src/AWS.Logger.Core/Core0% | 13% | 40% | 21% | 24%
src/AWS.Logger.SeriLog0% | 47% | 0% | 34% | 17%
src/NLog.AWS.Logger0% | 0% | 41% | 38% | 20%
src/AWS.Logger.Log4net0% | 0% | 64% | 0% | 35%
src/AWS.Logger.Core0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public AWSLoggerConfigSection()
in src/AWS.Logger.AspNetCore/AWSLoggerConfigSection.cs
78 19 1
private async Task Monitor()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
62 21 1
public static LoggerConfiguration AWSSeriLog()
in src/AWS.Logger.SeriLog/AWSLoggerSeriLogExtension.cs
59 13 5
public void Log()
in src/AWS.Logger.AspNetCore/AWSLogger.cs
53 15 5
public void Flush()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
36 8 0
private async Task LogEventTransmissionSetup()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
35 6 1
private async Task SendMessages()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
33 5 1
public AWSLoggerCore()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
28 4 2
private void AddSingleMessage()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
28 4 1
protected override void InitializeTarget()
in src/NLog.AWS.Logger/AWSTarget.cs
26 2 0
public override void ActivateOptions()
in src/AWS.Logger.Log4net/AWSAppender.cs
25 2 0
public static IList BreakupMessage()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
25 4 1
public static bool TryGetSwitch()
in src/AWS.Logger.AspNetCore/AWSLoggerProvider.cs
24 4 3
private void GetScopeInformation()
in src/AWS.Logger.AspNetCore/AWSLogger.cs
20 5 1
public ILogger CreateLogger()
in src/AWS.Logger.AspNetCore/AWSLoggerProvider.cs
19 4 1
public void AddMessage()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
19 4 1
public static AWSLoggerConfigSection GetAWSLoggingConfigSection()
in src/AWS.Logger.AspNetCore/AWSLoggerConfigSection.cs
18 4 2
public static string GenerateStreamName()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
18 3 1
public static void LogLibraryError()
in src/AWS.Logger.Core/Core/AWSLoggerCore.cs
18 2 2
protected virtual void Dispose()
in src/AWS.Logger.SeriLog/AWSSink.cs
17 4 1