Диагностический монитор

Диагностический монитор - это интегрированный в ArcGIS Pro диагностический центр. Информация о состоянии, журналы и события присутствуют и постоянно обновляются в Диагностическом мониторе во время работы ArcGIS Pro.Диагностический монитор содержит набор вкладок и индикаторов состояния. В настоящее время Диагностический монитор включает вкладки Счетчик, Задачи, HTTP, Журнал, Свойства диагностики и Состояния.

Информация в диалоговом окне Диагностический монитор может использоваться для диагностики различных проблем приложений, включая условия отсутствия реакции приложения, чрезмерное потребление ресурсов, сбои функционирования и снижение производительности.

Обзор Диагностического монитора

Примечание:

Диагностический монитор доступен во всех основанных на 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 и выполняемых отдельно в фоновом режиме, пока пользователь осуществляет другие действия. Задачи, отнесенные в фоновый поток высокого приоритета, работают быстрее и имеют приоритет над задачами фонового потока низкого приоритета.
  • Прочие потоки - Поток фоновой геообработки используется для выполнения фоновых операций геообработки. Внутри программы этот поток часто взаимодействует с другими потоками для выполнения операции. Поток Общие фоновые процессы используется для особых случаев, в которых наборы задач должны выполняться в одном и том же согласованном потоке с течением времени.
Обзор потоков Диагностического монитора

Область Состояния

Область Состояние содержит индикаторы Состояния и индикаторы Действий потока. Индикаторы Состояния отображаются разными цветами - в зависимости от текущего состояния приложения. Они помогают сузить круг проблем, возникающих при работе приложения. Цвета отображения индикаторов Действий потока основываются на состоянии соответствующих потоков.

Индикаторы Состояния

Индикаторы Состояния в Диагностическом мониторе

ЭлементОписание
1

Красный цвет означает, что поток графического интерфейса пользователя больше не отправляет сообщения и не может реагировать на ввод с мыши или клавиатуры. Графика пользовательского интерфейса может отображаться некорректно, если поток графического интерфейса не отвечает. Случаи остановки функциональности записываются в журнал остановки функциональности.

2

Желтый означает, что у активной задачи нет связанного с ней прогрессора, и поэтому у пользователя во время выполнения задачи нет адекватной обратной связи. Связанные задачи при обнаружении этого условия также помечаются желтым цветом в журнале задач.

3

Желтый означает, что скорость выдачи задач превысила 10 в секунду.

4

Зеленый показывает, что в приложении в настоящее время активен один или несколько HTTP-запросов.

5

Зеленый показывает, что задача в настоящее время выполняется в основном потоке. Во время выполнения любой основной задачи некоторые кнопки и инструменты могут быть недоступны.

6

Желтый показывает, что вид, обычно содержащий карту, глобус, сцену или компоновку, в настоящее время занят. Пока вид занят, некоторые кнопки и инструменты могут быть недоступны.

7

Желтый показывает, что панель в настоящее время занята. Пока панель занята, некоторые кнопки и инструменты могут быть недоступны.

8

Желтый показывает, что задача остановлена из-за операций, связанных с рисованием, которые в настоящее время выполняются в одном из основных потоков. Когда приложение находится в режиме ожидания, некоторые кнопки и инструменты могут быть недоступны.

9

Желтый показывает, что задача остановлена, а ранее приостановленная операция рисования возобновляется. Когда приложение возобновляется, некоторые кнопки и инструменты могут быть недоступны.

10

Зеленый означает, что в данный момент выполняется операция геообработки. Этот индикатор будет гореть независимо от того, выполняется ли операция геообработки в фоновом режиме или на переднем плане.

Индикаторы действий потока

У каждого из упомянутых выше потоков есть соответствующий индикатор действий в области состояния Диагностического монитора. Индикаторы состояния потока будут зелеными, если связанный поток в настоящее время работает, и серый, если поток неактивен (спящий). Индикаторы состояния потока могут быть темно-серыми, если центральному процессору хост-компьютера не хватает ядер для поддержки дополнительных потоков.

Вкладки Диагностического монитора

Диагностический монитор состоит из вкладок Счетчик, Задачи, HTTP, Журнал, Свойства диагностики и Состояния. На вкладке Счетчик перечислены внутренние счетчики. На вкладке Задачи отображаются недавние задачи. Вкладка HTTP предоставляет возможность просмотра HTTP-запросов и ответов. На вкладке Журнал отображается средство просмотра журнала событий. На вкладке Свойства диагностики отображается диагностическая информация. Вкладка Состояния позволяет просматривать все включенные состояния приложения и состояния активного вида, связанные с соответствующим сеансом ArcGIS Pro.

Вкладка Счетчик

На вкладке Счетчик содержится список именованных внутренних счетчиков. Каждый счетчик связан с графиком над списком. При выборе счетчика в списке график обновляется и на нем отобразятся исторические значения этого счетчика за последние 20 секунд.

Вкладка Счетчик Диагностического монитора

В списке счетчиков есть такие полезные метрики, как потребление памяти, число потоков, количество HTTP-запросов и количество загруженных DLL. Некоторые счетчики требуют дополнительных пояснений:

  • Текущая скорость выполнения задач - текущая скорость, с которой задачи ставятся в очередь в основные потоки. Большое значение может указывать на то, что для выполнения операции выдается излишне большое количество задач. Операции с большим числом задач могут выполняться менее эффективно.
  • Счетчики CIM - эти счетчики используются для записи общего числа операций чтения и записи на CIM. Операции чтения и записи, связанные с рисованием, учитываются отдельно. Поскольку каждая операция связана с накладными расходами, меньшие переходы предпочтительнее больших в пределах временного интервала.
  • Счетчики общего времени ожидания HTTP-запросов - Эти счетчики используются для записи количества и скорости общего количества HTTP-запросов, время ожидания которых истекло. Запросы, увеличивающие эти счетчики, чаще всего связаны с кодами ответа HTTP 408 и 504.
  • Счетчики IRequest - Эти счетчики зарезервированы для внутреннего использования.

Вкладка Задачи

Вкладка Задачи содержит журнал для задач, которые были недавно созданы в результате взаимодействия с пользователем, и еще один журнал для любых остановок функциональности, возникших в потоке GUI.

Вкладка Задачи в Диагностическом мониторе

Журнал UI последней задачи

Журнал UI последней задачи содержит записи о самых последних задачах, полученных в результате действий пользователя. Из-за расходов, связанных с определением функций задач, этот журнал недоступен, когда закрывается диалоговое окно Диагностический монитор. По умолчанию задачи отсортированы в хронологическом порядке, причем последняя выполненная задача идет в списке первой. Внутренние задачи (поставленные в очередь из выполняющейся внешней задачи) не отображаются в этом списке. Задачи, поставленные в очередь или выполняющиеся в настоящее время, показаны зеленым. У каждой задачи есть связанный с ней набор свойств:

  • Задача # — число, обозначающее порядок выполнения задачи, например, Задача # 42 означает сорок вторую задачу, выполняемую в текущем процессе.
  • Время постановки в очередь - время начальной постановки задачи в очередь. Задачи, инициированные во время выполнения другой задачи, ставятся в очередь и не выполняются, пока не будет завершена текущая задача. Кнопки и элементы управления обычно отключены во время выполнения основной задачи, что позволяет предотвратить постановку других задач в очередь во время перехода состояния приложения.
  • Время задачи - время в миллисекундах, связанное с выполнением задачи.
  • Время возобновления - время ожидания завершения рисования в миллисекундах.
  • Время ожидания - время ожидания завершения операций, связанных с рисованием, в миллисекундах.
  • Общее время - общее время в миллисекундах, необходимое для выполнения задачи, которое отсчитывается с момента постановки задачи в очередь до момента ее завершения (включая временные промежутки, необходимые для возобновления рисования).
  • Функция - название самой внешней функции, лучше всего связанной с задачей.

Задачи, которые поставлены в очередь или все еще выполняются, отображают -1 в качестве значения времени. Будет отображаться фактическое время в миллисекундах после завершения или отмены задачи.

Эвристика используется для отображения функции, которая наиболее релевантна задачи, поставленной в очередь. Эвристика проходит через стек вызовов в поисках фрейма, содержащего функции, не относящиеся к ОС.

Журнал UI последней задачи можно отсортировать по любому столбцу по возрастанию или по убыванию. Эту возможность можно использовать, например, для нахождения задачи с наибольшим временем выполнения. Содержимое журнала можно скопировать в буфер обмена или очистить, щелкнув правой кнопкой в любом месте списка и выбрав Копировать или Очистить, соответственно.

Журнал остановки функциональности

Всякий раз, когда поток GUI перестает работать, событие состояния остановки функциональности занесено в журнал с указанием времени начала и общей продолжительности. Содержимое журнала можно скопировать в буфер обмена, щелкнув правой кнопкой в любом месте списка и выбрав Копировать.

Вкладка HTTP

Вкладка HTTP содержит журнал HTTP-запросов и ответов и предоставляет возможности сортировки. Когда Диагностический монитор открыт, отправленные по ArcGIS Pro HTTP-запросы записываются в этом средстве просмотра.

Вкладка HTTP Диагностического монитора

Записанные HTTP-запросы добавляются в средство просмотра в порядке от самого последнего до самого раннего запроса.

Столбец URL содержит URL-адрес, на который был отправлен запрос. Запросы, которые все еще ожидают ответа, можно определить по стрелке вниз в первом столбце. По завершении ответ, полученный от сервера, добавляется в столбец Статус для этой строки.

Вкладка Журнал

Вкладка Журнал содержит средство просмотра журнала событий и предоставляет возможности сортировки и фильтрации. При работе в Режиме диагностики многие подсистемы в ArcGIS Pro записывают диагностическую информацию в виде событий приложений в журнал событий. Регистрация событий начинается с момента открытия Диагностического монитора и остается активной до закрытия ArcGIS Pro.

Вкладка Журнал в Диагностическом мониторе

Есть четыре типа событий:

  • Ошибка — используется для обозначения серьезных сбоев при выполнении операции
  • Предупреждение - менее критично, и иногда может быть проигнорировано
  • Информация — предназначено для предоставления дополнительной контекстной информации об операции
  • Отладка - подробная информация, в первую очередь предназначенная для сотрудников Esri

Типы событий можно фильтровать в списке, используя соответствующие флажки вверху. Из-за своей важности события ошибок всегда находятся в списке и не могут быть из него убраны. Для достижения большей вариативности можно использовать поле ввода фильтра. Если ввести текст здесь, то отображаются только события, в которых хотя бы один из столбцов содержит этот текст (не чувствителен к регистру).

Общее количество совпадающих событий отображается в правом верхнем углу вкладки Журнал. Регистрация событий начинается как живой процесс. По мере записи новых событий они сразу же вставляются во вкладку Журнал. Когда общее количество событий в журнале достигает 100 000 или более, ведение журнала в реальном времени отключается на оставшуюся часть сеанса. Новые события по-прежнему записываются, но не появляются сразу на вкладке Журнал. Кнопка Обновить отображается слева от общего количества событий. При нажатии кнопки Обновить содержание вкладки Журнал обновляется. События, записанные в фоновом режиме, добавляются при обновлении вкладки.

Файлы журнала

По умолчанию файлы журналов сохраняются в папке пользователя Documents в подпапке ArcGIS\Diagnostics. В ArcGIS Pro файлы журналов выглядят так: ArcGISProLog-16360~89343E4F-74E8-4F26-A705-B805E8C92BB0 и имеют следующие свойства:

  • ArcGISProLog - имя исполняемого файла хоста.
  • 16360 - ID процесса.
  • 89343E4F-74E8-4F26-A705-B805E8C92BB0 - уникальный ID, созданный для этого экземпляра.

Альтернативную выходную директорию можно указать в тех случаях, когда вы хотите сохранить файлы журнала в директории, отличной от папки Documents. Используя реестр Windows, создайте ключ REG_SZ с именем EventLogLocation либо в Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings\ или Computer\HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Settings\. Установите значение этого ключа в качестве альтернативной директории, в которой будут сохраняться файлы журналов. При следующем запуске ArcGIS Pro в режиме диагностики файлы журналов будут сохранены в <EventLogLocation>\ArcGIS\Diagnostics.

Примечание:

Ваш профиль пользователя Windows должен иметь разрешения на чтение и запись в любой директории, указанной в качестве значения EventLogLocation.

Существует резервный механизм для ситуаций, когда ArcGIS Pro не может сохранить файлы журналов в директориях, указанных в качестве значений EventLogLocation. Если ArcGIS Pro не может записать в директорию EventLogLocation, установленную в HKEY_LOCAL_MACHINE, вместо этого будет предпринята попытка записать файлы журналов в значение EventLogLocation, установленное в HKEY_CURRENT_USER. Если ни одна из этих директорий в не указана или в нее невозможно выполнить запись, файлы журналов будут сохранены в папке по умолчанию Documents\ArcGIS\Diagnostics.

Примечание:

Если действительный ключ реестра EventLogLocation присутствует в обоих разделах HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER, значение в разделе HKEY_LOCAL_MACHINE будет иметь приоритет.

Вкладка Свойства диагностики

Вкладка Свойства диагностики содержит диагностическую информацию, которая вставляется в отчеты об ошибках для проверки персоналом Esri.

Свойства диагностики в Диагностическом мониторе

Значения Имя указывают на следующее:

  • per_user_install — Параметр, указывающий, была ли установка ArcGIS Pro, с которой запускается Диагностический монитор, установлена для каждого пользователя или для каждой машины.

    ЗначениеОписание

    no

    Установка ArcGIS Pro была выполнена для всех пользователей на компьютере.

    yes

    Установка ArcGIS Pro была выполнена только для пользователя, вошедшего в систему.

  • cmd_line — Аргументы командной строки, за которыми следует Windows после открытия ArcGIS Pro.
  • client_proto — Показывает, на каком типе компьютера используется ArcGIS Pro. Используются следующие значения:

    ЗначениеОписание

    0

    ArcGIS Pro запущен изначально на компьютере.

    1

    ArcGIS Pro запущен на виртуальной машине (VM).

    2

    ArcGIS Pro запущен на компьютере, доступ к которому осуществляется по Протоколу удаленного рабочего стола Windows (RDP).

  • вторичный экземпляр - Параметр, указывающий, является ли приложение ArcGIS Pro единственным экземпляром приложения, запущенного в данный момент.

    ЗначениеОписание

    no

    В данный момент запущен только один экземпляр ArcGIS Pro.

    yes

    В данный момент запущено более одного экземпляра ArcGIS Pro.

  • Последний активный просмотр — последний просмотр в приложении, который был активен до просмотра этой вкладки в Диагностическом мониторе. Значения могут включать любой допустимый вид, такой как вид Карта или Компоновка. В приведенном выше примере esri_mapping_mapPane относится к виду карты.
  • Последняя команда — Последняя кнопка в пользовательском интерфейсе, которую нажал пользователь. В приведенном выше примере esri_mapping_colorVisionSimulatorButton относится к кнопке Симулятор дефицита цветового зрения.
  • Последняя активная прикрепляемая панель — последняя панель в приложении, которая была активна до просмотра этой вкладки в Диагностическом мониторе. Значения могут включать любую допустимую панель, такую как панели Содержание или Каталог. В приведенном выше примере esri_core_contentsDockPane относится к панели Содержание.

Вкладка Состояния

Вкладка Состояния позволяет просматривать все включенные состояния приложения и состояния активного вида, связанные с соответствующим сеансом ArcGIS Pro, в любой заданный момент, с новыми дополнениями, вставленными в соответствующие столбцы в виде выделенных жирным шрифтом записей.

Вкладка Состояния Диагностического монитора

Как состояния приложения, так и состояния активного вида принадлежат механизму, который фреймворк ArcGIS Pro использует для выражения того, когда различные элементы пользовательского интерфейса, такие как вкладки, кнопки и инструменты, должны быть видны или не должны быть включены в ArcGIS Pro, чтобы представить незагроможденный пользовательский интерфейс, предназначенный для выполняемой задачи.

Эта функциональность Диагностического монитора особенно полезна разработчикам надстроек ArcGIS Pro, которые хотят подтвердить, что их определенные состояния активируются, когда это должно и не должно быть.

Подробнее об Условиях и Состояниях.

Наложение производительности отрисовки

Вы можете включить наложение устранения неполадок, которое отображает статистику отрисовки, в диалоговом окне Клавиши быстрого доступа в разделе Глобальное > Наложение производительности отрисовки. Нажатие указанной комбинации клавиш включает и выключает наложение.

Устранение проблем, связанных с производительностью

Советы по настройке ArcGIS Pro для повышения производительности см. в разделе Устранение проблем, связанных с производительностью в ArcGIS Pro в Esri Community.