bitrazor.com ...THE source for mediocre content                                      

Network Uptime Tracker

Downloads

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

Overview

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].

Install and Uninstall

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.')

Running the App

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.

Status Tab

Options Tab

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 and Graphing History

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.

Release Notes for Latest 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

 

Known Problems

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)

Report a Defect / Suggest an Enhancement

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?)

Localization

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.

About 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.

                                                         Last updated: August 25, 2006