Esta semana he tenido que trabajar con resultados de pruebas de rendimiento de Visual Studio, hasta aqui todo normal, pero..

  • Las pruebas se han realizado con VSTS 2008 y yo queria analizarlas desde VSTS 2010
  • Los resultados están disponibles en un entorno sin acceso físico y con ancho de banda limitado
  • No es posible actualizar a VSTS2010 en el entorno de pruebas

Asi que la única forma consistia en extraer los resultados desde la base de datos, pero eran 10GB de mdf !!

Antes de nada, realicé un backup, y comprimi con RAR, y voila, los 10G se quedaron en menos de 180MB. ;-)

Una vez en restaurada la base de datos, la primera forma de intentar acceder era con el plugin de excel, pero al intentar acceder a la base de datos, se quejaba de la versión. Efectivamente al restarurar la base de datos, habia restaurado el esquema de VSTS 2008, afortunadamente este esquema se puede actualizar con el script: UpgradeLoadTestResultsRepository.sql

\Microsoft Visual Studio 10.0\Common7\IDE\UpgradeLoadTestResultsRepository.sql

Con el esquema actualizado, ya se puede acceder a con Excel, pero sólo a los datos resumidos, pero para realizar un análisis más exhaustivo necesitaba abrir los resultados desde VS 2010. La única forma que conozco es a partir de un fichero TRX que apunte a la base de datos con los resultados. Asi que buscando en los trx, se puede encontrar el atributo resultRepositoryConnectString con el valor de la cadena de conexión:

/TestRun/Results/LoadTestResult/@resultRepositoryConnectString

desafortunadamente este valor está cifrado, por lo que para cambiar el original, que apuntaba a la base de datos del entorno de pruebas, no es tan sencillo como modificar el nombre del servidor/instancia de SQL.

Asi que para conseguir una cadena de conexión válida, no se me ocurre otra forma que ejecutar un LoadTest contra la misma instancia de la BBDD y exportar el trx para buscar el valor correcto de la cadena de conexión. Pero he tenido que modificar 20 ficheros a manubrio (si hubiesen sido 50 seguro que habia escrito un script.

Finalmente he podido acceder a todos los resultados accediendo desde los trx, y siempre me queda la duda de si hay más resultados en la base de datos, pero no puedo acceder a ellos.

Por cierto, después de realizar todo esto, me acordé de que era posible exportar los TestRuns usando los ficheros .ltrar !! Lo que no he probado es exportar un ltrar con VS2008 e importarlo de nuevo con VS2010.. ¿alguién lo ha intentando?