InternetConnectionChecker icon indicating copy to clipboard operation
InternetConnectionChecker copied to clipboard

Scalability/Enhancements

Open rdtscp opened this issue 4 years ago • 5 comments

Hey @moonmatt, awesome project here!

I did a little refactoring in order to add a couple features that suited my needs, and wanted to create a PR incase you are interested in the same features (seeing as the original piece was your work).

The features I added are:

  1. Inclusion of an "Availability" graph, indicating if the ISP is having an outage. (My ISP has been having a lot of outages recently, so I am interested in seeing how often my internet is inaccessible). This graph just uses another existing library, and I believe it tries to do a DNS resolution (which should be fairly quick/cheap).
  2. Automatic splitting of data by date - I want to keep this running for as long as I possibly can. This means that a single graph with days of datapoints (every 2 minutes) would be expensive to load on every page load. To tackle this I added some code to auto-chunk the public json file into files split by date.
  3. To accommodate (2), on the front-end I added a drop-down menu with the list of possible dates, where selecting a date will reload the page and graph the data from just that date.

Any thoughts or opinions (or code review, I am not a JS dev) are more than welcome!

Awesome job on this again! 👍

rdtscp avatar Jul 09 '20 23:07 rdtscp

Below are some images of what the interface looks like. (I haven't had any outages in the past 24hrs, so no examples of errors there).

By default, the webpage will load on the current days data.

9th July Date Selection 10th July

rdtscp avatar Jul 09 '20 23:07 rdtscp

I think both features added here are great and should be accepted into the master branch. Having the ability to brake down by date will allow a lot of people to provide day by day graphs to their ISPs in order to combat their usual 'everything looks fine from our side'. I had quick scan through the code, nothing major to change apart from just dropping some console logs which are not needed in prod. Kudos @moonmatt and @rdtscp

Josephine7 avatar Jul 10 '20 11:07 Josephine7

Hi all, I thought this PR was so good that I added some minor suggestions. If the author @rdtscp can't get to them, it's no big deal- I can make a PR later with them

bashunaimiroy avatar Jul 12 '20 16:07 bashunaimiroy

Hi all, I thought this PR was so good that I added some minor suggestions. If the author @rdtscp can't get to them, it's no big deal- I can make a PR later with them

Appreciate your review here! I will make changes to the synchronous file writing/reading and update the PR ASAP!

rdtscp avatar Jul 13 '20 22:07 rdtscp

i've thought about making this kind of thing before, so i'm glad to see this project come together. this PR is running well on my end, and i'm looking forward to seeing the data pile up. good work y'all!

brandly avatar Aug 09 '20 04:08 brandly