opensearch-project / alerting-dashboards-plugin
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 362 units with 5,580 lines of code in units (28.9% of code).
    • 4 very long units (719 lines of code)
    • 16 long units (987 lines of code)
    • 57 medium size units (1,712 lines of code)
    • 80 small units (1,105 lines of code)
    • 205 very small units (1,057 lines of code)
12% | 17% | 30% | 19% | 18%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
js12% | 17% | 30% | 19% | 18%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
server/routes71% | 14% | 13% | 0% | 0%
server/clusters81% | 0% | 13% | 0% | 4%
public/pages3% | 21% | 32% | 20% | 20%
public/components0% | 0% | 43% | 38% | 17%
server0% | 0% | 70% | 0% | 29%
public0% | 0% | 0% | 72% | 27%
server/services0% | 0% | 0% | 28% | 71%
public/utils0% | 0% | 0% | 36% | 63%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
export default function alertingPlugin()
in server/clusters/alerting/alertingPlugin.js
272 1 3
export default function()
in server/routes/destinations.js
184 1 2
render()
in public/pages/Dashboard/containers/Dashboard.js
161 18 0
export default function()
in server/routes/monitors.js
102 1 2
render()
in public/pages/Destinations/containers/CreateDestination/CreateDestination.js
95 5 0
render()
in public/pages/CreateMonitor/containers/CreateMonitor/CreateMonitor.js
80 5 0
constructor()
in public/pages/Monitors/containers/Monitors/Monitors.js
73 1 1
render()
in public/pages/CreateTrigger/containers/DefineTrigger/AnomalyDetectorTrigger.js
61 3 0
export function queryLevelTriggerToFormik()
in public/pages/CreateTrigger/containers/CreateTrigger/utils/triggerToFormik.js
61 2 2
export default function getScheduleFromMonitor()
in public/pages/MonitorDetails/components/MonitorOverview/utils/getScheduleFromMonitor.js
60 10 1
export default function()
in server/routes/opensearch.js
59 1 2
render()
in public/pages/MonitorDetails/containers/MonitorHistory/MonitorHistory.js
58 4 0
render()
in public/pages/Destinations/containers/CreateDestination/ManageSenders/ManageSenders.js
58 6 0
render()
in public/pages/Destinations/containers/CreateDestination/ManageEmailGroups/ManageEmailGroups.js
58 6 0
render()
in public/pages/Monitors/components/AcknowledgeModal/AcknowledgeModal.js
56 1 0
async onRunQuery()
in public/pages/CreateMonitor/containers/DefineMonitor/DefineMonitor.js
56 13 0
export function bucketLevelTriggerToFormik()
in public/pages/CreateTrigger/containers/CreateTrigger/utils/triggerToFormik.js
54 1 2
render()
in public/pages/CreateMonitor/containers/MonitorIndex/MonitorIndex.js
54 1 0
componentDidUpdate()
in public/pages/CreateMonitor/containers/DefineMonitor/DefineMonitor.js
53 20 1
render()
in public/pages/CreateMonitor/containers/AnomalyDetectors/AnomalyDetectors.js
51 4 0