Какие данные доступны для приложений на основе модели?
Данные о производительности, связанные с загрузкой страниц и исходящими сетевыми запросами единый интерфейс (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
Атрибуты таблицы 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: Содержит следующие атрибуты:
- appModule: appModule, выполняющий вызов.
- bodySize: Размер ответ, закодированный и декодированный.
- кэшировано: был ли запрос отправлен в локальный кэш или его пришлось отправить на сервер. Это не сработает должным образом, если конечный пользователь использовал браузер Internet Explorer.
- загрузка: время, необходимое для загрузки ответ.
- stall: время ожидания запроса в очереди браузера.
- ttfb: Время, затраченное на ожидание начальный ответ, также известное как «время до первого байта». Это время учитывает задержку при передаче данных на сервер в дополнение к времени, затраченному на ожидание доставки сервером ответ.
- coldLatency: первая оценка задержки сети, которая включает время установления соединения SSL.
- warmLatency: последующая оценка сетевой задержки, которая представляет собой типичную ожидаемую задержку для каждого запроса.
- warmThroughput: расчетная пропускная способность сети в Кбит/с.
Находите и анализируйте сценарии
Почему некоторые из моих пользователей медленно работают с единый интерфейс?
Один из сценариев, в котором обнаружение и анализ могут быть ценными, — это когда пользователь из региона (скажем, из Азии) сообщает, что форма работает медленно. Этот пользователь из Азии может иметь доступ к среде или организации в Северной Америке. Подробности покажут общее время загрузки в дополнение к продолжительности, связанной с сетью. Вполне возможно, что это причина низкой производительности, воспринимаемой пользователем.
Вы можете использовать атрибуты warmLatency, warmThroughput, а также coldLatency, чтобы понять разбивку, где время тратится на загрузку страницы и другие запросы единого интерфейса, как показано на следующем изображении.
В приведенном выше запросе запрос единого интерфейса занимает больше времени, чем фактический запрос 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)
На следующем изображении показан пример набора результатов этого запроса.
Как мне сузить круг до конкретного пользователя?
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 для контроля работоспособности вашего приложения.