repowiserepowise
Sign in
matthart1983/netwatch
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisematthart1983/netwatch
NE
NE

matthart1983 / netwatch

rustmain6e2823279.0K linessynced 2w ago

Code health

4.1out of 10Needs work

This codebase scores 4.1 out of 10 for code health, which we rate needs work. It also scores maintainability 4.4 and static performance 9.7 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 37 of 201 files are git hotspots, and they average 2.8 — which is where the fixes pay off most.

Full health report →
Documentation441pages18 with model-written prose, 423 built from the indexScore validation11/202.8× baselineTop-ranked files that did go on to need a bug fixDead code2exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing in the week to Sep 20, the last indexed commit, 1 of them now.

Now

  • Critical

    Clean up what this week's commits left: 59 serious findings in 23 files

    10 commits in the last 7 days added or worsened them, and they are still open. Start with src/diagnose/engine.rs, which has 3 critical.

    serious findings
    59
    critical
    12
    files
    23
    Large effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
Lines of code
79.0K
Files
201
Symbols
7,179
Modules
8
Languages
4

Recent activity

All commits →

Commits

  • 6e282321docs: add conda-forge to install, badges and packaging2w ago
  • ce377123docs: re-record the dense GIF, and document its re-encode2w ago
  • 9d1fae3bdocs: re-record the hero GIF, and give the tile note its own row2w ago
  • bf922177fix(diagnose): compare the coverage document without its line endings2w ago
  • 05361de9release: netwatch v0.32.3 — 0.32.2 with its two CI failures fixed2w ago
  • 5097c1cafix(ebpf): drop the explicit source drop, which clippy rejects on macOS2w ago

Decisions

  • Make capture non-blocking with timeout sleep to prevent hangproposed · 2w ago
  • Case-insensitive process-name sorting and remove dead Sort hintproposed · 2w ago
  • Set default Tab to cycler and centralize tab names in TAB_NAMESproposed · 2w ago
  • Add full configuration reference documentationproposed · 2w ago
  • Add armv5te release build with 32-bit atomic adaptationsproposed · 2w ago
  • Extract packet filter DSL into filter.rsproposed · 2w ago
▸

Everything we found

1,802 open

Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.

  • worst item is critical severity. Code health1,347Untested hotspot · src/ui/topology.rs22 findings · 9.4 deducted→
  • worst item is medium severity. Refactoring214render_prometheus+1.4 health, L effort · src/metrics.rs→
  • worst item is medium severity. Doc drift2docs/runtime-lifecycle.mdDocument names src/ebpf/source.rs, which no longer exists.→
  • worst item is medium severity. Decisions81src/app.rs44 awaiting review · 37 hotspots ungoverned→
  • worst item is medium severity. Ownership158src/app.rs96% single-owner concentration, 33 commits in 90d→

Composition

Open the graph →
rust 89%
shell 7%python 3%dockerfile 1%

Explore this codebase

  • Docs441 pages across 8 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files201 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 6 entry points→
  • Code healthPer-file scores, 1,371 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run.→