Просто используйте Stopwatch
:
Stopwatch sw = Stopwatch.StartNew();
webClient.DownloadData(...);
sw.Stop();
Console.WriteLine("Download took {0}ms", sw.ElapsedMilliseconds);
Если вы используете синхронные API, это действительно просто.С асинхронными API-интерфейсами все сложнее, но вам просто нужно обойти секундомер в вашем состоянии.Опять же, это довольно просто, если вы используете анонимный метод или лямбда-выражение для вашего обработчика событий, так как он может захватывать локальную переменную.