Monitor network connectivity issues
There’s not an App, but there’s a tool (one of my favorites) that does this exact thing - iPerf3.
Normally, you’d run iPerf3 on two different nodes to evaluate network performance; one as a server and the other as the client, but in your scenario, you need to check performance to the Internet (nodes you don’t control).  iPerf has a solution for that too:  iPerf Public Servers
For an example of an iPerf in action, see  What dowload speeds is the Apple USB Ethernet Adapter capable of?
You can use these public servers to measure/monitor Internet performance.  What you’ll need to do is run iPerf periodically (10 seconds may to too short an interval) and at the end of the command append a file redirect to send the output to a file.  For example:
iperf3 -c IP &lt;Address/Hostname&gt; &gt;&gt; filename.txt

The &gt;&gt; filename.txt will create a file called “filename.txt” if it doesn’t exist and the double greater than sign will append the output to the file and not overwrite it.  Use a single &gt; to overwite the file.
You could use cron (deprecated) or use launchd to run the command periodically.  10 seconds is much to short an interval; maybe every few minutes or so would be better.
The best part about this tool is that it’s free (as in beer). Period. No trial, no lite version with an upgrade to pro, etc.