共用方式為


模型導向應用程式可以使用哪些資料?

與頁面載入和整合介面 (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 動作 目前無法使用

頁面載入資料可在哪裡使用?

此資料會進入 Application Insights 的 pageViews 資料表中。 每次使用者在整合介面中載入頁面時,都會記錄一個項目。 已記錄的資料只會包括「乾淨」載入。 無法準確測量持續時間的負載快速導覽、離開應用程式、警示訊息不會包含在內。 因此,我們建議您不要使用此資料來取得與使用情況分析相關的準確數字。

customDimensions 中還有其他屬性,可提供整合介面頁面載入的詳細資料。 例如,此查詢將會傳回 pageViews 資料表中所有屬性的值。

pageViews
| take 1

Application Insights pageViews 資料表。

pageViews 資料表屬性包括:

  • appModule:應用程式模組名稱。
  • entityName:此屬性會在相關情況下出現。 其可用於 EditForm、EntityList 和 Dashboards 等頁面類型 (當它們繫結到實體時)。 在某些情況下,表單不會繫結到實體,而且值會以未定義的方式顯示。
  • formIdformId唯一識別表單,並可用來使影響該特定表單的問題相互關聯。
  • hostType:Browser/MobileApplication/Embedded
  • isBoot:是否第一次載入工作階段?
  • loadType
    • 0:首次造訪特定頁面類型 (例如,首次造訪表單)。
    • 1:首次造訪特定設定 (例如,首次造訪帳戶表單)。
    • 2:首次造訪特定記錄 (例如,首次造訪帳戶記錄 A2)。
    • 3:先前已造訪過此 URL。
  • navigationOrigin:使用者從中瀏覽的頁面類型。
  • networkConnectivityState:裝置是否有連線。
  • pageName:頁面載入的類型。
  • serverConnectivityState:應用程式是否已連線至伺服器。
  • syncRequestTime:等待同步要求所花費的時間。
  • coldLatency:第一次網路延遲估計,其中包含 SSL 交握時間。
  • warmLatency:後續網路延遲估計,這是每個要求的一般預期延遲。
  • warmThroughput:網路輸送量估計 (以 Kbps 為單位)。

對於 Microsoft Dataverse 事件,識別碼欄位或 Application Insights 中的 operation_ParentIdx-ms-service-request-idoperationId 對應至後端的 activityId,以進行疑難排解和支援要求。

UCI 輸出網路要求可使用哪種資料?

這些是整合介面為呈現特定頁面而對其他相依性的呼叫。 這些呼叫可能是對 Dataverse 或其他整合 (例如 Azure DevOps 或 Office) 的傳出呼叫。 使用以下查詢來取得此資料,其可在 UCI 要求相依性資料表中找到:

dependencies
| where type == "UCI REQUEST"

UCI 要求相依性資料表包含以下欄位:

  • 名稱:整合介面叫用的 URL。

  • 目標:目前與名稱相同。

  • 成功:呼叫成功或失敗。

  • UserId:已登入使用者的 Dataverse 系統使用者識別碼。

  • 持續時間:呼叫的持續時間。

  • customDimensions:包含下列屬性:

    Application Insights UCI 要求。

    • appModule:發出呼叫的 appModule。
    • bodySize:已編碼和解碼的回覆大小。
    • 快取:要求已傳送至本機快取,或必須已傳送至伺服器。 如果終端使用者使用 Internet Explorer 瀏覽器,這就無法如預期般運作。
    • 下載:下載回覆所花費的時間。
    • 懸置:要求在瀏覽器佇列中等待的時間。
    • ttfb:等待初始回覆所花費的時間,也稱為「到達第一個位元組的時間」。這段時間除了擷取等待伺服器傳遞回覆的時間之外,還會擷取往返伺服器的延遲。
    • coldLatency:第一次網路延遲估計,其中包含 SSL 交握時間。
    • warmLatency:後續網路延遲估計,這是每個要求的一般預期延遲。
    • warmThroughput:網路輸送量估計 (以 Kbps 為單位)。

探索並分析案例

為何我的部分使用者會在整合介面上遇到速度緩慢的問題?

其中一個值得探索和分析的案例是,某個地區 (例如亞洲) 的使用者報告表單執行速度緩慢。 這個位於亞洲的使用者可能正在存取北美的環境或組織。 除了與網路相關的持續時間之外,詳細資料也會顯示總載入時間。 這很可能是使用者會認為的效能低落原因。

您可以使用 warmLatencywarmThroughputcoldLatency 屬性來瞭解在頁面載入和其他整合介面要求上花費時間的明細,如下圖所示。

Application Insights UCI 遲緩。

在上述要求中,整合介面要求比實際 Dataverse API (Web API) 要求花費的時間更長。 此案例中的明細為 Dataverse API 呼叫的持續時間 (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

我可以判斷使用者存取系統的方式嗎?

Application Insights requests 資料表的 customDimensions 欄位中的 userAgent 屬性含有此資料。 您可以使用以下查詢,來取得使用者從不同來源存取系統的概觀:

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 微軟 Excel
入口網站 入口網站
DynamicsDataIntegration 動態資料整合
XrmToolBox.exe XrmToolBox
PluginRegistration 插件註冊
LogicAppsDesigner Logic Apps 設計器
Apache-HttpClient Apache HTTP 用戶端
Microsoft Flow Power Automate
UnifiedServiceDesk Unified Service Desk
PostmanRuntime Postman
OfficeGroupsConnector Office 群組連接器
Microsoft.Data.Mashup Power Query
Apache-Olingo 阿帕奇奧林戈
Dalvik Android
Jakarta Commons-Http 雅加達
Informatica Informatica
axios Axios
node-fetch 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 監視器有助於從整合介面端的工作階段進行即時疑難排解。有助於從整合介面端即時對工作階段進行疑難排解。 端對端交易要求或許可在 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 中設定警示,以監視應用程式的健康情況。