WCF имеет множество счетчиков производительности - см. Документы MSDN по этой теме или ознакомьтесь с Как использовать счетчики производительности WCF для получения отчета о том, как их использовать.
Другой вариант - включить трассировка WCF - вы получите довольно подробные отчеты о том, как ваши сообщения проходили через систему, включая временные метки. Основываясь на этих битах, вы сможете определить время, проведенное в сети и т. Д. Существует довольно приятный инструмент WCF Trace Viewer , который позволяет довольно легко проверять эти файлы трассировки.
Другой вариант - использовать заголовки, например, Поля DateTime: добавьте первый заголовок («ClientOut») на клиенте так же, как отправляется сообщение, и добавьте еще (например, «ServerIn», «ServerOut») на сервере, а затем снова последний на клиенте ( "ClientBackIn"). Если вы запишите фактическую дату / время, вы сможете просмотреть эти заголовки и увидеть некоторую информацию о том, сколько времени затрачивается на поездку между клиентом и сервером. Вы можете создать расширение инспектора сообщений для WCF, чтобы сделать что-то вроде этого.