Mantengo un script que elige un servidor al azar que se sabe que responde a los pings, y realiza 100 pings (con un segundo de diferencia). Ejecuto este script a mano como un primer indicador para determinar si estoy teniendo un problema de conectividad o de calidad de la señal.
El comando ping que utilizo es ping -c 100 [server-hostname]
Elegí nombres de host para mi script que se sabía que respondían al ping en el momento en que escribí el script, e intenté mantener la lista geográficamente diversa (por ejemplo, utilizando servidores web universitarios). Pero este tipo de técnica requiere mantenimiento, porque los servidores no permiten el ping de forma consistente (las configuraciones de los servidores cambian con el tiempo), y cosas como los servidores alojados interrumpen la cuestión de la diversidad geográfica.
Yo pensaría que Automator podría ser más adecuado para este tipo de tareas que Instruments, aunque si eres hábil con los scripts (shell, Python, perl, etc), podrías escribir un script para hacerlo y usar mucha menos memoria.
En cuanto a su situación, la fuente o fuentes de fallo deberían dictar el tipo de pruebas de conectividad que debe realizar. El problema podría deberse a una pieza de hardware dentro de tu casa/oficina que necesita ser reiniciada periódicamente, o incluso reemplazada. La prueba de ping que describo arriba no aísla necesariamente el origen del problema.
Edición: y para abordar el análisis/gráfico, podrías realizar una prueba de ping a un intervalo regular (cada # minutos), exportar los datos del porcentaje de pérdida de paquetes en un formato como valores separados por comas, y utilizar un programa de hoja de cálculo para graficar los resultados.