Compartir a través de


Analizar los datos de control de tiempo de función de JavaScript en aplicaciones de la Tienda

Se aplica solo a Windows

En este tema se describen los datos de rendimiento de código JavaScript que se presentan en las vistas de informe de la herramienta Control de tiempo de función de JavaScript en el hub Rendimiento y diagnósticos. Para recopilar datos de control de tiempo de función de JavaScript, consulte uno de estos temas:

En este tema

Abrir un archivo de informe de generación de perfiles

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 un 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:

  1. Si es necesario, abre Visual Studio.

  2. En el menú Archivo, elige Abrir archivo.

  3. 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

  • Para la función seleccionada, número total de llamadas a la función durante la ejecución de generación de perfiles.

  • Para una función que llama, número de llamadas que esta realiza a la función seleccionada.

  • Para una función llamada, número de llamadas que le hace la función seleccionada.

Porcentaje de tiempo inclusivo transcurrido

  • Para la función seleccionada, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles que utilizó la función seleccionada. El valor incluye el tiempo dedicado en las funciones a las que llamó la función seleccionada.

  • Para una función que llama, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles utilizado por las instancias de dicha función que llamaron a la función seleccionada.

  • Para una función a la que se llama, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles utilizado por las instancias de dicha función a las que llamó la función seleccionada.

Porcentaje de tiempo exclusivo transcurrido

  • Para la función seleccionada, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles que utilizó la función seleccionada. El valor excluye el tiempo dedicado en las funciones a las que llamó la función seleccionada.

  • Para una función de llamada, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles que utilizaron las instancias de dicha función que llamaron a la función seleccionada, incluido el tiempo dedicado a las funciones a las que llamó la función de llamada.

  • Para una función llamada, porcentaje del tiempo de ejecución total de la ejecución de generación de perfiles que utilizaron las instancias de dicha función a las que llamó la función seleccionada, incluido el tiempo dedicado a las funciones a las que llamó la función llamada.

Promedio de tiempo inclusivo transcurrido

  • Para la función seleccionada, promedio de tiempo de todas las instancias de la función seleccionada.

  • Para la función de llamada, promedio de tiempo de todas las instancias de dicha función que llamaron a la función seleccionada.

  • Para una función llamada, promedio de tiempo de todas las instancias de dicha función a las que llamó la función seleccionada.

Promedio de tiempo exclusivo transcurrido

  • Para la función seleccionada, promedio de tiempo de todas las instancias de la función seleccionada. Este valor excluye el tiempo dedicado en las funciones a las que llamó la función seleccionada.

  • Para una función de llamada, promedio de tiempo de todas las instancias de dicha función que llamaron a la función seleccionada, excluido el tiempo dedicado a las funciones a las que llamó la función de llamada.

  • Para una función llamada, promedio de tiempo de todas las instancias de dicha función a las que llamó la función seleccionada, excluido el tiempo dedicado a las funciones a las que llamó la función llamada.

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.

NotaNota

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.