I have found several that measures total bandwidth but none that tells me bandwidth per application. Preferably with some history or logging.
I'm using Windows Server 2008 R2
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
Have you looked at the built in Resource Monitor?
You can filter per process, and see various metrics such as number of connections and bandwidth usage.
NetLimiter is what you're after. Not only does it allow you to view bandwidth usage per-application, but you can also limit certain connections. It also has various logging options and comes in a free, lite, and pro version.
NetLimiter is an ultimate internet traffic control and monitoring tool designed for Windows. You can use NetLimiter to set download/upload transfer rate limits for applications or even single connection and monitor their internet traffic.
Along with this unique feature, Netlimiter offers comprehensive set of internet statistical tools. It includes real-time traffic measurement and long-term per-application internet traffic statistics.
A caveat for all of these answers: if your machine has been infected with a rootkit, you may not see the offending process(es) at all. Rootkits can alter the kernel to remove processes from the OS's view. These bandwidth monitoring tools will then not see them.
You could run something like Wireshark on this machine and route all of its traffic through another device (perhaps another machine monitoring inbound traffic with Wireshark also). By comparing the difference in bandwidth reported by the two machines you could determine if there are processes consuming bandwidth which are hidden from the OS.
If you are troubleshooting an issue with high usage a quick wireshark capture should make it pretty obvious. You stand to learn quite a bit in the process also.
You can give this free product a shot. According to its description it fulfills your requirements.
Bandwidth monitoring is described here.
CS Fire Monitor is a comprehensive monitoring tool for the Windows 2000, XP, 2003, Vista & 2008 platforms. It has an extensive range of live monitoring screens that capture data from many areas within a PC and since the application has its own inbuilt database it is also capable of producing a number of reports which can be saved in a variety of ways.
The bandwidth monitor detects all connections on the system and monitors the amount of data going to and from each connection. Displaying current send speed and receive speed of each connection. The monitor also stores the amount of data into the stats database. Allowing reports to show how much data has been sent and received for the past year.