Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Для модельних програм доступні дані продуктивності, пов’язані із завантаженням сторінок і вихідними мережевими запитами єдиного інтерфейсу (UCI).
Дані про які типи завантаження сторінок доступні?
| Ввести | Доступні дані щодо продуктивності та діагностики |
|---|---|
| Завантаження приладної дошки (UCI) – браузер | Так |
| Завантаження приладної дошки (UCI) – вбудовано | Так |
| Завантаження приладної дошки (UCI) – MobileApplication | Так |
| Завантаження приладної дошки (UCI) – MailApp | Так |
| Завантаження приладної дошки (UCI) – MobileApplication | Так |
| Завантаження EditForm (UCI) – браузер | Так |
| Завантаження EditForm (UCI) – вбудовано | Так |
| Завантаження EditForm (UCI) – MailApp | Так |
| Завантаження EditForm (UCI) - MobileApplication | Так |
| Завантаження EntityList (UCI) – браузер | Так |
| Завантаження EntityList (UCI) – вбудовано | Так |
| Завантаження EntityList (UCI) – MailApp | Так |
| Завантаження EntityList (UCI) - MobileApplication | Так |
| Запуск програми - (UCI) – браузер | Так |
| Запуск програми - (UCI) - вбудовано | Так |
| Запуск програми - (UCI) – MailApp | Так |
| Запуск програми – (UCI) – MobileApplication | Так |
| Завантаження QuickCreateForm (UCI) – браузер | Так |
| Завантаження QuickCreateForm (UCI) – вбудовано | Так |
| Завантаження QuickCreateForm (UCI) – MailApp | Так |
| Завантаження QuickCreateForm (UCI) – MobileApplication | Так |
| SaveForm | Наразі недоступно |
| Справи CommandButton | Наразі недоступно |
Де доступні дані завантаження сторінки?
Ці дані записуються до таблиці pageViews у Application Insights. Запис реєструється в журналі кожного разу, коли користувач завантажує сторінку в єдиному інтерфейсі. Записані дані включають лише «чисті» навантаження. Навантаження, тривалість яких не можна точно виміряти (швидка навігація, відхід від програми, оповіщення), не враховуються. Тому ми рекомендуємо не використовувати ці дані для отримання точних чисел, пов’язаних із аналітикою використання.
У користувацьких розмірах є й інші властивості, які надають докладнішу інформацію про завантаження сторінок уніфікованого інтерфейсу. Наприклад, цей запит повертає значення для всіх атрибутів у таблиці pageViews .
pageViews
| take 1
Атрибути таблиці pageViews включають наведені далі.
- appModule: ім’я модуля додатка.
- entityName: Цей атрибут присутній, коли це доречно. Він доступний та типах сторінок EditForm, EntityList і Dashboards, коли вони прив’язані до сутності. У деяких сценаріях форма не прив’язується до сутності, а значення відображається як невизначене.
- formId: Ідентифікатор форми однозначно ідентифікує форму і може використовуватися для кореляції проблем, що впливають на цю конкретну форму.
- hostType: Браузер/МобільнийДодаток/Вбудований
- isBoot: Це перше завантаження сесії?
-
Тип навантаження
- 0: перше відвідання сторінки конкретного типу (наприклад, перше відвідання форми).
- 1: перше відвідання сторінки конкретної конфігурації (наприклад, перше відвідання форми бізнес-партнера).
- 2: перше відвідання сторінки конкретно запису (наприклад, перше відвідання запису А2 бізнес-партнера).
- 3. Саме ця URL-адреса відвідувалася раніше.
- navigationOrigin: тип сторінки, з якої користувач здійснював перехід.
- networkConnectivityState: чи має пристрій з’єднання.
- pageName: тип завантаження сторінки.
- serverConnectivityState: чи підключено застосунок до сервера.
- syncRequestTime: час, витрачений на очікування синхронних запитів.
- coldLatency: перша оцінка затримки мережі, яка включає час рукостискання SSL.
- warmLatency: подальша оцінка затримки мережі, яка є типовою очікуваною затримкою для кожного запиту.
- warmThroughput: Розрахункова пропускна здатність мережі, в Кбіт/с.
Для подій Microsoft Dataverse у полі ідентифікатор або operation_ParentId у Application Insights є x-ms-service-request-id. Поле operationId зіставляється зactivityId із серверної сторони для цілей пошуку помилок та запитів підтримки.
Які типи даних доступні для запитів вихідної мережі UCI?
Це запити до інших залежностей, зроблені єдиним інтерфейсом для відображення певної сторінки. Вони можуть бути вихідними викликами до Dataverse або до інших інтеграцій, таких як Azure DevOps або Office. Використовуйте наведений далі запит, щоб отримати ці дані, які доступні в таблиці залежностей запитів єдиного інтерфейсу.
dependencies
| where type == "UCI REQUEST"
У таблиці залежностей запитів UCI містяться наведені далі поля.
Ім’я: URL-адреса, яка викликається Єдиним інтерфейсом.
Ціль: наразі те саме, що й Ім’я.
Успіх: успішний чи невдалий дзвінок.
UserId: системний Dataverse ідентифікатор користувача, який увійшов у систему.
Тривалість: тривалість дзвінка.
customDimensions: містить такі атрибути:
- appModule: Модуль app, що здійснює дзвінок.
- bodySize: розмір відповіді, закодований і декодований.
- cached: Чи потрапив запит до локального кешу, чи мав перейти до сервера. Це не працює належним чином, якщо кінцевий користувач був у браузері Internet Explorer .
- download: час, витрачений на завантаження відповіді.
- stall: Час, коли запит очікував у черзі браузера.
- ttfb: Час, витрачений на очікування початкової відповіді, також відомий як «час до першого байта». Цей час фіксує затримку під час звернення до сервера в обидві сторони, а також час, витрачений на очікування, поки сервер доставить відповідь.
- coldLatency: перша оцінка затримки мережі, яка включає час рукостискання SSL.
- warmLatency: подальша оцінка затримки мережі, яка є типовою очікуваною затримкою для кожного запиту.
- warmThroughput: Розрахункова пропускна здатність мережі, в Кбіт/с.
Знаходьте та аналізуйте сценарії
Чому деякі з моїх користувачів мають повільну роботу єдиного інтерфейсу?
Одним із сценаріїв, коли виявлення та аналіз можуть бути цінними, є ситуація, коли користувач із регіону (скажімо, Азії) повідомляє, що форма працює повільно. Цей користувач, розташований у Азії, може отримувати доступ до середовища або організації, що розташовані в Північній Америці. Деталі показують загальний час завантаження на додаток до тривалості, пов’язаної з мережею. Цілком можливо, що це є причиною повільної продуктивності, яка сприймається користувачем.
Ви можете скористатися атрибутами warmLatency, warmThroughput і coldLatency, щоб зрозуміти частки часу, який витрачається на завантаження сторінок та інші запити єдиного інтерфейсу, як показано на наведеному далі зображенні.
У наведеному вище запиті запит єдиного інтерфейсу обробляється довше фактичного запиту API Dataverse(веб-API) request. Розподіл у цьому випадку є тривалістю виклику 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 Logic Apps |
| PowerApps | Power Apps |
| Microsoft Office Excel | Office Excel |
| Портали | Портали |
| DynamicsDataIntegration | Інтеграція даних Dynamics |
| XrmToolBox.exe | XrmToolBox |
| PluginRegistration | Реєстрація компонента Plugin |
| LogicAppsDesigner | Конструктор логічних додатків |
| Apache-HttpClient | Клієнт HTTP Apache |
| Microsoft Flow | Power Automate |
| UnifiedServiceDesk | Єдина служба підтримки |
| PostmanRuntime | Листоноша |
| OfficeGroupsConnector | З’єднувач груп Office |
| Microsoft.Data.Mashup | Power Query |
| Apache-Olingo | Apache Olingo |
| Dalvik | Android |
| Джакарта Commons-Http | Джакарта |
| Informatica | Informatica |
| axios | Axios |
| node-fetch | NodeJS |
| LinkedInBot | LinkedInBot |
Як мені дізнатися кількість користувачів, які отримують доступ із браузера, мобільного пристрою або вбудованих програм?
pageViews
| summarize count() by tostring(customDimensions.hostType)
На наведеному далі зображенні показано приклад результатів цього запиту.
Як звузити аналіз до одного окремого користувача?
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Як використовувати Application Insights з Monitor?
Azure Monitor допомагає в режимі реального часу виправляти неполадки під час сеансу з боку єдиного інтерфейсу. Запити комплексної транзакції, можливо, будуть доступними в Application Insights. Щоб розглянути журнали тієї або іншої справи, запишіть ідентифікатор справи з рядка на сторінці докладних відомостей у Monitor. Ви можете знайти журнали за допомогою наведеного далі запиту.
union *
| where operation_Id contains "[ActivityIdHere]"
Monitor – це інструмент налагодження в режимі реального часу; Однак дані можуть бути недоступні в ньому протягом кількох годин.
Чому в користувачів виникають проблеми з певною формою?
Користувач може надати спільний доступ до ідентифікатора сеансу в розділі Про програму в єдиному інтерфейсі для конкретної організації.
Ви можете скористатися цим ідентифікатором, щоб знайти проблеми способом розгляду всіх справ у цьому сеансі. Скористайтеся наведеним далі запитом.
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 для моніторингу працездатності програми.