У меня есть приложение .NET, которое использует пакет Microsoft.TeamFoundationServer.Client для получения данных с сервера TFS.
Когда я запускаю свое приложение в Visual Studio 2017, я вижу в консоли вывода следующую информацию:
Web method running: [http://mytfsserver/tfs/Site/_apis/git/repositories/<repoId>/items?scopePath=%2FMobile.AuthenticationService%2FMobile.AuthenticationService.Tests%2F&recursionLevel=Full&download=False&version=Release] (GET)items[git]
Web method response: [http://mytfsserver/tfs/Site/_apis/git/repositories/<repoid>/items?scopePath=%2FMobile.AuthenticationService%2FMobile.AuthenticationService.Tests%2F&recursionLevel=Full&download=False&version=Release] (GET)items[git] 206 ms
Я пытаюсь устранить проблему с производительностью, когда моему одному и тому же приложению на сервере требуется в два раза больше времени для выполнения отчета, чем локально, и я хотел бы зафиксировать время ответа на запрос, как показано в конце второго сообщения отладки ответа.
Есть ли способ программно записать эти строки отладки? Я знаю, что могу использовать скрипач, но не думаю, что у меня есть разрешения на его установку на свой веб-сервер.
Вот ссылка на существующее поведение вывода отладки VSTS REST API: https://developercommunity.visualstudio.com/content/problem/263288/please-optionally-remove-web-method-running-and-we.html
Вот пример вызова, который приведет к такому выводу:
var changeset = versionControlServer.ArtifactProvider.GetChangeset(new Uri(externalLink.LinkedArtifactUri));
Проблема в том, что API TFS выполняет внутренние запросы. Эти строки отладки берутся из библиотеки. Я думаю об использовании прослушивателя трассировки, такого как stackoverflow.com/questions/1159755/…
Не глядя на код, это трудно понять, но нельзя ли запустить таймер перед передачей API, а затем остановить его после получения ответа?
Я поместил образец запроса в свой исходный пост. Я мог бы попробовать заключить свои звонки в таймер. Спасибо за предложение
Просто попробуйте Инструменты диагностики - инструмент Network в VS, подробности см. В этот блог. Надеюсь, это поможет.
@AdolfoPerez Вы решили проблему? какое-нибудь обновление?





Как насчет использования таймера, как показано в этом посте Проверьте время отклика с помощью httpwebrequest?