Диагностический монитор - это интегрированный в ArcGIS Pro диагностический центр. Информация о состоянии, журналы и события представляются и постоянно обновляются в Диагностическом мониторе во время работы ArcGIS Pro. Диагностический монитор содержит набор вкладок и индикаторов состояния. В настоящее время Диагностический монитор включает вкладки Счетчик, Задачи и Журнал.
Информация в диалоговом окне Диагностический монитор может использоваться для диагностики различных проблем приложений, включая условия отсутствия реакции приложения, чрезмерное потребление ресурсов, сбои функционирования и снижение производительности.
Примечание:
Диагностический монитор доступен во всех основанных на ArcGIS Pro продуктах, и его не следует путать с ArcGIS Monitor, решением для развертываний ArcGIS Enterprise.
Запуск Диагностического монитора
Вы можете запустить Диагностический монитор одним из следующих способов:
- Нажмите Ctrl+Alt+M, когда открыт ArcGIS Pro.
- Запустите ArcGIS Pro из командной строки с помощью переключателя /enablediagnostics.
Если вы используете опцию командной строки, вы также можете включить параметр /loglevel=debug, чтобы включить режим отладки в Диагностическом мониторе. Режим отладки сохраняется в ваших последующих сеансах ArcGIS Pro, пока вы не отключите его на вкладке Журнал.
Примечание:
Когда Диагностический монитор включен из командной строки, диалоговое окно будет изначально свернуто на панели задач Microsoft Windows.
Чтобы устранить неполадки конкретного рабочего процесса с помощью Диагностического монитора, откройте монитор, прежде чем работать с проблемой. Чтобы настроить диалоговое окно Диагностический монитор таким образом, чтобы оно отображалось поверх всех остальных окон в ArcGIS Pro, щелкните правой кнопкой в области заголовка диалогового окна и выберите Всегда сверху. Это может оказаться полезным, если вы хотите внимательно отслеживать активность в Диагностическом мониторе при использовании различных функций приложения.
Обзор архитектуры ArcGIS Pro
ArcGIS Pro - 64-битное многопоточное модульное приложение. Функциональные подсистемы загружаются по запросу и выполняют определенные действия, например, вычисление буфера или рендеринг карты, в рабочих потоках или в отдельных рабочих процессах. В большинстве случаев логические части работы (операции) при выполнении объединяются в одну или несколько задач. Задачи играют основную роль в процессе работы ArcGIS Pro и занимают видное место в Диагностическом мониторе.
Выделенный поток отвечает за визуализацию элементов пользовательского интерфейса приложения и обработку пользовательского ввода с помощью клавиатуры и мыши. Пока операция выполняется в одном из рабочих потоков, поток графического пользовательского интерфейса (GUI) обеспечивает обратную связь, соответствующую порядку выполнения операции, а также возможность отмены операции, если она применима. Диагностический монитор работает в отдельном потоке, независимом от GUI. Это позволяет диалоговому окну Диагностический монитор оставаться активным, даже если поток графического интерфейса зависнет.
Рабочие потоки в ArcGIS Pro делятся на семейства, соответствующие определенным функциональным областям.
- Основные потоки - набор из четырех рабочих потоков, который управляет Картографической информационной моделью (CIM), основным хранилищем состояния конфигурации в текущем загруженном проекте. Эти потоки также помогают ускорить рендеринг карты. Некоторые типы взаимодействия с пользователем во время выполнения операций в основных потоках запрещены.
- Фоновые потоки высокого приоритета и Фоновые потоки низкого приоритета - эти потоки выполняют широкий спектр операций, не зависящих от состояния CIM и выполняемых отдельно в фоновом режиме, пока пользователь осуществляет другие действия. Задачи, отнесенные в фоновый поток высокого приоритета, работают быстрее и имеют приоритет над задачами фонового потока низкого приоритета.
- Прочие потоки - Поток фоновой геообработки используется для выполнения фоновых операций геообработки. Внутри программы этот поток часто взаимодействует с другими потоками для выполнения операции. Поток Общие фоновые процессы используется для особых случаев, в которых наборы задач должны выполняться в одном и том же согласованном потоке с течением времени.
Область Состояния
Область Состояние содержит индикаторы Состояния и индикаторы Действий потока. Индикаторы Состояния отображаются разными цветами - в зависимости от текущего состояния приложения. Они помогают сузить круг проблем, возникающих при работе приложения. Цвета отображения индикаторов Действий потока основываются на состоянии соответствующих потоков.
Индикаторы Состояния
Элемент | Описание |
---|---|
Красный цвет означает, что поток графического интерфейса пользователя больше не отправляет сообщения и не может реагировать на ввод с мыши или клавиатуры. Графика пользовательского интерфейса может отображаться некорректно, если поток графического интерфейса не отвечает. Случаи остановки функциональности записываются в журнал остановки функциональности. | |
Желтый означает, что у активной задачи нет связанного с ней прогрессора, и поэтому у пользователя во время выполнения задачи нет адекватной обратной связи. Связанные задачи при обнаружении этого условия также помечаются желтым цветом в журнале задач. | |
Желтый означает, что скорость выдачи задач превысила 10 в секунду. | |
Зеленый показывает, что в приложении в настоящее время активен один или несколько HTTP-запросов. | |
Зеленый показывает, что задача в настоящее время выполняется в основном потоке. Во время выполнения любой основной задачи некоторые кнопки и инструменты могут быть недоступны. | |
Желтый показывает, что вид, обычно содержащий карту, глобус, сцену или компоновку, в настоящее время занят. Пока вид занят, некоторые кнопки и инструменты могут быть недоступны. | |
Желтый показывает, что панель в настоящее время занята. Пока панель занята, некоторые кнопки и инструменты могут быть недоступны. | |
Желтый показывает, что задача остановлена из-за операций, связанных с рисованием, которые в настоящее время выполняются в одном из основных потоков. Когда приложение находится в режиме ожидания, некоторые кнопки и инструменты могут быть недоступны. | |
Желтый показывает, что задача остановлена, а ранее приостановленная операция рисования возобновляется. Когда приложение возобновляется, некоторые кнопки и инструменты могут быть недоступны. | |
Зеленый означает, что в данный момент выполняется операция геообработки. Этот индикатор будет гореть независимо от того, выполняется ли операция геообработки в фоновом режиме или на переднем плане. |
Индикаторы действий потока
У каждого из упомянутых выше потоков есть соответствующий индикатор действий в области состояния Диагностического монитора. Индикаторы состояния потока будут зелеными, если связанный поток в настоящее время работает, и серый, если поток неактивен (спящий). Индикаторы состояния потока могут быть темно-серыми, если центральному процессору хост-компьютера не хватает ядер для поддержки дополнительных потоков.
Вкладки Диагностического монитора
Диагностический монитор состоит из вкладок Счетчик, Задачи и Журнал. На вкладке Счетчик перечислены внутренние счетчики. На вкладке Задачи отображаются недавние задачи. На вкладке Журнал отображается средство просмотра журнала событий.
Вкладка Счетчик
На вкладке Счетчик содержится список именованных внутренних счетчиков. Каждый счетчик связан с графиком над списком. При выборе счетчика в списке график обновляется и на нем отобразятся исторические значения этого счетчика за последние 20 секунд.
В списке счетчиков есть такие полезные метрики, как потребление памяти, число потоков, количество HTTP-запросов и количество загруженных DLL. Некоторые счетчики требуют дополнительных пояснений:
- Текущая скорость выполнения задач - текущая скорость, с которой задачи ставятся в очередь в основные потоки. Большое значение может указывать на то, что для выполнения операции выдается излишне большое количество задач. Операции с большим числом задач могут выполняться менее эффективно.
- Счетчики CIM - эти счетчики используются для записи общего числа операций чтения и записи на CIM. Операции чтения и записи, связанные с рисованием, учитываются отдельно. Поскольку каждая операция связана с накладными расходами, меньшие переходы предпочтительнее больших в пределах определенного промежутка времени.
- Счетчики IRequest - Эти счетчики зарезервированы для внутреннего использования.
Вкладка Задачи
Вкладка Задачи содержит журнал для задач, которые были недавно созданы в результате взаимодействия с пользователем, и еще один журнал для любых остановок функциональности, возникших в потоке GUI.
Журнал UI последней задачи
Журнал UI последней задачи содержит записи о самых последних задачах, полученных в результате действий пользователя. Из-за расходов, связанных с определением функций задач, этот журнал недоступен, когда закрывается диалоговое окно Диагностический монитор. По умолчанию задачи отсортированы в хронологическом порядке, причем последняя выполненная задача идет в списке первой. Внутренние задачи (поставленные в очередь из выполняющейся внешней задачи) не отображаются в этом списке. Задачи, поставленные в очередь или выполняющиеся в настоящее время, показаны зеленым. У каждой задачи есть связанный с ней набор свойств:
- Задача # - число, обозначающее порядок выполнения задачи, например, Задача # 42 означает сорок вторую задачу, выполняемую в текущем процессе.
- Время постановки в очередь - время начальной постановки задачи в очередь. Задачи, инициированные во время выполнения другой задачи, ставятся в очередь и не выполняются, пока не будет завершена текущая задача. Кнопки и элементы управления обычно отключены во время выполнения основной задачи, что позволяет предотвратить постановку других задач в очередь во время перехода состояния приложения.
- Время задачи - время в миллисекундах, связанное с выполнением задачи.
- Время возобновления - время ожидания завершения рисования в миллисекундах.
- Время ожидания - время ожидания завершения операций, связанных с рисованием, в миллисекундах.
- Общее время - общее время в миллисекундах, необходимое для выполнения задачи, которое отсчитывается с момента постановки задачи в очередь до момента ее завершения (включая временные промежутки, необходимые для возобновления рисования).
- Функция - название самой внешней функции, лучше всего связанной с задачей.
Задачи, которые поставлены в очередь или все еще выполняются, отображают -1 в качестве значения времени. Будет отображаться фактическое время в миллисекундах после завершения или отмены задачи.
Эвристика используется для отображения функции, которая наиболее релевантна задачи, поставленной в очередь. Эвристика проходит через стек вызовов в поисках фрейма, содержащего функции, не относящиеся к ОС.
Журнал UI последней задачи можно отсортировать по любому столбцу по возрастанию или по убыванию. Эту возможность можно использовать, например, для нахождения задачи с наибольшим временем выполнения. Содержимое журнала можно скопировать в буфер обмена или очистить, щелкнув правой кнопкой в любом месте списка и выбрав Копировать или Очистить, соответственно.
Журнал остановки функциональности
Всякий раз, когда поток GUI перестает работать, будет журналировано событие состояния остановки функциональности с указанием времени начала и общей продолжительности. Содержимое журнала можно скопировать в буфер обмена, щелкнув правой кнопкой в любом месте списка и выбрав Копировать.
Вкладка Журнал
Вкладка Журнал - это средство просмотра журнала событий в реальном времени с возможностями его сортировки и фильтрации. При работе в режиме диагностики многочисленные подсистемы ArcGIS Pro будут записывать диагностическую информацию в журнал событий. Режим диагностики можно включить с помощью аргумента командной строки, однако он также автоматически включается при отображении Диагностического монитора.
Есть четыре типа событий:
- Ошибка - используется для обозначения серьезных сбоев при выполнении операции
- Предупреждение - менее критично, и иногда может быть проигнорировано
- Информация - предназначено для предоставления дополнительной контекстной информации о выполняемой операции
- Отладка - подробная информация, в первую очередь предназначенная для сотрудников Esri
Типы событий можно фильтровать в списке, используя соответствующие флажки вверху. Из-за своей важности события ошибок всегда находятся в списке и не могут быть из него убраны. Для достижения большей вариативности можно использовать поле ввода фильтра. Если ввести текст здесь, то будут отображаться только события, в которых хотя бы один из столбцов содержит этот текст (без учета регистра).
Общее количество совпадающих событий отображается в правом верхнем углу вкладки Журнал.
Файлы журнала
Файлы журнала создаются в подпапке ArcGIS\Diagnostics папки Документы пользователя. В ArcGIS Pro файлы журналов выглядят так: ArcGISProLog-16360~89343E4F-74E8-4F26-A705-B805E8C92BB0 и имеют следующие свойства:
- ArcGISProLog - имя исполняемого файла хоста.
- 16360 - ID процесса.
- 89343E4F-74E8-4F26-A705-B805E8C92BB0 - уникальный ID, созданный для этого экземпляра.
Устранение проблем, связанных с производительностью
Советы по настройке ArcGIS Pro для повышения производительности см. в разделе Устранение проблем, связанных с производительностью в ArcGIS Pro в Esri Community.