Ответ 1
WCF полна отличных инструментов мониторинга и конечных точек расширяемости, которые вы можете использовать или использовать в своем собственном решении.
Вы можете определенно получить некоторый уровень инструментария из коробки, http://msdn.microsoft.com/en-us/library/ms735098(v=vs.110).aspx в этой статье объясняется простое изменение app.config, которое вам нужно публикуйте эти показатели.
Если вам нужна более подробная информация (или просто то, что еще не предусмотрено), вы действительно можете создать IOperationInvoker или IParamterInspector, который вызывается непосредственно перед вызовом метода (в вашей реализации) и сразу после его завершения. Ive использовал это раньше, чтобы добавить контекстную информацию в поток до вызова метода, чтобы проверить, что вызывающий объект передает параметры, которые им разрешено использовать, и оценивать производительность вызова простым временным типом до и после вызова. Зайдите в http://msdn.microsoft.com/en-us/library/System.ServiceModel.Dispatcher(v=vs.110).aspx для списка точек расширяемости в стеке WCF. Удачи.