microsoft / ApplicationInsights-Java
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 1,803 units with 16,580 lines of code in units (69.4% of code).
    • 8 very long units (1,090 lines of code)
    • 22 long units (1,439 lines of code)
    • 146 medium size units (4,384 lines of code)
    • 280 small units (4,126 lines of code)
    • 1,347 very small units (5,541 lines of code)
6% | 8% | 26% | 24% | 33%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java6% | 8% | 26% | 25% | 33%
cpp0% | 31% | 47% | 15% | 6%
kts0% | 0% | 0% | 0% | 100%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
agent/agent-tooling8% | 10% | 26% | 24% | 30%
etw/native0% | 31% | 47% | 15% | 6%
etw/etw-testapp0% | 19% | 41% | 23% | 14%
agent/agent-bootstrap0% | 7% | 24% | 37% | 30%
agent/agent-profiler0% | 0% | 32% | 27% | 40%
etw/java0% | 0% | 20% | 18% | 61%
agent/agent-gc-monitor0% | 0% | 0% | 36% | 63%
agent/agent0% | 0% | 0% | 0% | 100%
dependencyManagement0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
private void overwriteTrackMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
250 1 1
private void writeAgentTrackRequestTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
148 1 0
private void writeAgentTrackRemoteDependencyTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
141 1 0
private static AppIdSupplier start()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/AiComponentInstaller.java
114 20 1
static Config getConfig()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/ConfigOverride.java
114 23 1
public void validate()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/Configuration.java
110 19 0
private void writeAgentTrackMetricTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
109 1 0
private void writeAgentTrackTraceTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
104 1 0
private void writeAgentTrackPageViewTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
97 1 0
private void exportRequest()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/exporter/Exporter.java
85 16 1
private void writeAgentTrackEventTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
83 1 0
private void writeAgentTrackExceptionTelemetryMethod()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/legacysdk/TelemetryClientClassFileTransformer.java
83 1 0
public static Map getProperties()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/telemetry/TelemetryUtil.java
77 19 1
void trackConfigurationOptions()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/statsbeat/FeatureStatsbeat.java
76 27 1
public Callable setDefaultPayload()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/heartbeat/WebAppsHeartbeatProvider.java
72 16 1
void writeEvent_IpaEtwEvent()
in etw/native/src/main/cpp/etw_provider.cpp
70 8 3
public static synchronized void initialize()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/profiler/ProfilerServiceInitializer.java
65 6 9
static
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/statsbeat/Instrumentations.java
62 1 0
public static Configuration create()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/ConfigurationBuilder.java
60 12 2
PersistedFile loadTelemetriesFromDisk()
in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/localstorage/LocalFileLoader.java
60 9 0