I maintain a script that chooses a random server that's known to respond to pings, and performs 100 pings (one second apart). I run this script by hand as a first indicator to determine if I'm having a connectivity or signal quality problem.
The ping command I use is ping -c 100 [server-hostname]
I chose hostnames for my script that were known to respond to ping at the time that I wrote the script, and I tried to keep the list geographically diverse (for example by using university web servers). But this sort of technique requires maintenance, because servers don't consistently allow ping (server configurations change over time), and things like hosted servers disrupt the geographic diversity issue.
I would think that Automator might be a better fit for this sort of task than Instruments, although if you're adept with scripting (shell, python, perl, etc), you could write a script to do it and use much less memory.
As for your situation, the source(s) of failure should dictate what kind of connectivity testing you do. The problem could be due to a piece of hardware within your home/office that needs to be periodically reset, or even replaced. The ping test I describe above doesn't necessarily isolate the source of the problem.
Edit: and to address analysis/graphing, you could perform a ping test at a regular interval (every # minutes), export the packet loss percentage data in a format such as comma-separated values, and use a spreadsheet program to graph the results.
I have experimented with using ControlPlane to achieve what you want. My preliminary result is that it will do what you want.
ControlPlane detects changes to your system called 'evidence sources'. Changes are evaluated with 'rules' which define a change in 'context'. Associated with each context are 'actions'.
One of the 'evidence sources' is a sleep/wake event. So I have configured a rule so that on a sleep event (e.g. you have clicked sleep in the Apple menu), the context 'Sleepy Time' is triggered. And for this context I have used the action 'ToggleInternetSharing' to off.
After clicking on Sleep, I get an alert saying that Internet Sharing is being turned off and after a little while (seems like forever but is probably only 10 or 20 seconds) the Mac goes to sleep.
And I have a second rule so that on a wake event the context 'Waking Up' is triggered and this has the action to set 'ToggleInternetSharing' on.
My Rules and Actions:
Try it!
This is just scratching the surface of what ControlPlane can do.
Best Answer
Appleās Wireless Diagnostics tool might work. It appears to be able to monitor your connectivity and provide a report based on the results. You can find it in spotlight search.