共用方式為


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

與頁面載入和整合介面 (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 唯一標識表單,可用於關聯影響該特定表單的問題。
  • 主機類型:瀏覽器/移動應用程式/嵌入式
  • isBoot:這是會話的第一次載入嗎?
  • loadType
    • 0:首次造訪特定頁面類型 (例如,首次造訪表單)。
    • 1:首次造訪特定設定 (例如,首次造訪帳戶表單)。
    • 2:首次造訪特定記錄 (例如,首次造訪帳戶記錄 A2)。
    • 3:先前已造訪過此 URL。
  • navigationOrigin:使用者從中導航的頁面類型。
  • networkConnectivityState:設備是否有連接。
  • pageName:頁面載入的類型。
  • serverConnectivityState:App 是否連接到伺服器。
  • 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 已登錄用戶的系統使用者 ID。

  • Duration:通話的持續時間。

  • customDimensions:包含以下屬性:

    Application Insights UCI 要求。

    • appModule:進行調用的 appModule。
    • bodySize:回覆的大小,經過編碼和解碼。
    • cached:請求是轉到本地緩存還是必須轉到伺服器。 如果使用者使用 Internet Explorer 瀏覽器,這將不會如預期運作。
    • download:下載回覆所花費的時間。
    • stall:請求在瀏覽器佇列中等待的時間。
    • 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 要求資料表的 customDimensions 欄位中的 userAgent 屬性包含此資料。 您可以使用以下查詢,來取得使用者從不同來源存取系統的概觀:

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

dependencies
| where ['type'] == "UCI REQUEST"
當 customDimensions.userAgent 值的開頭為 使用者從何處存取系統?
Mozilla 瀏覽器類型、版本
azure-logic-apps Azure Logic 應用程式
PowerApps Power Apps
Microsoft Office Excel Office Excel
入口網站 入口網站
DynamicsDataIntegration 動態資料整合
XrmToolBox.exe XrmToolBox
PluginRegistration Plugin Registration
LogicAppsDesigner Logic Apps Designer
Apache-HttpClient Apache HTTP 用戶端
Microsoft Flow Power Automate
UnifiedServiceDesk Unified Service Desk
PostmanRuntime Postman
OfficeGroupsConnector Office 群組連接器
Microsoft.Data.Mashup 外掛程式 Power Query
Apache-Olingo 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 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 中設定警示,以監視應用程式的健全情況。