mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-03-29 13:10:34 +00:00
Two-layer caching: in-memory packet store + TTL response cache. All packet reads from RAM, SQLite write-only. Highlights: - Bulk Health: 7,059ms → 1ms (7,059×) - Node Analytics: 381ms → 1ms (381×) - Topology: 685ms → 2ms (342×) - RF Analytics: 253ms → 1ms (253×) - Channels: 206ms → 1ms (206×) - Node Health/Detail: 133-195ms → 1ms Architecture: - In-memory packet store with Map indexes (byNode, byHash, byObserver) - Ring buffer with configurable max (1GB default, ~2.3M packets) - Smart cache invalidation (packet bursts don't nuke analytics) - Pre-warm all heavy endpoints on startup - Eliminated every LIKE '%pubkey%' full-table scan - All TTLs configurable via config.json - A/B benchmark script included - Favicon added
20 lines
557 B
JSON
20 lines
557 B
JSON
{
|
|
"name": "meshcore-analyzer",
|
|
"version": "2.1.0",
|
|
"description": "Community-run alternative to the closed-source `analyzer.letsmesh.net`. MQTT packet collection + open-source web analyzer for the Bay Area MeshCore mesh.",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"@michaelhart/meshcore-decoder": "^0.2.7",
|
|
"better-sqlite3": "^12.8.0",
|
|
"express": "^5.2.1",
|
|
"mqtt": "^5.15.0",
|
|
"ws": "^8.19.0"
|
|
}
|
|
}
|