Monitor de diagnóstico

El Monitor de diagnóstico es un servicio de diagnóstico integrado dentro de ArcGIS Pro. La información sobre el estado, los registros y los eventos se presenta y actualiza de forma continua en el Monitor de diagnóstico mientras ArcGIS Pro se está ejecutando. El Monitor de diagnóstico contiene un conjunto de pestañas e indicadores de estado. El Monitor de diagnóstico incluye actualmente las pestañas Contador, Tareas y Registro.

La información que aparece en el cuadro de diálogo Monitor de diagnóstico se puede utilizar para ayudar a diagnosticar varios problemas relacionados con las aplicaciones, entre los que se incluyen condiciones en las que las aplicaciones dejan de responder, el consumo excesivo de recursos, los fallos de funciones y la pérdida de rendimiento.

Descripción general del Monitor de diagnóstico

Nota:

El Monitor de diagnóstico está disponible en todos los productos basados en ArcGIS Pro y no se debe confundir con ArcGIS Monitor.

Habilitar el Monitor de diagnóstico

El Monitor de diagnóstico se puede iniciar mediante el acceso directo del teclado Ctrl+Alt+M, o bien iniciando ArcGIS Pro con el conmutador de línea de comandos /enablediagnostics. En este último caso, el cuadro de diálogo del Monitor de diagnóstico primero se minimiza en la barra de tareas Microsoft Windows.

Para solucionar un flujo de trabajo concreto con el Monitor de diagnóstico, abra el monitor antes de trabajar en el área del problema. Para configurar el cuadro de diálogo del Monitor de diagnóstico de modo que permanezca encima de todas las demás ventanas en ArcGIS Pro, haga clic con el botón derecho en el área del título del cuadro de diálogo y haga clic en Siempre arriba. Esto puede ser útil cuando se desea monitorizar con detenimiento la actividad en el Monitor de diagnóstico mientras se utilizan distintas entidades de la aplicación.

Descripción general de la arquitectura de ArcGIS Pro

ArcGIS Pro es una aplicación modular multiproceso de 64 bits. Los subsistemas funcionales se cargan bajo demanda y realizan trabajos (como calcular una zona de influencia o renderizar un mapa) en subprocesos de trabajador o en procesos de trabajador separados. En la mayoría de los casos, los tramos lógicos del trabajo (operaciones) se organizan en una o varias tareas durante la ejecución. Las tareas son fundamentales en lo que respecta a cómo se hacen las cosas en ArcGIS Pro, y se resaltan de forma destacada en el Monitor de diagnóstico.

Un subproceso dedicado es responsable de representar los elementos de la interfaz de usuario de la aplicación y de procesar las entradas del usuario en forma de entrada de teclado y clics del ratón. Mientras se ejecuta una operación en uno de los subprocesos de trabajador, el subproceso de la interfaz gráfica de usuario (GUI) proporciona comentarios relevantes sobre el progreso de la operación, así como un medio para cancelar la operación, si corresponde. El Monitor de diagnóstico se ejecuta en un subproceso especial independiente de la GUI. Esto permite que el cuadro de diálogo del Monitor de diagnóstico siga siendo dinámico incluso si el subproceso de GUI se bloquea.

Los subprocesos de trabajador de ArcGIS Pro están divididos en familias dedicadas a áreas funcionales específicas.

  • Subprocesos en primer plano: un conjunto de cuatro subprocesos de trabajador que regula el Modelo de información cartográfica (CIM), el repositorio principal del estado de configuración dentro del proyecto cargado actualmente. Estos subprocesos también ayudan a acelerar el renderizado del mapa. Algunos tipos de interacciones de usuario están prohibidos mientras las operaciones se ejecutan en subprocesos en primer plano.
  • Subprocesos en segundo plano: estos subprocesos realizan una amplia variedad de operaciones que no dependen del estado del CIM y se pueden ejecutar de forma independiente en segundo plano mientras el usuario realiza otras acciones. Las tareas asignadas a los subprocesos en segundo plano de alta prioridad se ejecutan más rápidamente y tienen prioridad sobre las tareas asignadas a los subprocesos en segundo plano de baja prioridad. El subproceso de segundo plano compartido se utiliza para casos especiales en los que los conjuntos de tareas se deben ejecutar en el mismo subproceso a lo largo del tiempo.
  • Subprocesos de geoprocesamiento: este subproceso se utiliza para realizar operaciones de geoprocesamiento en segundo plano. Internamente, el subproceso de geoprocesamiento suele colaborar con otros subprocesos para completar la operación.
Descripción general de los subprocesos utilizados en el Monitor de diagnóstico

Área de estado

El área de Estado contiene indicadores de Estado e indicadores de Actividad del subproceso. Los indicadores de Estado muestran distintos colores en función del estado actual de la aplicación. Son útiles para acotar los problemas que ocurren dentro de la aplicación. Los indicadores de Actividad del subproceso muestran colores basados en el estado de los subprocesos correspondientes.

Indicadores de estado

Indicadores de estado en el Monitor de diagnóstico

ElementoDescripción
1

El rojo indica que el subproceso de GUI ya no envía mensajes y no puede responder a la entrada del ratón o del teclado; los gráficos de la interfaz de usuario pueden renderizar de forma incorrecta cuando el subproceso de GUI no responde. Los eventos de falta de respuesta se registran en el Registro de no respuesta.

2

El amarillo indica que la tarea activa no tiene un indicador de progreso asociado y, por lo tanto, el usuario recibe comentarios inadecuados mientras se ejecuta la tarea. Las tareas asociadas también se marcan en amarillo en el registro de tareas cuando se detecta esta condición.

3

El amarillo indica que la tasa de emisión de las tareas es de más de 10 por segundo.

4

Verde si una o más solicitudes HTTP están activas actualmente dentro de la aplicación.

5

Verde si actualmente se está ejecutando una tarea en el subproceso en primer plano. Es posible que varios botones y herramientas no estén disponibles mientras se ejecutan tareas en primer plano.

6

Amarillo si una vista (normalmente con un mapa, globo, escena o diseño) está ocupada en ese momento. Es posible que varios botones y herramientas no estén disponibles mientras una vista está ocupada.

7

Amarillo si un panel está ocupado actualmente. Es posible que varios botones y herramientas no estén disponibles mientras un panel está ocupado.

8

Amarillo si una tarea se atasca debido a operaciones relacionadas con el dibujo ejecutadas actualmente en uno de los subprocesos en primer plano. Es posible que varios botones y herramientas no estén disponibles mientras la aplicación está esperando.

9

Una tarea se atasca mientras se reanuda una operación de dibujo previamente suspendida. Es posible que varios botones y herramientas no estén disponibles mientras se reanuda la aplicación.

10

El verde indica que se está ejecutando una operación de geoprocesamiento. Este indicador se iluminará independientemente de si se trata de una operación de geoprocesamiento en segundo o en primer plano.

Indicadores de actividad del subproceso

Cada uno de los subprocesos mencionados anteriormente tiene un indicador de actividad correspondiente dentro del área de estado del Monitor de diagnóstico. Los indicadores de estado del subproceso están en verde si el subproceso asociado se está ejecutando actualmente, y en gris si el subproceso está inactivo (suspendido). Los indicadores de estado del subproceso pueden aparecer en gris oscuro si la CPU del equipo host no tiene núcleos suficientes para admitir subprocesos adicionales.

Pestañas del Monitor de diagnóstico

El Monitor de diagnóstico consta de las pestañas Contador, Tareas y Registro. La pestaña Contador enumera los contadores internos. La pestaña Tareas muestra las tareas recientes. La pestaña Registro muestra un visor de registro de eventos.

Pestaña Contador

La pestaña Contador consta de una lista de contadores internos con nombre. Cada contador está vinculado al gráfico que se encuentra sobre la lista. Cuando se selecciona un contador determinado de la lista, el gráfico se actualiza para mostrar los valores históricos de ese contador a lo largo de los últimos 20 segundos.

Pestaña Contador en el Monitor de diagnóstico

Dentro de la lista de contadores hay métricas útiles que muestran cosas como el consumo de memoria, el recuento de subprocesos, el recuento de solicitudes HTTP y el recuento de DLL cargadas. Algunos contadores requieren una explicación adicional:

  • Tasa de tareas actual: la tasa actual a la que las tareas se ponen en cola en los subprocesos en primer plano. Un número alto puede indicar que se emite un número de tareas innecesariamente elevado para realizar la operación. Las operaciones con un gran número de tareas pueden ser menos eficientes.
  • Contadores CIM: estos contadores se utilizan para registrar el recuento total de operaciones de lectura y escritura del CIM. Las lecturas y escrituras relacionadas con el dibujo se cuentan por separado. Dado que cada operación tiene una sobrecarga asociada, los saltos más pequeños son preferibles a los saltos más grandes dentro de un intervalo de tiempo determinado.
  • Contadores de solicitudes: estos contadores están reservados para uso interno.

Pestaña Tareas

La pestaña Tareas contiene un registro de las tareas emitidas recientemente por la interacción del usuario, y otro registro para cualquier condición sin respuesta ocurrida en el subproceso de GUI.

Tareas en el Monitor de diagnóstico

Registro de tareas de UI recientes

El registro de tareas de UI recientes proporciona un registro de las tareas más recientes emitidas en respuesta a las interacciones del usuario. Debido a la sobrecarga asociada con la identificación de funciones de tarea, este registro no está disponible cuando se cierra el cuadro de diálogo del Monitor de diagnóstico. De forma predeterminada, las tareas se ordenan en orden cronológico con la tarea ejecutada más recientemente en la parte superior de la lista. Las tareas internas (en cola desde dentro de una tarea externa en ejecución) no aparecen en esta lista. Las tareas que se encuentran en cola o que se están ejecutando actualmente se muestran en verde. Cada tarea tiene un conjunto de propiedades asociado:

  • N.º de tarea : un número que indica la secuencia de ejecución de una tarea; por ejemplo, la tarea n.º 42 indicaría la cuadragésima segunda tarea ejecutada en el proceso en ejecución.
  • Hora de puesta en cola: hora de reloj a la que la tarea se puso en cola originalmente. Las tareas iniciadas mientras se sigue ejecutando otra tarea siguen en cola y no comenzarán a ejecutarse hasta que la tarea actual se haya completado. Normalmente, los botones y controles se deshabilitan mientras se ejecuta una tarea en primer plano, para evitar que se ponga en cola tareas adicionales mientras se realiza la transición del estado de la aplicación.
  • Tiempo de tarea: la cantidad de tiempo en milisegundos asociado a la ejecución real de la tarea.
  • Tiempo de reanudación: el tiempo invertido en esperar, en milisegundos, a que se complete la reanudación de un dibujo.
  • Tiempo de espera: el tiempo invertido en esperar, en milisegundos, a que finalicen las operaciones relacionadas con el dibujo.
  • Tiempo total: el tiempo total necesario, en milisegundos, para ejecutar la tarea, desde el momento en que la tarea se puso en cola hasta el momento en que se completa la tarea (incluido cualquier tiempo asociado a la reanudación del dibujo).
  • Función: el nombre de la función más externa mejor asociada con la tarea.

Las tareas que están en cola o que se están ejecutando muestran -1 en sus valores de tiempo. El tiempo real se mostrará en milisegundos cuando se complete o se cancele la tarea.

Se utiliza una heurística para mostrar la función más relevante para la tarea en cola. La heurística atraviesa la pila de llamada buscando un marco que contenga funciones ajenas al SO.

El Registro de tareas de IU reciente se puede ordenar desde cualquier columna, en orden ascendente o descendente. Esta capacidad se puede utilizar para identificar rápidamente, por ejemplo, la tarea con el tiempo de ejecución más largo. El contenido del registro se puede copiar al portapapeles o borrar haciendo clic con el botón derecho en cualquier parte de la lista y haciendo clic en Copiar o Borrar, respectivamente.

Registro sin respuesta

Cada vez que el subproceso de la GUI no responde, se registrará un evento de no respuesta con la hora de inicio y la duración total. El contenido de este registro se puede copiar al portapapeles haciendo clic con el botón derecho en cualquier parte de la lista y haciendo clic en Copiar.

Pestaña Registro

La pestaña Registro es un visor de registro de eventos en directo con funcionalidades de ordenación y filtrado. Cuando se ejecuta en modo de diagnóstico, varios subsistemas dentro de ArcGIS Pro escribirán información de diagnóstico en el registro de eventos. El modo de diagnóstico se puede habilitar mediante un argumento de línea de comandos; sin embargo, también se habilita automáticamente cuando se muestra el Monitor de diagnóstico.

La pestaña Registro en el Monitor de diagnóstico

Hay cuatro tipos de evento:

  • Error: utilizado para indicar fallos significativos durante la ejecución de la operación
  • Advertencia: menos grave y, en ocasiones, se puede ignorar
  • Información: emitido para proporcionar información contextual adicional acerca de la operación en ejecución
  • Depuración: información de implementación detallada, principalmente destinada al personal de Esri

Los tipos de evento se pueden filtrar en la lista usando las casillas de verificación correspondientes en la parte superior de la lista. Debido a su importancia, los eventos de error siempre se incluyen en la lista y no se pueden filtrar. La entrada del filtro se puede utilizar para ser más selectiva. Cuando se introduce texto aquí, solo se muestran los eventos en los que al menos una de las columnas contiene ese texto (sin distinción entre minúsculas y mayúsculas).

El número total de eventos de coincidencia se muestra en la parte superior derecha de la pestaña Registro.

Archivos de registro

Los archivos de registro se generan en la carpeta Documentos del usuario, en la subcarpeta ArcGIS\Diagnostics. En el caso de ArcGIS Pro, los archivos de registro tienen el siguiente aspecto ArcGISProLog-16360~89343E4F-74E8-4F26-A705-B805E8C92BB0 y las propiedades siguientes:

  • ArcGISProLog es el nombre de ejecución del host.
  • 16360 es el Id. del proceso.
  • 89343E4F-74E8-4F26-A705-B805E8C92BB0 es el Id. único creado para esa instancia.