How ardzeyftw/pldt-h153-381-modem-wan-traffic-throttling-analytics-system works
This is a modem-based WAN traffic and ISP-throttling evidence platform. Its main workflow polls the Huawei modem for traffic and signal data, accounts for usage, periodically runs active CDN speed probes with verification, persists evidence, and serves dashboard history and CSV exports. The browser dashboard presents live status, charts, probe history, and controls. Backend details are sampled only in part; README-documented capabilities are included where their exact implementation is not visible.
Main entry points: app.js Dashboard client · snmp_poller.py HTTP API · index.html Dashboard page
Components 16
Collection and analysis
- Modem poller
snmp_poller.py - Usage accounting
snmp_poller.py - Speed probe engine
snmp_poller.py - Throttle verification
snmp_poller.py
Evidence storage
- Evidence database
snmp_poller.py
Web service and exports
- History aggregation
snmp_poller.py - HTTP API
snmp_poller.py - CSV export
snmp_poller.py
Dashboard interface
- Dashboard page
index.html - Dashboard client
app.js - Live traffic view
app.js - Probe controls and log
app.js - Charts and history
app.js
Other components
- Huawei modem
- CDN targets
- Operator
Connections 20
- Modem poller → Huawei modem: polls telemetry
- Modem poller → Usage accounting: processes counters
- Usage accounting → Evidence database: stores samples
- Modem poller → Speed probe engine: schedules probes
- Speed probe engine → CDN targets: downloads from
- Speed probe engine → Throttle verification: checks low speeds
- Throttle verification → Evidence database: stores results
- HTTP API → Evidence database: reads and resets
- History aggregation → Evidence database: reads samples
- HTTP API → History aggregation: requests history
- HTTP API → CSV export: requests export
- CSV export → Evidence database: reads evidence
- Operator → Dashboard client: uses
- Dashboard page → Dashboard client: loads
- Dashboard client → HTTP API: fetches data
- Dashboard client → Probe controls and log: renders controls
- Dashboard client → Live traffic view: renders status
- Dashboard client → Charts and history: renders history
- HTTP API → Dashboard client: serves responses
- HTTP API → Speed probe engine: dispatches manual run