Skip to content

About

Troubleshoot app connectivity using real traffic, Wi-Fi and VPN stability, and local diagnostic reports. Built in Rust for Windows.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

AppNetPlotter icon AppNetPlotter

Clear answers to connection problems.

AppNetPlotter helps you identify and troubleshoot app connectivity issues without needing networking expertise.

  • No separate speed test or manual ping needed: monitor actual app connections to see traffic, response times and stability while you use your apps.
  • Find what needs attention: bring Wi-Fi, wired and Internet measurements together with clear status and recommended actions.
  • Check VPN performance: detect connected VPN adapters and estimate VPN path stability from observed TCP connections.
  • Estimate connection distance: see a rough latency-based distance in kilometres instead of potentially misleading country labels.
  • Keep monitoring local: no central monitoring server or cloud account required.

AppNetPlotter Internet performance screen showing connection guidance and a stability history graph

Designed for Windows 10/11 x64. Built in Rust with monitoring separate from the UI.

Free and open source under Apache 2.0 for personal and business use. No registration, purchase or sales contact is required to use the core. Optional paid support and enterprise services are described in support.

Copyright (c) 2026 AppNetPlotter contributors. Project-owned code and documentation are licensed under the Apache License, Version 2.0. Third-party components retain their own terms.

Who it is for

  • Home users: understand unreliable Wi-Fi, interrupted downloads and app connectivity problems.
  • Remote and hybrid employees: follow practical guidance before escalating a connectivity ticket.
  • Help desks and IT support teams: receive a time-correlated report instead of starting with an unclear description of “the Internet is slow.”
  • Enterprise administrators and service providers: evaluate evidence across the local link, VPN and affected application's connections. Use the core freely, and contact the maintainer for optional paid support.

From a problem to a useful support ticket

  1. Open AppNetPlotter while the problem is happening and select the affected app.
  2. Read App status, Current state and Recommended action.
  3. Follow the suggested local step when appropriate, then check whether connectivity improves.
  4. If the problem persists, export a report, review its contents and attach it to your support ticket.

For example, an employee reports that a work app is slow. AppNetPlotter compares that app's connection measurements with available local-network and other connection evidence. It can suggest a likely problem area or explain that evidence is incomplete. The support report preserves available measurements and reasoning for further investigation. It does not create or send the ticket automatically.

What you can investigate

View What it helps you understand
Wi-Fi and Ethernet Local router stability, physical-link performance and practical troubleshooting steps
Internet Stability and observed upload/download activity from monitored connections
VPN Detected tunnel routes and available evidence of VPN-related degradation
Apps Each app's connections, observed DNS names, traffic, timing and stability history
Advanced TCP counters, diagnostic evidence and recent connection events

The app uses Windows TCP extended statistics to observe real connections. The Windows DNS cache supplies names when available. DNS Client ETW tracking is disabled by default and can be enabled in Settings. Passive UDP traffic tracking is enabled by default and can also be changed in Settings. Saved preferences are preserved. Gateway checks are active; app traffic collection is passive, and optional test traffic is identified separately.

Choose how to run

Mode Start with Behaviour
Portable AppNetPlotterPortable.exe Administrator permission; monitoring and UI in one process; no installation
Installed AppNetPlotter-Setup-x64.msi Installs the monitoring service and a standard-user tray UI

Open AppNetPlotter from the Start menu after installation. Closing the window hides it to the tray. In portable mode, choose Stop monitoring and exit to stop collection. Exiting the installed UI leaves the service monitoring.

Executable names, the Windows service identity and existing data directories retain their earlier AppNetPlotter names for compatibility. The product is now called AppNetPlotter.

Evidence you can trust, with clear limits

AppNetPlotter distinguishes observed facts from likely explanations. Zero measured traffic is different from missing data; a previous stability score is history, not proof of current activity. High latency alone does not establish instability or server overload.

DNS names may be unavailable or ambiguous. TCP measurements do not expose HTTP errors, page rendering or server processing time. UDP traffic counters do not establish media jitter or end-to-end loss. VPN and Wi-Fi diagnoses depend on available, matching measurements. Current diagnosis rules are heuristics, not a validated success-rate guarantee.

Privacy and reports

Monitoring data stays local; reports are not uploaded automatically. Reports can contain app names, process paths, IP addresses, DNS names, routes and connection history. Review them before sharing, and avoid posting raw reports in public issues. Local interactive users can read service telemetry; assess this before shared-machine deployment. See permissions and privacy.

Build and contribute

Install stable Rust with the MSVC toolchain, Visual Studio C++ Build Tools and the Windows SDK, then run:

cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test --no-default-features --lib
.\scripts\build.ps1

Use .\scripts\package.ps1 for the three executables and the service/UI MSI. See packaging, contribution guidance and the technical guide. Platform-specific collectors and IPC currently support Windows; the separated Rust core provides a foundation for future ports.

Documentation

Offline browser reports

Choose Export report to create one self-contained file with diagnoses, recommendations and interactive graphs. Administrators can inspect the same timestamp across Internet, gateway, app and VPN history without installing AppNetPlotter. Choose all available history or a custom time slot before saving HTML. See report instructions.

Local one-day history

Collected graph readings and incident evidence are stored locally in SQLite for up to one day. App and connection metadata is shared, while numeric graph readings retain their original resolution. Live graphs show recent readings. HTML export can select the saved database history, starting at the oldest retained item, with local timestamps. Writes are batched about every two minutes. See storage sizes, schema and current UI limits.

Portable download: AppNetPlotterPortable.exe is self-contained. The stability mapping and license notices are embedded; no adjacent data folder is needed. Settings and monitoring history are still saved locally. GitHub releases publish this EXE and AppNetPlotter-Setup-x64.msi only.

Path distance estimate: public established TCP connections use their lowest reported RTT × 100 / 1.5 km, rounded to 100 km. The 1.5× overhead allowance is illustrative, not a measured world average. VPNs, proxies, local delay and indirect routing prevent geographic location or nearest-server conclusions. UDP and missing/stale readings are not estimated. Fibre propagation reference: https://blog.cloudflare.com/making-home-internet-faster/

About

Troubleshoot app connectivity using real traffic, Wi-Fi and VPN stability, and local diagnostic reports. Built in Rust for Windows.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages