title: how to find out what is causing I/O in my application?
body: <p>Good afternoon,</p>
  
  <p>I inherited some C# code from years ago. I have refactored it a bit to be asynchronous.
  Evaluating the impact of my changes on the performance of the CPU, I used <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx" rel="nofollow">Process Explorer</a> to watch, roughly, what my app was doing.
  To my surprise, it appears to be doing what Process Explorer reports as I/O. In general, this is related to Disk I/O or Network I/O.
  Based on what I can see of the code, I can't figure out an explicit call to either of those 2 I/O sources.</p>
  
  <p>My question is: <strong><em>what is the best way to identify which section of code is causing I/O?</em></strong> We use <a href="http://www.jetbrains.com/profiler/" rel="nofollow">dotTrace</a> from JetBrains to profile our application, but, from what I can tell, it only handles CPU and Memory performance.</p>
  
  <p>Thanks in advance for any pointers.</p>
  
  <p>Regards,</p>
  
  <p>Eric.</p>