2009-11-08 26 views
11

Me interesa saber cuánto tiempo dedico a desarrollar mis proyectos todos los días. ¿Hay alguna herramienta existente que proporcione tales estadísticas?Visual Studio Estadísticas de compilación

Gracias!

+0

¿Qué quiere decir por "la cantidad de tiempo invertido en la construcción .."? ¿Quiere decir desde el momento en que comenzó a hacer clic en "compilar" hasta el momento en que se completó (independientemente de si tuvo éxito o no)? –

+0

Sí, exactamente eso. – Danra

Respuesta

11

MSBuild (lo que VisualStudio usa para compilar) puede proporcionarle esta información. Incluir en su msbuild.exe llamar el interruptor PerformanceSummary:

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

que le dará algo como esto al final de su registro de generación de ejecución:

 
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 

Si desea un archivo que contiene sólo esto información, en lugar de haber escrito a la consola, puede utilizar este interruptor (con archivo de registro se establece en alguna ruta):

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

¡Gran respuesta! ¿Hay alguna forma de cambiar los parámetros de msbuild.exe en el estudio visual IDE? Supongo que podría reemplazar el msbuild.exe original con una secuencia de comandos que ejecuta el msbuild.exe original con algunos parámetros, pero debe haber una manera más limpia? – Danra

+2

Encontré la respuesta yo mismo. http://msdn.microsoft.com/en-us/library/ms404301.aspx Gracias! – Danra

3

Hay construir evento, puede usarlos, también puede ejecutar un archivo por lotes antes y después de una acumulación de tiempo de eco >> nombre

y luego procesar el archivo y obtener sus estadísticas.

(Goto crear eventos en la página de propiedades del proyecto)

+0

Sé que puedo guiarlo, me preguntaba si existe una * herramienta */script que pueda usar, preferiblemente integrada en el IDE ... – Danra

+1

Creo que se puede escribir una tarea de compilación y conectarla al entorno , pero no sé de uno que calcula los tiempos de construcción. Miraré alrededor, el proyecto de código podría tener algo. – Dani

0

Si se va a utilizar herramientas de integración continua como cruceros o Cruise.NET, estas herramientas hacen un muy buen trabajo de mostrar métricas como los tiempos de construcción, los tiempos medios de construcción etc.

+0

Esto en realidad sería contrario al propósito, ya que estoy interesado en cuánto tiempo * interactivo * se desperdicia, es decir, las compilaciones que realizo manualmente para probar los cambios en el código. No conozco el Cruise Control, así que tal vez me faltan algunas de sus capacidades. – Danra

Cuestiones relacionadas