Click here to Skip to main content
12,065,102 members (45,845 online)
Click here to Skip to main content
Add your own
alternative version


108 bookmarked

.NET DUMeter clone

, 10 Feb 2003 BSD
Rate this:
Please Sign up or sign in to vote.
A DUMeter clone, but with some better/different reporting features.

Sample Image - mydumeter.gif


This is basically a DUMeter clone, but with some better/different reporting features. Being on a dialup connection, I like to see what's happening to my bandwidth. I have done this UI to be as unobtrusive as possible. Full UI customization and transparency is available. It will work on Win2K+ only as far as I am aware.

Source code

There was no big feat in doing this, so I wont bore you with the code. You can have a look. This is not really a programming article, but rather a very useful tool and replacement for DUMeter fans. You don't have to vote. Please note that the blank database is included with the source.


When running MyDUMeter for the first time, the option dialog should popup that allows you to select your interface. If anything goes wrong (for some reason), just delete the MyDUMeter.config file. Also make sure that the log.mdb (Access 2002 DB) is in the same directory and that you have at least MDAC 2.6 installed.

Some UI tips:

  • Mouse over on real-time graph shows bandwidth numbers. These numbers can always be shown via the Show Text menu.
  • Clicking on a report will bring up a tooltip with some extra stats for that "section".
  • All windows can be moved by clicking and holding down the mouse.
  • Double click real-time graph to show window border, the window can now be resized. Double click again to hide border.

Known problems and facts

  • When resizing the real-time graph, it goes on an acid trip. This is intentional. Select the size you like, and let it be. This is now fixed.
  • The average shown in the report's tooltip is the recorded average, in other words if only one log entry was made at say 10 kb/sec, then the whole section would reflect a 10 kb/sec average. IMHO this is better than using a general average.


I hope you find this utility handy. Any comments/suggestions welcome.


  • 1.1
    • Fixed small calculation "bug" in report tooltip.
    • Added better alignment in report.
    • Added a TypeConverter for machine name. Your PC can now be selected via dropdown box. Please recheck the interface, and make sure you have admin rights on the PC you like to monitor. A bit problematic using primitive remote debugging. I have no extra Windows PC on my network, so I had to send several versions to someone with no .NET knowledge to "debug" it. But it seems to work now.
  • 1.2
    • An empty access database is now embedded in the assembly. It will check for an existing database on start. The template database is now included with the source zip. All you need to do is the following: Add the "file" as embedded content to the project and add the code.
      if (!(File.Exists("log.mdb")))
         Stream s = 
         Stream r = File.Create("log.mdb");
         int len = 8192;
         byte[] buffer = new byte[len];
         while (len > 0)
            len = s.Read(buffer, 0, len);
            r.Write(buffer, 0, len);
    • Fixed "Fixed small calculation "bug" in report tooltip.".
    • MachineName "bug" is still there. Waiting for feedback.
    • Some more report options and stats.
  • 1.3
    • Added a pinger. Thank to Saurabh Nandu (or the original person who wrote it, there seems to be many people taking ownership of the code) for the base code. It will ping your desired host every 500ms and the text will displayed on the real-time graph.
  • 1.4
    • Added some more options. Ping interval and an option to hide the real-time graph when the connection goes idle. The graph will popup once the connection becomes non-idle.
    • Added much better resizing code. Redone the whole real-time graph painting.
  • 1.5
    • Thanx to Wilco B for pointing out a small problem. That has been fixed now.
    • Added very cool selection/highlighting feature for the report (see pic). Just right click hold and drag.
  • 1.6
    • Fixed many small cosmetic "bugs".
    • And thanx to Wilco B for pointing out the same problem in real-time graph.
  • 1.7
    • Many new cosmetic/stats features in Report. Selection can be zoomed into.
    • Real time graph can now be adjusted with mouse wheel (require wheel click to activate/deactivate). Shows a sluggish OSD.
    • Fixed a bug where focus will be stolen from the active window if real-time graph pops up when connection goes non-idle.
    • Removed the width constraint on the report. It was not really necessary at all. Smile | :)
  • 1.8
    • Added suggestion made by Kant.
    • Added make.bat for command line building (makes debug build).
    • Made all threads running at lower priority. Should help with CPU usage.


This article, along with any associated source code and files, is licensed under The BSD License


About the Author

Software Developer
South Africa South Africa
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionIs that so difficult to reproduce DU Meter? Pin
mnbvclkjhg25-Oct-15 17:08
membermnbvclkjhg25-Oct-15 17:08 
AnswerRe: Is that so difficult to reproduce DU Meter? Pin
Colin Angus Mackay26-Oct-15 6:27
memberColin Angus Mackay26-Oct-15 6:27 
GeneralMy vote of 5 Pin
eduardochiletto26-May-14 2:48
membereduardochiletto26-May-14 2:48 
GeneralUse Modem EVDO connection Pin
thongminhhon1it18-Oct-09 11:50
memberthongminhhon1it18-Oct-09 11:50 
GeneralUsed as a Control [modified] Pin
mpgjunky26-Sep-08 1:14
membermpgjunky26-Sep-08 1:14 
GeneralGreat job can, need Vista gadget implementations Pin
nemopeti25-Jan-07 12:19
membernemopeti25-Jan-07 12:19 
Generalxml output Pin
uwgmxbscdb@mailinator.com24-Apr-06 20:11
memberuwgmxbscdb@mailinator.com24-Apr-06 20:11 
Generalthanks + a suggestion Pin
Herve_a18-Feb-06 23:44
memberHerve_a18-Feb-06 23:44 
GeneralAwesome work Pin
Hadi Fakhreddine9-Apr-05 1:37
memberHadi Fakhreddine9-Apr-05 1:37 
QuestionIs MyDUMeter "Open Source"? Pin
Alessandro Fragnani30-Mar-05 14:21
memberAlessandro Fragnani30-Mar-05 14:21 
Hi leepie,

I downloaded MyDUMeter sometime ago and last two weeks I decided to make some customizations ont it. In fact I decided to do this for two main reasons. I really liked the tool, and it is very usefull to me, and second because I´m learning .NET development (C# mostly). I would like to know if MyDUMeter is "Open Source", so I could post the application, and source code, at some site, like SourceForge, so another developers should improve it.

Most of the customizations are based on original DUMeter and NET Traffic Meter features. Some are:

- Added a label below the Graphic showing the measures in label;
- Added a "Hide label" and "Hide Graph" popupmenu item
- Added "Statistics" report, on Grid, detailing Days, Month and Total transfers
- Changed a bit the Graph form
- Added a Notifier (like MSN Messenger) for "Volume transfer" information
- Added the possibility to customize the Vertical Lines on Graph (10, 20, 30 or 60 seconds)

What do you think about it?

Thanks in advance

Alessandro Fragnani
AnswerRe: Is MyDUMeter "Open Source"? Pin
leppie30-Mar-05 20:26
memberleppie30-Mar-05 20:26 
GeneralRe: Is MyDUMeter "Open Source"? Pin
Alessandro Fragnani10-Apr-05 5:49
memberAlessandro Fragnani10-Apr-05 5:49 
AnswerRe: Is MyDUMeter "Open Source"? Pin
Hadi Fakhreddine9-Apr-05 1:33
memberHadi Fakhreddine9-Apr-05 1:33 
GeneralRe: Is MyDUMeter "Open Source"? Pin
Alessandro Fragnani10-Apr-05 5:46
memberAlessandro Fragnani10-Apr-05 5:46 
GeneralSupport for Windows ME Pin
FrancescoNavarria13-Nov-04 23:42
memberFrancescoNavarria13-Nov-04 23:42 
GeneralRe: Support for Windows ME Pin
JeffHarrold8-Jan-05 16:21
memberJeffHarrold8-Jan-05 16:21 
GeneralIt doesn´t run anymore, after WindowsUpdate Pin
fragnani9-Jun-04 5:29
sussfragnani9-Jun-04 5:29 
GeneralRe: It doesn´t run anymore, after WindowsUpdate Pin
JeffHarrold8-Jan-05 16:15
memberJeffHarrold8-Jan-05 16:15 
GeneralSmall bugette Pin
easyTree14-May-04 4:15
membereasyTree14-May-04 4:15 
GeneralError: The referenced component 'Haxord' could not be found. Pin
woohooooo10-Feb-04 23:07
memberwoohooooo10-Feb-04 23:07 
GeneralRe: Error: The referenced component 'Haxord' could not be found. Pin
leppie27-Feb-04 22:18
memberleppie27-Feb-04 22:18 
GeneralCPU usage Pin
Pradeep D4-Feb-04 23:13
sussPradeep D4-Feb-04 23:13 
GeneralRe: CPU usage Pin
leppie27-Feb-04 22:14
memberleppie27-Feb-04 22:14 
GeneralProgramm doesn't start Pin
Snikit4-Dec-03 14:13
memberSnikit4-Dec-03 14:13 
GeneralRe: Programm doesn't start Pin
JeffHarrold8-Jan-05 16:18
memberJeffHarrold8-Jan-05 16:18 
GeneralMyDUMeter failed to initialize properly... Pin
jackanova18-Aug-03 0:07
sussjackanova18-Aug-03 0:07 
GeneralRe: MyDUMeter failed to initialize properly... Pin
Sacoleiro1-Jun-04 14:10
memberSacoleiro1-Jun-04 14:10 
GeneralRe: MyDUMeter failed to initialize properly... Pin
JeffHarrold8-Jan-05 16:01
memberJeffHarrold8-Jan-05 16:01 
GeneralRe: MyDUMeter failed to initialize properly... Pin
ttevis23-Apr-05 0:33
memberttevis23-Apr-05 0:33 
GeneralRe: MyDUMeter failed to initialize properly... Pin
stormbay4-Dec-05 15:06
memberstormbay4-Dec-05 15:06 
GeneralRe: MyDUMeter failed to initialize properly... Pin
redmaledeer3-Dec-06 12:34
memberredmaledeer3-Dec-06 12:34 
GeneralMajor Suggestion Pin
painless20-Jun-03 22:01
memberpainless20-Jun-03 22:01 
GeneralRe: Major Suggestion Pin
leppie20-Jun-03 22:12
memberleppie20-Jun-03 22:12 
Generalbugs Pin
Peter SJöström20-Feb-03 4:13
memberPeter SJöström20-Feb-03 4:13 
GeneralRe: bugs Pin
leppie20-Feb-03 7:31
memberleppie20-Feb-03 7:31 
GeneralUnhandled exception..Invalid Parameter used Pin
Kant13-Feb-03 13:05
memberKant13-Feb-03 13:05 
GeneralRe: Unhandled exception..Invalid Parameter used Pin
leppie20-Feb-03 7:33
memberleppie20-Feb-03 7:33 
GeneralCool suggestion Pin
mordejai12-Feb-03 8:55
membermordejai12-Feb-03 8:55 
GeneralRe: Cool suggestion Pin
leppie12-Feb-03 9:11
memberleppie12-Feb-03 9:11 
GeneralRe: Cool suggestion Pin
leppie12-Feb-03 10:57
memberleppie12-Feb-03 10:57 
GeneralRe: Cool suggestion Pin
leppie20-Feb-03 7:37
memberleppie20-Feb-03 7:37 
GeneralMachineName on a NT Domain Pin
Swythan12-Feb-03 0:29
memberSwythan12-Feb-03 0:29 
GeneralRe: MachineName on a NT Domain Pin
leppie12-Feb-03 7:17
memberleppie12-Feb-03 7:17 
GeneralRe: MachineName on a NT Domain Pin
Eric Lapouge12-Feb-03 12:00
memberEric Lapouge12-Feb-03 12:00 
GeneralRe: MachineName on a NT Domain Pin
Peter SJöström20-Feb-03 4:07
memberPeter SJöström20-Feb-03 4:07 
GeneralRe: MachineName on a NT Domain Pin
Matt Newman11-Dec-03 16:35
memberMatt Newman11-Dec-03 16:35 
GeneralVery good Pin
Kant10-Feb-03 17:35
memberKant10-Feb-03 17:35 
GeneralRe: Very good Pin
leppie11-Feb-03 6:59
memberleppie11-Feb-03 6:59 
GeneralRe: Very good Pin
Kant13-Feb-03 9:06
memberKant13-Feb-03 9:06 
GeneralRe: Very good Pin
leppie13-Feb-03 9:34
memberleppie13-Feb-03 9:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.160204.4 | Last Updated 11 Feb 2003
Article Copyright 2003 by leppie
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid