proxy — Health Dashboard

# proxy — Good

Analyzed 2026-03-22 by code2llm · Primary language: python · Python: 49, JavaScript: 5, Shell: 3

504
Functions
62
Classes
45
Files
16,422
Lines
3
Languages
3.4
Avg CC
19
Critical (CC≥10)
0
Duplicates
0
Cycles

## Language Distribution

## Largest Modules (lines)

## Most Complex Modules (functions)

## Evolution (2026-03-22)

3.4
CC̄ ↑
19
Critical ↑
16422
Lines

Run analysis multiple times to build a trend chart (≥3 data points needed).

## Top Modules (57)

Module | Path | Lines | Funcs | Classes | CC max
--- | --- | --- | --- | --- | ---
_orchestrator.py | src/proxym/virt | 806 | 36 | 7 | 11
panel.jsx | src/proxym/dashboard | 744 | 65 | 0 | 34
coverage_html_cb_dd2e7eb5.js | htmlcov | 735 | 65 | 0 | 21
__init__.py | src/proxym/dashboard | 405 | 24 | 4 | 13
self_server.py | src/proxym/mcp | 349 | 14 | 5 | 4
__init__.py | src/proxym/accounts | 346 | 20 | 8 | 10
__init__.py | src/proxym/router | 340 | 14 | 1 | 8
__init__.py | src/proxym/cache | 333 | 10 | 3 | 9
__init__.py | src/proxym/providers | 330 | 4 | 3 | 8
browser_profiles.py | src/proxym/virt | 325 | 11 | 2 | 9
_pipeline.py | src/proxym/api | 299 | 16 | 1 | 7
ctl.py | src/proxym | 295 | 26 | 0 | 4
strategy.py | src/proxym/router | 263 | 14 | 3 | 9
dsl.py | src/proxym/cli | 254 | 8 | 2 | 5
chat.py | src/proxym/cli | 215 | 12 | 0 | 9
clonebox_adapter.py | src/proxym/virt | 209 | 17 | 2 | 5
detector.py | src/proxym/context | 208 | 9 | 0 | 9
system.py | src/proxym/cli | 159 | 3 | 0 | 10
useDashboardData.js | src/proxym/dashboard/hooks | 148 | 25 | 0 | 8
client.py | src/proxym/mcp | 148 | 4 | 2 | 6

## Alerts (20)

Severity | Target | Type | Value | Limit
--- | --- | --- | --- | ---
critical | VMsPanel | cc_exceeded | 34 | 15
critical | LogPanel | cc_exceeded | 29 | 15
critical | cmd_status | high_fan_out | 21 | 10
critical | useDashboardData | high_fan_out | 20 | 10
error | table | cc_exceeded | 21 | 15
error | table_body_rows | cc_exceeded | 21 | 15
error | no_rows | cc_exceeded | 21 | 15
error | footer | cc_exceeded | 21 | 15
error | ratio_columns | cc_exceeded | 21 | 15
error | filter_handler | cc_exceeded | 21 | 15
error | VMsPanel | high_fan_out | 18 | 10
error | detect_firefox_profiles | high_fan_out | 17 | 10
error | _detect_chromium_family | high_fan_out | 17 | 10
error | _LifecycleMixin._create_vm_clonebox | high_fan_out | 16 | 10
error | analyze_request | high_fan_out | 15 | 10

## Hotspots (10)

Function | Fan-out | Note
--- | --- | ---
cmd_status | 21 | Orchestrates 21 calls
useDashboardData | 20 | Orchestrates 20 calls
VMsPanel | 18 | Orchestrates 18 calls
detect_firefox_profiles | 17 | Detect Firefox profiles by parsing profiles.ini.
_detect_chromium_family | 17 | Detect profiles for Chrome/Chromium from Local State file.
_LifecycleMixin._create_vm_clonebox | 16 | Create VM via clonebox CLI with injected cloud-init config.
analyze_request | 15 | Analysis pipeline, 15 stages
sortColumn | 15 | Orchestrates 15 calls
table | 15 | Orchestrates 15 calls
table_body_rows | 15 | Orchestrates 15 calls

## Refactoring Priorities (15)

# | Action | Impact | Effort
--- | --- | --- | ---
1 | Split VMsPanel (CC=34 → target CC<10) | high | low
2 | Split LogPanel (CC=29 → target CC<10) | high | low
3 | Split god module src/proxym/dashboard/panel.jsx (744L, 0 classes) | high | high
4 | Split god module htmlcov/coverage_html_cb_dd2e7eb5.js (735L, 0 classes) | high | high
5 | Split god module src/proxym/virt/_orchestrator.py (806L, 7 classes) | high | high
6 | Split table (CC=21 → target CC<10) | medium | low
7 | Split table_body_rows (CC=21 → target CC<10) | medium | low
8 | Split no_rows (CC=21 → target CC<10) | medium | low
9 | Split footer (CC=21 → target CC<10) | medium | low
10 | Split ratio_columns (CC=21 → target CC<10) | medium | low
11 | Split filter_handler (CC=21 → target CC<10) | medium | low
12 | Split sortedVms (CC=19 → target CC<10) | medium | low
13 | Split comparison (CC=17 → target CC<10) | medium | low
14 | Reduce cmd_status fan-out (currently 21) | medium | medium
15 | Reduce useDashboardData fan-out (currently 20) | medium | medium