Sign inSign up

akash329d/packetplotter

By akash329d

•Updated about 6 years ago

Web View for response time and packet loss. Used for tracking packet loss and finding network issues

Image
0

379

akash329d/packetplotter repository overview

⁠PacketPlotter

Generates charts for the Round Trip Time (RTT) and loss for packets over past minute, hour and three hours. Useful for tracking packet loss, and diagnosing network issues. Uses Python to gather ping data and parse data. SQLite is used to store ping data. Frontend uses ChartJS for graph creation. Flask/uWSGI for web server. Does 1 ping/sec.

Webpage: Screenshot

Can be configured from the config.ini file (or through environmental variables)

Run With uWSGI (need to install uWSGI via PIP or other means):

uwsgi --http :8080 uwsgi.ini

Or just run directly via Python and use Flask's built in Development Server:

python wsgi.py

Both options will use config from config.ini (prioritizes environmental variables)

⁠Docker Usage

Dockerhub: https://hub.docker.com/r/akash329d/packetplotter⁠ Base Image: https://github.com/tiangolo/uwsgi-nginx-flask-docker⁠
(Uses Nginx/uWSGI)

⁠Example Docker Image Creation
docker create \
  --name=PacketPlotter \
  -e PING_DESTINATION=8.8.8.8 \
  -e PING_SIZE=32 \
  -e PING_TIMEOUT = 200 \
  -p 80:80 \
  -v /path/to/store/db:/app/db \
  akash329d/packetplotter
⁠Docker Parameters
ParameterDescriptionDefault Value
PING_DESTINATIONThe server to ping.8.8.8.8 (Google DNS Anycast IP)
PING_SIZESize of ping packet (in bytes)32 Bytes
PING_TIMEOUTTime before packet is considered "lost"200ms
DEBUGTo run with debug mode (prints ping data)False
-v /app/dbUsed to map SQLite Database to host system. Not necessarily needed (will only be around 800KB max)N/A

Tag summary

Content type

Image

Digest

Size

67.5 MB

Last updated

about 6 years ago

docker pull akash329d/packetplotter