kitsunekyo / isp-speedtest-logger Goto Github PK
View Code? Open in Web Editor NEWbasic application to run, persist, and display speedtests
License: MIT License
basic application to run, persist, and display speedtests
License: MIT License
Use Expressjs and self host the web server which will remove the dependency on a global package (http-server) and make the installation easier.
When I run the speedtest.sh, I get the following error:
$ sh speedtest.sh
Last Speedtest:
speedtest.sh: line 10: 73772 Segmentation fault jq '.log[-1]' $LOG_FILE
Any Idea?
when starting up the application for the first time, the speedtest fails with a dump of the license. even though license agreement options are set correctly.
it appears that it has to be done once, before an actual speedtest runs through. maybe hit the speedtest api once to accept the license on startup?
this is an issue within the speedtest-net package: (issue is created)
ddsol/speedtest.net#117
To simplify the use of this application, node-cron would maybe be a good idea to schedule speedtests. Speedtests can anyway only be run through the api, so the api should run 24/7, which gives us a node platform to schedule tasks on.
editing the speedtest task via the ui would be great.
So it works on Firefox and Chrome.. but its just a blank page on Safari.
The page source is correct just nothing is being shown.
I have tried to figure out why but my skills are lacking!
after 5 reloads via the UI button, api state gets stuck in loading
api seems unable to connect to the db. i think the problem is the wrong alias used in docker-compose.yml file
suggestion:
change
MONGODB_CONNECTION_STRING=mongodb://isp-db:27017/isp
to
MONGODB_CONNECTION_STRING=mongodb://db:27017/isp
and add the option
links:
- db
to the api service.
also change the environment in example.env to
MONGODB_CONNECTION_STRING=mongodb://db:27017/isp
furthermore:
example.env seems to miss the NODE_ENV enviroment
suggestion add to example.env
NODE_ENV=production
Example json output:
{"upload": 394316287.9202392, "download": 710810930.4632795, "server": {"country": "United States", "url2": "http://sp2.aethosting.com/upload.php", "latency": xxx, "lon": "xxx", "sponsor": "AET Hosting Solutions", "name": "Washington, DC", "host": "speedtest.aethosting.com:8080", "d": 478.1985075127686, "lat": "38.9047", "url": "http://sp1.aethosting.com/upload.php", "cc": "US", "id": "7960"}, "timestamp": "2017-01-20T00:11:17.559249", "ping": 12.474}
Reproduce:
Current Result:
Data is empty
Expected Result:
Data from previous run is still available
As a user I want to see visual feedback, that data is loading, until its displayed. Same goes for errors when fetching data.
when running docker compose, api does not respond on /speedtest.
possibly mongodb issue
Hi,
can you please add a licence to your code?
You're currently importing the whole lodash library with import _ from 'lodash';
in:
This leads to an unnecessarily increased bundle size.
Check out this blog post and the mentioned babel plugin to decrease the bundle size.
obviously
since my ISP is acting up, i cant get port 8080 to open to the public from my nas. will try to get this up and running again. hope the screenshot gives a decent picture till then.
configuration should be stored outside the application. having a stateful app could lead to issues.
move "scheduling" config into a configuration state in mongodb
in osx, better add in requirement in README.MD
brew install jq
last update broke the schedule update. something is wrong with the body validation on the post request.
having some port issues because i switched ISP. so the demo page is not working atm :)
The screenshot should give you a good idea nevertheless
speedtest-net offers events to listen to, when starting a test.
test phases could be pushed to the client via socket.io and displayed to give better ux
You are mixing js and python and the installation is complex.
Move to just using Node.js with the speedtest-net package.
currently all test results are fetched from the db and displayed, when the user navigates to /dashboard. for large datasets this will be ๐ฉ.
add a query option to only load speedtests between a start and enddate. (selected through UI)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.