Network Uptime Tracker
Latest released version: 1.0.3
(11/17/05; 550 KB)
(Older
version 1.0.2 available here)
Changes in 1.0.3: removed spurious error dialog
Tested on Windows XP and Windows 2000 (although I'm guessing it'll
work on Windows Server 2003, 95/98/Me, and NT as well -- just haven't
tested there yet)
.NET framework 1.1 from Microsoft (required):
here
The Network Uptime Tracker runs in the background on your
computer, and pings sites to determine if your network connection is up
or down. It is primarily intended for broadband users (cable
modem, DSL, etc.) who want to track a detailed history of their
provider's uptime and downtime. The Network Uptime Tracker
periodically 'pings' one or more network hosts, and writes its results
to a Comma Separated Value (.CSV) file. You may control how often
it pings, and to what sites. A Microsoft Excel template is also
provided for easy graphing of the results [in a future release].
Installation
The Network Uptime Tracker is distributed as a Self-Extracting
Archive. Download it from the link above,
and select 'Save As' and save it to a location on your computer you'll
remember. When the download is complete, simply double-click the
downloaded file. Extract the files to a directory you choose (for
example, your TEMP directory), then go to that directory and
double-click setup.exe to start the
installation process.
Note: this application requires the Microsoft .NET Framework, version
1.1 or above. If you don't have it installed, the installer will
prompt you to download it. See the 'Downloads'
section above for a direct link to Microsoft's download page (choose
'Microsoft .NET Framework Version 1.1 Redistributable').
The installer will create an icon in your Start - Programs menu, as
well as on the desktop, that looks like this:

Starting the App When You Start Your Machine
If you'd like the Network Uptime Tracker to start whenever you reboot
your machine, you may place a copy of the icon into your Startup Folder.
To do this, do Start - Programs, then right-click on the Startup folder
and select 'Open All Users:'

Once the folder is open, simply drag the icon off the desktop into
the folder:

Note that this will move the icon off your desktop into the Startup
folder. If you'd prefer to leave the icon on the desktop, use the
right mouse button to click and drag the icon into the Startup
Folder. When you release the right mouse button, choose 'Copy
Here' and the icon will be copied (not moved) into the Startup Folder.
Uninstall
To uninstall the application, go to Start - Settings - Control Panel
- Add/Remove Programs, then look for 'Network Uptime Tracker' in the
list. Select it, then click the 'Remove' button. The
application will be uninstalled from your computer. If you've
added an icon to your Startup Folder as described above, you might want
to delete it after uninstalling the program. (Simply navigate to
the Startup Folder as described above, find the 'Network Uptime Tracker'
icon, right-click it, and select 'Delete.')
When you run the application, it starts up in "normal" mode with the
application window displayed and the Status Tab selected:

If you minimize the application, it'll still be available in the
System Tray, as a little icon that looks like this
or this
. (If it's
bordered in green, the network is up; red, the network is down.)
You may restore the application by double-clicking the icon in
the System Tray, or right-clicking it and selecting Restore.


Site(s) to ping: one Ping (ICMP) packet at a time will
be sent to the first site in the list. If the ping response is
received successfully, the network is assumed to be up, and the current
check ends. (This means that during normal operation, when the
network is up, only a single ICMP packet is sent per check, making the
Network Uptime Tracker a very minimal impact on the network.) If
the first packet fails to receive a response, another packet is sent, up
to the maximum you specify (in the 'Packets to send' field). If
all packets to the first site fail, the next will be tried. If all
sites fail, the network is assumed to be down.
Output File: see the next section for complete details.
Output File Format
This file is written to every time a check of the network is made.
Here's an example line in the file:
"08/25/03 10:12:14","1","00:00:00.0200288"
The fields represented are:
- Date and time
- Up or Down (1 or 0, useful for graphing)
- Duration, using Microsoft's C# TimeSpan default format
Don't Open the Output File While NUT is Running
Warning: if the Network Uptime
Tracker is currently running, don't open the .CSV file in Excel.
Excel will hold the file open, and the Network Uptime Tracker will not
be able to write any more information to it as long as the file is open
in Excel. In the current version of the application, it'll pop up
a little message box to let you know. Many times, if you're not
careful. I'll make it more robust in the next rev. In the
meantime, simply make a copy of the file, and open the copy instead, or
be sure to close it when you're done looking at it.
Graphing the History
Because the output file is in .CSV format, it's really easy to graph
the results in Excel or other spreadsheet program. In a future
version, I'll include an Excel template that you can import your data
into directly to produce various spiffy charts and graphs of your uptime
and downtime information in a future version.
In version 1.0.2, I made the following changes:
- Reduced data file to 3 fields to save disk space (date/time,
up/down, and duration)
- Improved data file write/create exception handling
- Improved config. file handling (new versions can include new
settings and user may still keep relevant old settings)
- Fixed 24-hour time bug in data file
- Changed default data file path to "Uptime Logs\uptime_data.csv",
relative to installation directory
- Removed "Number of Packets" choice from options tab (still
manually changeable by hand-editing config file, but why bother?)
- Fixed bug where some settings changes weren't restarting the
polling timer thread
- Added option: "Confirm Exit", defaults to false (gets rid of the
annoying warning any time you reboot)
- Added option: "Start Minimized in System Tray", defaults to false
(for those that want to start it silently)
- Fixed bug where first very first run would show "Down" even though
the network check succeeded
In version 1.0.2:
- Don't open the data file in Excel while the app is running.
See above. (Workaround: make copy first)
- Check hangs on sites that don't return pings, e.g. excite.com
(workaround: stay with the default sites)
- 'Check Now' button not threaded, the UI's tied up during the check
(background polling works right, though)
Send mail to
Enhancements suggested to date:
- Allow opt-in anonymous reporting of uptime data back to a central
location for nationwide trending (in the works, stay tuned)
- Provide another format besides CSV for the data (HTML or XML)
- Add a 'View Data' button to the Status tab to make a temp copy of
the current data file & fire up Excel
- Add a checkbox to Options tab to provide additional notification
when the network goes up or down (play a sound? Message box?)
This application has been prepared for internationalization and
localization. The only language currently implemented is US
English. If you would like to help localize this application to a
different language, let me know & I'll send you the Resource file and
this help file. If you translate them, I'll hook them into the
application.
I started working on this application after my broadband connection
started going out. I was frustrated, and I wanted a record of
exactly when my connection was down, so I could compare it with my
friends' downtime, and provide that record to my broadband provider.
I didn't find anything like this out there, so I wrote this application.
I leveraged a 'Ping.cs' class I found on the internet (author unknown),
but the rest has pretty much been written from scratch.
|