2009-11-08 21 views
11

Jestem zainteresowany tym, ile czasu poświęcam na budowanie moich projektów każdego dnia. Czy istnieje jakieś istniejące narzędzie, które zapewnia takie statystyki?Visual Studio Statystyki kompilacji

Dzięki!

+0

Co masz na myśli przez „ile czasu spędziłem na budowaniu ..”? Masz na myśli od czasu, gdy zacząłeś klikać "budować" do czasu, w którym zostało ukończone (bezskutecznie, czy nie)? –

+0

Tak, dokładnie tak. – Danra

Odpowiedz

11

MSBuild (który VisualStudio wykorzystuje do kompilacji) może dostarczyć ci tych informacji. Uwzględnić w msbuild.exe zadzwonić przełącznik PerformanceSummary:

 
msbuild.exe your.sln /clp:PerformanceSummary ... 

To daje coś takiego na koniec dzienniku budowy run:

 
Project Performance Summary: 
     374 ms your.sln 1 calls 

Target Performance Summary: 
... 
     109 ms GetWinFXPath        1 calls 
     156 ms EntityDeploy        1 calls 
     390 ms Build          2 calls 
... 
Time Elapsed 00:00:00.43 

Jeśli chcesz plik zawierający tylko ten informacje, zamiast napisane na swojej konsoli, można użyć tego przełącznika (z pliku dziennika ustawiony na jakiś path):

 
/logger:FileLogger,Microsoft.Build.Engine;logfile=perf.log;encoding=Unicode;performancesummary 
+0

Świetna odpowiedź! Czy mimo to można zmienić parametry msbuild.exe w Visual Studio IDE? Przypuszczam, że mógłbym zastąpić oryginalny msbuild.exe skryptem, który uruchamia oryginalny msbuild.exe z niektórymi parametrami, ale musi być czystszy sposób? – Danra

+2

Sam znalazłem odpowiedź. http://msdn.microsoft.com/en-us/library/ms404301.aspx Dzięki! – Danra

3

Jest zbudować zdarzenie, można z nich korzystać, można również uruchomić skrypt wsadowy przed i po budowie echo czas >> nazwa_pliku

a następnie renderować plik i dostać swoje statystyki.

(goto budować wydarzenia na stronie właściwości projektu)

+0

Wiem, że mogę to napisać, pytałem, czy istnieje * istniejące * narzędzie/skrypt, którego mogę użyć, najlepiej zintegrowane z IDE ... – Danra

+1

Zgaduję, że można napisać zadanie kompilacji i podłączyć je do środowiska , ale nie wiem o tym, który oblicza czasy budowy. Rozejrzę się, codeproject może mieć coś. – Dani

0

Jeśli było użyć ciągłych narzędzia integracyjne jak Cruise lub Cruise.NET, narzędzia te zrobić bardzo dobrą robotę pokazując takie dane, jak czas budować, średni czas kompilacji itp.

+0

To faktycznie pokonałoby cel, ponieważ interesuje mnie, ile * interaktywnego * czasu idzie na marnowanie - to znaczy, kompilacje wykonuję ręcznie, aby przetestować zmiany w kodzie. Naprawdę nie znam tempomatu, więc może brakuje mi niektórych jego możliwości. – Danra

Powiązane problemy