Поделиться через


Какие данные доступны для приложений на основе модели?

Данные о производительности, связанные с загрузкой страниц и исходящими сетевыми запросами единый интерфейс (UCI), доступны для приложений на основе модели.

Какие типы загрузки страниц доступны?

Тип Доступны данные о производительности и диагностике
Загрузка информационной панели (UCI) — Браузер Да
Загрузка информационной панели (UCI) — встроенная Да
Загрузка информационной панели (UCI) — мобильное приложение Да
Загрузка информационной панели (UCI) — MailApp Да
Загрузка информационной панели (UCI) — мобильное приложение Да
Загрузка EditForm (UCI) — Браузер Да
Загрузка EditForm (UCI) — встроенный Да
Загрузка EditForm (UCI) — MailApp Да
Загрузка EditForm (UCI) — мобильное приложение Да
Загрузка EntityList (UCI) — Браузер Да
Загрузка EntityList (UCI) — встроенный Да
Загрузка EntityList (UCI) — MailApp Да
Загрузка EntityList (UCI) — Мобильное приложение Да
Запустить приложение — (UCI) — браузер Да
Запустить приложение — (UCI) — встроенный Да
Запустить приложение — (UCI) — MailApp Да
Запустить приложение — (UCI) — Мобильное приложение Да
Загрузка QuickCreateForm (UCI) — Браузер Да
Загрузка QuickCreateForm (UCI) — встроенный Да
Загрузка QuickCreateForm (UCI) — MailApp Да
Загрузка QuickCreateForm (UCI) — мобильное приложение Да
SaveForm В настоящее время недоступно
Действия CommandButton В настоящее время недоступно

Где доступны данные о загрузке страницы?

Эти данные попадают в таблицу pageViews в Application Insights. Запись регистрируется каждый раз, когда пользователь загружает страницу в единый интерфейс. Регистрируемые данные будут включать только "чистые" нагрузки. Нагрузки, продолжительность которых невозможно точно измерить — быстрая навигация, переключение из приложения, предупреждающее сообщение — не будут включены. По этой причине мы не рекомендуем использовать эти данные для получения точных цифр, связанных с аналитикой использования.

Есть другие свойства в customDimensions, которые предоставляют более подробную информацию о загрузке страницы единого интерфейса. Например, этот запрос вернет значения для всех атрибутов в таблице pageViews.

pageViews
| take 1

Таблица Application Insights pageViews.

Атрибуты таблицы pageViews включают:

  • appModule: имя модуля приложения.
  • entityName: этот атрибут присутствует, когда это необходимо. Он доступен на таких типах страниц, как EditForm, EntityList и Dashboards, когда они привязаны к сущности. В некоторых сценариях форма не привязана к сущности, и значение отображается как неопределенное.
  • formId: formId однозначно идентифицирует форму и может использоваться для корреляции проблем, влияющих на эту конкретную форму.
  • hostType: браузер/мобильное приложение/встроенное
  • isBoot: это первая загрузка сеанса?
  • loadType
    • 0: первое посещение определенного типа страницы (например, первое посещение формы).
    • 1: первое посещение определенной конфигурации (например, первое посещение формы учетной записи).
    • 2: первое посещение определенной записи (например, первое посещение записи A2 учетной записи).
    • 3: этот точный URL-адрес уже посещался ранее.
  • navigationOrigin: тип страницы, с которой перешел пользователь.
  • networkConnectivityState: есть ли у устройства подключение.
  • pageName: тип загрузки страницы.
  • serverConnectivityState: подключено ли приложение к серверу.
  • syncRequestTime: время ожидания синхронных запросов.
  • coldLatency: первая оценка сетевой задержки, которая включает время подтверждения SSL.
  • warmLatency: последующая оценка задержки в сети, которая является типичной ожидаемой задержкой для каждого запроса.
  • warmThroughput: расчетная пропускная способность сети в Кбит/с.

Для событий Microsoft Dataverse, поле ID или operation_ParentId в Application Insights это x-ms-service-request-id. Карты operationId в activityId на серверной части для устранения неполадок и запросов в службу поддержки.

Какие данные доступны для исходящих сетевых запросов UCI?

Это вызовы других зависимостей, сделанные единым интерфейсом для визуализации определенной страницы. Это могут быть исходящие звонки к Dataverse или к другим интеграциям, таким как Azure DevOps или Office. Используйте следующий запрос, чтобы получить эти данные, которые доступны в таблице зависимостей запроса UCI:

dependencies
| where type == "UCI REQUEST"

Таблица зависимостей запроса UCI имеет следующие поля:

  • Имя: URL-адрес, вызываемый единым интерфейсом.

  • Цель: в настоящее время то же, что и Имя.

  • Успех: был ли вызов успешным или неудачным.

  • UserId: ИД системного пользователя Dataverse, вошедшего в систему.

  • Продолжительность: продолжительность звонка.

  • customDimensions: содержит следующие атрибуты:

    ЗАПРОС UCI Application Insights.

    • appModule: appModule, выполняющий вызов.
    • bodySize: размер ответа, закодированного и декодированного.
    • кешированный: попадал ли запрос в локальный кэш или должен был идти на сервер. Это не сработает должным образом, если конечный пользователь использовал браузер Internet Explorer.
    • загрузка: время, затраченное на загрузку ответа.
    • задержка: время ожидания запроса в очереди браузера.
    • ttfb: время ожидания начального ответа, также известное как «время до первого байта». Это время фиксирует задержку двустороннего обращения к серверу в дополнение ко времени, потраченному на ожидание доставки ответа сервером.
    • coldLatency: первая оценка сетевой задержки, которая включает время подтверждения SSL.
    • warmLatency: последующая оценка задержки в сети, которая является типичной ожидаемой задержкой для каждого запроса.
    • warmThroughput: расчетная пропускная способность сети в Кбит/с.

Находите и анализируйте сценарии

Почему некоторые из моих пользователей медленно работают с единый интерфейс?

Один из сценариев, в котором обнаружение и анализ могут быть ценными, — это когда пользователь из региона (скажем, из Азии) сообщает, что форма работает медленно. Этот пользователь из Азии может иметь доступ к среде или организации в Северной Америке. Подробности покажут общее время загрузки в дополнение к продолжительности, связанной с сетью. Вполне возможно, что это причина низкой производительности, воспринимаемой пользователем.

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

Медлительность UCI Application Insights.

В приведенном выше запросе запрос единого интерфейса занимает больше времени, чем фактический запрос API (веб-API) Dataverse. Пробой в данном случае является продолжительность вызова API Dataverse (56 мс) плюс значение CustomDimensions.warmLatency (89 мс), что в сумме составляет почти продолжительность всей операции (144 мс). В значение warmLatency указывает на медлительность для этого конкретного клиента и может быть проблемой, которую вы можете проанализировать на уровне пользователя, используя следующий запрос:

dependencies
| where ['type'] == "UCI REQUEST"
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id

pageViews
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id

Могу ли я определить, как пользователь получает доступ к системе?

Атрибут userAgent в customDimensions в таблице Application Insights запросы имеет эти данные. Вы можете использовать следующий запрос, чтобы получить обзор различных источников, из которых пользователи получают доступ к системе:

pageViews
| summarize count() by tostring(customDimensions.userAgent), user_Id

dependencies
| where ['type'] == "UCI REQUEST"
Когда значение customDimensions.userAgent начинается с Откуда пользователь получает доступ к системе?
Mozilla Версия, тип браузера
azure-logic-apps Приложения логики Azure
PowerApps Power Apps
Microsoft Office Excel Office Excel
Порталы Порталы
DynamicsDataIntegration Интеграция данных Dynamics
XrmToolBox.exe XrmToolBox
PluginRegistration Регистрация подключаемого модуля
LogicAppsDesigner Logic Apps Designer
Apache-HttpClient HTTP-клиент Apache
Microsoft Flow Power Automate
UnifiedServiceDesk Unified Service Desk
PostmanRuntime Почтальон
OfficeGroupsConnector Соединитель групп Office
Microsoft.Data.Mashup Power Query
Apache-Olingo Apache Olingo
Dalvik Android
Jakarta Commons-Http Jakarta
Informatica Informatica
аксиомы Аксиомы
выборка узла NodeJS
LinkedInBot LinkedInBot

Как мне подсчитать количество пользователей, открывающих доступ из браузера, мобильных или встроенных приложений?

pageViews
| summarize count() by tostring(customDimensions.hostType)

На следующем изображении показан пример набора результатов этого запроса.

Пример набора результатов Application Insights.

Как мне сузить круг до конкретного пользователя?

pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)

Как это использовать Application Insights с помощью монитора?

Azure Monitor помогает устранять неполадки в сеансе в режиме реального времени со стороны единого интерфейса. Запросы сквозных транзакций, вероятно, будут доступны в Application Insights. Чтобы просмотреть журналы для данного действия, запишите идентификатор действия из строки на странице сведений о событии в Отслеживание. Можно найти журналы с помощью следующего запроса:

union *
| where operation_Id contains "[ActivityIdHere]"

Отслеживание — это инструмент отладки в реальном времени; однако данные могут быть недоступны в нем в течение нескольких часов.

Почему у пользователей возникают проблемы с определенной формой?

Пользователь может поделиться своим идентификатором сеанса из раздела О нас в единый интерфейс для конкретной организации.

Параметры > О нас.

Параметры > Об идентификаторе сеанса.

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

union *
| where session_Id == '[sessionIdHere]'

Какие формы используются в разных расположениях и какова производительность загрузки форм в этих расположениях?

pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion

Является ли внешний вызов API ошибкой, и могу ли я добавить детализировать в стек ошибок, чтобы помочь с отладкой?

Представление Браузер на панели Сбои содержит исходящие запросы единого интерфейса. Запросы, идущие в Dataverse или организация содержат URL-адрес организации. Могут быть другие запросы, идущие на другие URL-адреса (например, на следующем изображении организация имеет настройку, вызывающую dc.services.visualstudio.com). Вы можете просмотреть сквозную транзакцию, чтобы дополнительно изучить сбои для этих внешних исходящих вызовов.

Просмотрите представление панели Сбои.

Могу ли я установить оповещение о пороговое значение производительности для определенных действий формы? Позволит ли оно производителю диагностировать и устранить неполадки после получения предупреждения?

Да. Вы можете настроить предупреждения в Application Insights для контроля работоспособности вашего приложения.