Analizar los datos de rendimiento de JavaScript en aplicaciones de la Tienda Windows
Este tema describe los datos de rendimiento para el código de JavaScript que se muestran en las vistas de informes de la herramienta de generación de perfiles de Microsoft Visual Studio Express 2012 para Windows 8. Para recopilar datos de rendimiento de JavaScript, consulta uno de estos temas:
Generar perfiles de código JavaScript en aplicaciones de la Tienda Windows en un equipo local
Generar perfiles de código JavaScript en aplicaciones de la Tienda Windows en un dispositivo remoto
En este tema
Este tema contiene las siguientes secciones:
Viewing performance reports
Tipos de datos de generación de perfiles
Tipos de vistas del informe de generación de perfiles
Vistas del informe de generación de perfiles
Vista Resumen
Vista Detalles de la función
Vista Árbol de llamadas
Vista Llamador y destinatario
Vistas Módulos y Funciones
Personalizar vistas de cuadrícula de datos
Abrir el archivo de informe de generación de perfiles
Cuando detienes una ejecución de generación de perfiles desde el IDE de Visual Studio, los datos de rendimiento aparecen automáticamente en un documento.
Para abrir un archivo de informe de generación de perfiles (.vspx) que se ha generado desde la herramienta de línea de comandos VSPerf o que se ha guardado después de una ejecución de generación de perfiles anterior, sigue este procedimiento:
Si es necesario, abre Visual Studio.
En el menú Archivo, elige Abrir archivo.
En el cuadro de diálogo Abrir archivo, navega hasta la carpeta que contiene el archivo de informe de generación de perfiles y elige el archivo de informe.
Tipos de datos de generación de perfiles
Los datos de generación de perfiles de una función incluyen el tiempo total, promedio, mínimo y máximo, así como los porcentajes. Los datos se calculan para dos conjuntos de valores de tiempo:
Los valores de inclusivo transcurrido son el tiempo total que tardó una función en ejecutarse.
Los valores de exclusivo transcurrido son el tiempo que una función ha tardado en ejecutar solo su propio código. Los valores no incluyen el tiempo dedicado a funciones secundarias.
Tipos de vistas del informe de generación de perfiles
Las vistas de los informes de generación de perfiles muestran los datos de dos maneras:
Las vistas de gráfico de llamadas muestran información sobre las funciones en el contexto de las rutas de acceso de ejecución. El árbol Ruta de acceso activa de la ventana Resumen muestra la ruta de acceso de ejecución donde la aplicación pasó más tiempo acumulado durante la ejecución de generación de perfiles. La vista Árbol de llamadas es un gráfico de llamadas para todas las funciones de la ejecución de generación de perfiles. Las vistas Detalles de la función y Llamador y destinatario se centran en la función seleccionada. Muestran las funciones que la llamaron y aquellas a las que esta llamó. Las vistas de gráfico de llamadas ayudan a detectar problemas de rendimiento en los algoritmos.
Las vistas de lista de función ordenan y enumeran las funciones según la columna de datos seleccionada. La lista Funciones con la mayor parte del trabajo individual de la página Resumen muestra las funciones que pasaron más tiempo ejecutando su propio código, excluido el tiempo que dedicó a llamar a funciones secundarias. La vista Módulos agrupa las funciones según el archivo de origen para el código de JavaScript, y según el módulo para los demás lenguajes. La vista Funciones es una sola lista de funciones.
Vistas del informe de generación de perfiles
Vista Resumen
La página Resumen proporciona dos vistas de los datos de generación de perfiles que, a menudo, te indicarán cuáles son los mejores candidatos para optimizar su rendimiento.
El árbol Ruta de acceso activa muestra la pila de llamadas en la que la aplicación pasó acumulativamente más tiempo durante la ejecución de generación de perfiles. Entender el motivo por el cual este algoritmo tarda tanto puede ayudarte a optimizarlo.
La lista Funciones con la mayor parte del trabajo individual presenta las diez funciones que han utilizado más tiempo exclusivo. Puedes mejorar mucho el rendimiento rápidamente optimizando el código de la función o reduciendo cuántas veces se la llama.
Vista Detalles de la función
El gráfico de barras Distribución del costo representa las relaciones entre la función seleccionada y las funciones de llamada que la han ejecutado. También indica las relaciones entre la función seleccionada y aquellas a las que llamó.
La barra Funciones de llamada muestra las funciones que llamaron a la función seleccionada. El tamaño del bloque de la función de llamada indica el porcentaje de tiempo de ejecución total de la función seleccionada que es atribuible a la función de llamada.
La barra Función seleccionada indica la cantidad relativa del tiempo de ejecución total que la función seleccionada dedicó a ejecutar su propio código (el bloque Cuerpo de función) y el que dedicó a ejecutar las funciones a las que llamó.
La barra Funciones llamadas muestra las funciones a las que llamó la función seleccionada. El tamaño del bloque de la función llamada indica el porcentaje del tiempo de ejecución total de esta función que se dedicó a ella.
Vista Árbol de llamadas
Puedes usar la vista Árbol de llamadas para explorar las rutas de acceso de ejecución de funciones que se recorrieron en la aplicación. La raíz del árbol es el punto de entrada a la aplicación. Cada nodo de función muestra todas las funciones a las que llamó, así como los datos de rendimiento de esas llamadas a funciones. Los valores de las funciones en la vista Árbol de llamadas se refieren a las instancias de la función a las que llamó la función primaria en el árbol de llamadas. Los valores de porcentaje son la proporción del tiempo del valor de las instancias de la función respecto al tiempo total transcurrido en la ejecución de generación de perfiles.
Para centrarte en un nodo de la vista Árbol de llamadas, selecciónalo y elige Establecer raíz en el menú contextual. Al establecer el nodo raíz, se eliminan todas las demás entradas de la vista, excepto el subárbol del nodo seleccionado. Para restablecer el nodo raíz en el nodo original, elige Restablecer raíz en el menú contextual.
Columnas de la vista Árbol de llamadas
Nombre de columna |
Descripción |
---|---|
Número de llamadas |
Número de llamadas a la función realizadas por la función primaria en el árbol de llamadas. |
Porcentaje de tiempo inclusivo transcurrido |
Porcentaje total de tiempo de ejecución dedicado a ejecutar esta función. |
Porcentaje de tiempo exclusivo transcurrido |
Porcentaje total de tiempo de ejecución dedicado a ejecutar el cuerpo de una función. Excluye el tiempo dedicado a las funciones que la función llamó. |
Promedio de tiempo inclusivo transcurrido |
Tiempo medio dedicado a ejecutar esta función. |
Promedio de tiempo exclusivo transcurrido |
Tiempo medio dedicado a ejecutar esta función. Excluye el tiempo dedicado a las funciones que la función llamó. |
Nombre del módulo |
Para funciones de JavaScript, nombre del archivo de origen que contiene la función. En los demás casos, nombre del módulo (.dll o .exe) que contiene la función. |
Vista Llamador y destinatario
La vista Llamador y destinatario es una representación de árbol de los datos del gráfico de barras Distribución del costo de Detalles de la función de la vista Resumen, que incluye todos los detalles de tiempo. La vista Llamador y destinatario es útil para investigar la relación entre la función seleccionada y aquellas que la llamaron o a las que esta llamó. La vista Llamador y destinatario se compone de tres cuadrículas.
La Función actual que aparece en la cuadrícula central muestra información de generación de perfiles acerca de la función seleccionada. Los valores incluyen todas las llamadas a la función. Las Funciones que llamaron a la función actual aparecen en la cuadrícula superior y las Funciones llamadas por la función actual, en la inferior. Los valores de la función actual son los totales de todas las llamadas a la función. Los valores de las funciones que llaman y a las que se llama solo incluyen el tiempo que se dedicó a llamar a la función seleccionada o a recibir una llamada de esta última.
Para navegar por los árboles de llamadas de una función, haz doble clic en una función que llama o a la que se llama. La función en la que se hace doble clic será la nueva función seleccionada. Sus llamadores y las funciones llamadas están visibles.
Columnas de la vista Llamador y destinatario
Nombre de columna |
Descripción |
---|---|
Número de llamadas |
|
Porcentaje de tiempo inclusivo transcurrido |
|
Porcentaje de tiempo exclusivo transcurrido |
|
Promedio de tiempo inclusivo transcurrido |
|
Promedio de tiempo exclusivo transcurrido |
|
Nombre del módulo |
Para funciones de JavaScript, nombre del archivo de origen que contiene la función. En los demás casos, nombre del módulo (.dll o .exe) que contiene la función. |
Vistas Módulos y Funciones
Las vistas Módulos y Funciones muestran los detalles de los datos de generación de perfiles de las funciones del informe de generación de perfiles. La vista Módulos organiza las funciones de JavaScript según el archivo de origen .js que las contiene. Las demás funciones se enumeran según su módulo, como un archivo .dll. La vista Función enumera todas las funciones sin utilizar ninguna jerarquía. Suele resultar más fácil encontrar tu propio código en la vista Módulos que en la vista Funciones. Sin embargo, en esta última te será más fácil comparar funciones.
Columnas de las vistas Módulos y Funciones
Nombre de columna |
Descripción |
---|---|
Número de llamadas |
Número de llamadas a la función. |
Porcentaje de tiempo inclusivo transcurrido |
Porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles dedicado a ejecutar la función. |
Porcentaje de tiempo exclusivo transcurrido |
Porcentaje del tiempo de ejecución total dedicado a ejecutar la función. Este valor excluye el tiempo dedicado en las funciones a las que llamó la función. |
Promedio de tiempo inclusivo transcurrido |
Promedio de tiempo de ejecución de la función. |
Promedio de tiempo exclusivo transcurrido |
Promedio de tiempo de ejecución de la función. Este valor excluye el tiempo dedicado a las funciones que la función ha llamado. |
Nombre del módulo |
Para funciones de JavaScript, nombre del archivo de origen que contiene la función. En los demás casos, nombre del módulo (.dll o .exe) que contiene la función. |
Personalizar vistas de cuadrícula de datos
Puedes agregar o quitar columnas de datos y cambiar el orden en que se muestran. Haz clic con el botón secundario en una fila de datos y elige Agregar o quitar columnas.
Nota
Cuando se usa el método de instrumentación para el código administrado y nativo, se recopila información adicional sobre la ejecución de código y se muestra en los campos de tiempo inclusivo de aplicación y exclusivo de aplicación. Esta información no está disponible en JavaScript, de modo que los valores de tiempo de aplicación son iguales que los valores de tiempo transcurrido. No se recomienda agregar estos campos a una vista.
Columnas de datos de generación de perfiles adicionales
Nombre de columna |
Descripción |
---|---|
Nombre de la función |
Nombre de la función. |
Dirección de la función |
Dirección de la función. |
Número de línea de función |
Número de línea del inicio de esta función en el archivo de origen. |
Número de llamadas |
Número total de llamadas realizadas a esta función. |
Archivo de código fuente |
Archivo de origen que contiene la definición de esta función. |
Nombre del módulo |
Nombre del módulo que contiene la función. |
Ruta de acceso del módulo |
Ruta de acceso del módulo que contiene la función. |
Id. de proceso |
Identificador de proceso (PID) de la ejecución de generación de perfiles. |
Nombre del proceso |
Nombre del proceso. |
Sobrecarga de tiempo exclusiva por sondeos |
Sobrecarga de tiempo para esta función debida a la instrumentación. No incluye la sobrecarga de las funciones a las que llamó la función. La sobrecarga por sondeos se ha restado de todos los tiempos exclusivos. |
Sobrecarga de tiempo inclusiva por sondeos |
Sobrecarga de tiempo para esta función y sus funciones secundarias debida a la instrumentación. Incluye la sobrecarga de las funciones a las que llamó la función. La sobrecarga por sondeos se ha restado de todos los tiempos inclusivos. |
Tiempo exclusivo transcurrido |
Tiempo exclusivo total transcurrido para todas las llamadas a esta función. |
Tiempo exclusivo máximo transcurrido |
Tiempo exclusivo máximo transcurrido de una llamada a esta función. |
Tiempo exclusivo mínimo transcurrido |
Tiempo exclusivo mínimo transcurrido de una llamada a esta función. |
Tiempo inclusivo transcurrido |
Tiempo inclusivo total transcurrido para todas las llamadas a esta función. |
Tiempo inclusivo máximo transcurrido |
Tiempo inclusivo máximo transcurrido de una llamada a esta función. |
Tiempo inclusivo mínimo transcurrido |
Tiempo inclusivo mínimo transcurrido de una llamada a esta función. |