diff --git a/README.md b/README.md index 507b42f..dbacbcc 100644 --- a/README.md +++ b/README.md @@ -42,13 +42,13 @@ All numbers collected by [blackroad-os-kpis](https://github.com/blackboxprogramm ``` CODE Lines of code 7,212,717 - Commits/day 327 + Commits/day 330 PRs merged (all time) 4,019 GitHub repos 1,603 (306 active, 17 orgs) Gitea repos 207 (7 orgs) Total repos 1,810 Languages 20 - GitHub size 8086.0 GB + GitHub size 8174.9 GB INFRASTRUCTURE Fleet nodes 4 diff --git a/VERIFIED-METRICS.md b/VERIFIED-METRICS.md index 71ebaea..963cd89 100644 --- a/VERIFIED-METRICS.md +++ b/VERIFIED-METRICS.md @@ -4,12 +4,12 @@ Source: blackroad-os-kpis automated collection + full GitHub API scan across all ## Code - 7,212,717 lines of code -- 327 commits/day, 4,019 PRs merged all-time +- 330 commits/day, 4,019 PRs merged all-time - **1,603 GitHub repositories** across 17 owners (306 active, 1,297 archived) - **207 Gitea repositories** across 7 organizations (self-hosted) - **1,810 total repositories** -- 20 languages: Python (470), HTML (314), Shell (160), JavaScript (114), TypeScript (85), Dockerfile (24), C++ (5), CSS (3), Go (2), C (2), MDX (1), Apex (1), Ruby (1), Go Template (1), HCL (1) -- 7.9 GB total GitHub repo size +- 20 languages: Python (470), HTML (314), Shell (160), JavaScript (115), TypeScript (85), Dockerfile (23), C++ (5), CSS (3), Go (2), C (2), MDX (1), Apex (1), Ruby (1), Go Template (1), HCL (1) +- 8.0 GB total GitHub repo size - 11 stars, 17 organizations ## GitHub Organizations (17 owners) diff --git a/src/index.js b/src/index.js index aa0b8f5..730de4c 100644 --- a/src/index.js +++ b/src/index.js @@ -491,6 +491,49 @@ const KPI_LABELS = { systems_registered: 'Systems Registered', }; +const KPI_SOURCES = { + total_loc: 'loc.sh — cloc + fleet SSH', + commits_today: 'github.sh — gh api events', + prs_merged_total: 'github.sh — gh api search/issues', + prs_open: 'github.sh — gh api search/issues', + repos_total: 'github-all-orgs.sh — gh api repos (17 owners)', + repos_github: 'github-all-orgs.sh — gh api repos (17 owners)', + repos_gitea: 'gitea.sh — Gitea REST API', + github_org_count: 'github-all-orgs.sh — unique owner count', + github_language_count: 'github-all-orgs.sh — repo language field', + fleet_total: 'fleet.sh — SSH probe to all nodes', + fleet_online: 'fleet.sh — SSH probe to all nodes', + avg_temp_c: 'fleet.sh — /sys/class/thermal via SSH', + fleet_mem_total_mb: 'fleet.sh — /proc/meminfo via SSH', + fleet_mem_used_mb: 'fleet.sh — /proc/meminfo via SSH', + fleet_disk_total_gb: 'fleet.sh — df via SSH', + fleet_disk_used_gb: 'fleet.sh — df via SSH', + fleet_connections: 'services.sh — ss -tun via SSH', + fleet_processes: 'services.sh — /proc count via SSH', + systemd_services: 'services.sh — systemctl list-units via SSH', + systemd_timers: 'services.sh — systemctl list-timers via SSH', + docker_containers: 'services.sh — docker ps via SSH', + docker_images: 'services.sh — docker images via SSH', + nginx_sites: 'services.sh — /etc/nginx/sites-enabled via SSH', + ollama_models: 'services.sh — ollama list via SSH', + ollama_size_gb: 'services.sh — ollama list via SSH', + postgres_dbs: 'services.sh — psql -l via SSH', + sqlite_dbs: 'local.sh — find ~/.blackroad -name *.db', + cf_pages: 'cloudflare.sh — wrangler pages list', + cf_d1_databases: 'cloudflare.sh — wrangler d1 list --json', + cf_kv_namespaces: 'cloudflare.sh — wrangler kv list', + cf_r2_buckets: 'cloudflare.sh — wrangler r2 bucket list', + failed_units: 'services.sh — systemctl --failed via SSH', + tailscale_peers: 'services.sh — tailscale status via SSH', + bin_tools: 'local.sh — ls ~/bin | wc -l', + home_scripts: 'local.sh — find ~/ -name *.sh', + templates: 'local.sh — ls ~/Desktop/templates', + mac_cron_jobs: 'local.sh — crontab -l | wc -l', + fleet_cron_jobs: 'autonomy.sh — crontab -l via SSH', + fts5_entries: 'local.sh — sqlite3 FTS5 count', + systems_registered: 'local.sh — sqlite3 systems count', +}; + function fmt(key, val) { if (val === undefined || val === null) return '—'; if (key === 'total_loc' || key === 'prs_merged_total' || key === 'fts5_entries') { @@ -561,8 +604,9 @@ nav{display:flex;align-items:center;justify-content:space-between;padding:16px 4 .metrics-table tr{border-bottom:1px solid var(--border);transition:background .2s} .metrics-table tr:hover{background:rgba(255,255,255,.02)} .metrics-table td{padding:14px 16px;font-size:14px} -.metrics-table td:first-child{font-family:var(--jb);font-size:12px;opacity:.5;text-transform:uppercase;letter-spacing:.08em;width:200px} -.metrics-table td:last-child{font-weight:600;text-align:right;font-family:var(--jb);font-size:18px} +.metrics-table td:first-child{font-family:var(--jb);font-size:12px;opacity:.5;text-transform:uppercase;letter-spacing:.08em;width:180px} +.metrics-table td:nth-child(2){font-weight:600;text-align:right;font-family:var(--jb);font-size:18px;width:120px} +.metrics-table td:last-child{font-family:var(--jb);font-size:10px;opacity:.25;text-align:right;padding-left:24px} .collected-at{text-align:center;padding:24px;font-size:12px;opacity:.3;font-family:var(--jb)} @@ -647,9 +691,25 @@ ${ROLES.map((r, i) => { `; }).join('\n')} -
Commits, PRs, events via GitHub API (gh cli)
Stars, forks, profile, org breakdown
Full scan of 17 GitHub owners, deduped
Self-hosted Gitea REST API (207 repos)
SSH probe: uptime, CPU, RAM, disk, temp
Docker, Ollama, Nginx, systemd, PostgreSQL
Self-healing events, restarts, cron jobs
Lines of code via cloc + fleet SSH
Mac: ~/bin, scripts, DBs, brew, cron, disk
Pages, D1, KV, R2 via wrangler CLI
Pipeline: collect (6am cron) → aggregate (daily JSON) → push to KV → Worker serves live → updated every request
+