共用方式為


啟用功能旗標的遙測

遙測是一種自動化的過程,用來收集、傳輸並分析關於您的應用程式及其功能的使用方式。 啟用功能旗標的遙測,能提供關於功能推出行為與影響的寶貴洞見,幫助團隊更快迭代、提升使用者體驗、及早發現問題,並驗證新功能的有效性。 透過遙測技術,團隊可以回答以下關鍵問題:

  • 某個功能是如預期般啟用或停用?
  • 是否有特定使用者或群組能使用這項新功能?
  • 某個功能是否導致效能倒退或錯誤?
  • 功能對互動率或轉換率等關鍵指標有什麼影響?

透過利用遙測數據,組織能做出有根據且數據驅動的決策,快速識別並解決問題,並優化功能交付,以達成更佳的業務與用戶成果。

遙測是收集、傳輸和分析有關應用程式使用情況和效能資料的過程。 它可協助您監視功能旗標行為,並做出數據驅動決策。 部署功能旗標變更時,分析其對應用程式的影響通常很重要。 例如,以下是一些可能發生的問題:

  • 我的旗標是否如預期般啟用/停用?
  • 目標使用者是否如預期般可存取特定功能?
  • 變體如何影響客戶參與?

這些類型的問題可透過功能旗標評估事件的發出和分析來回答。

先決條件

連接至 Application Insights

  1. 在 Azure 入口網站中開啟您的應用程式組態存放區。

  2. 在 [遙測] 區域中,選取 [Application Insights (預覽)] 窗格。

  3. 選取訂用帳戶、資源群組。 然後,選取您想要連線到應用程式組態存放區的現有 Application Insights 資源,或選取 [ 新建 ] 以建立新的 Application Insights 資源。

  4. 選取 [連線] 按鈕。

    Azure 入口網站中連線到 Application Insights 的螢幕擷取畫面。

啟用功能旗標的遙測

  1. 在 Azure 入口網站中開啟您的應用程式組態存放區,然後選取 [作業] 區段底下的 [功能管理員] 刀鋒視窗。

  2. 選取名為 Greeting 的功能旗標。 如果您沒有它,請依照 指示加以建立。 然後,以滑鼠右鍵按兩下功能旗標,然後選取 [ 編輯]。

    Azure 入口網站的螢幕快照,編輯功能旗標。

  3. 在新檢視中,選取 [ 遙測] 索引標籤

  4. 核取 [ 啟用遙測] 方塊,然後選取頁面底部的 [ 檢閱 + 更新] 按鈕。

    Azure 入口網站的螢幕快照,啟用遙測。

  5. 請繼續依照以下指示,在您正在使用的語言或平臺的應用程式中使用遙測。

檢閱 Azure 應用程式組態中的遙測結果

  1. 在應用程式設定入口中,導覽至 Application Insights 窗格。 你應該會看到一張圖表,顯示你申請中的所有事件。 此圖提供了活動模式的初步概述。

    Azure 入口網站的螢幕擷取畫面,顯示在應用程式組態資源的應用程式深入解析窗格中檢視事件。

  2. 使用時間範圍選擇器聚焦特定時期,以識別趨勢或調查感興趣的特定時間段。

  3. 以特徵標記篩選

    1. 點擊事件圖表上方的下拉選單
    2. 帶有事件的功能標記 中,選擇你的功能標記
    3. 圖表現在只會顯示與功能旗標評估相關的事件

    Azure 入口網站的截圖,在應用程式配置資源的應用程式洞察刀片中選擇特定功能旗標。

  4. 欲取得更詳細的遙測資料,請點擊 查看詳情 以開啟遙測標籤。

    Azure 入口網站的截圖顯示,從應用程式見解(App Insights)的應用程式設定(App Configuration)資源面板導航至遙測(Telemetry)標籤。

備註

你也可以進入 功能管理員 ,點擊遙測欄位中的 「查看事件 」來取得感興趣的功能旗標。 Azure 入口網站的截圖,從功能管理介面檢視事件。

驗證變體指派

在遙測標籤中,您可以查看:

  • 總事件數:您的應用程式所發出的評估事件總數
  • 獨立使用者:被鎖定並發出事件的特定使用者數量。

為了顯示簡單、長、無變體的用戶分布及評價數量,請依變體分組。 這種分組讓你能看到配置的分配是否如預期運作,以及所有預期的變體是否都被提供給使用者。

Azure 入口網站的截圖,在遙測標籤中依變體查看獨特使用者。

在此範例中,我們看到被分配到「無」變體的用戶數量,幾乎是被分配到「簡單」和「長」變體的兩倍,因為已分別設定「無」、「簡單」和「長」的百分位比例為50-25-25。

根據旗標狀態確認覆寫與行為

使用者可能會因不同原因獲得變體。 你要確保你的變體分配不僅比例正確,也要有正確的理由。 你可以依作業理由分組指標。 在這個例子中,我們看到唯一的分配原因完全是百分位數分配所造成。

Azure 入口網站的截圖,在遙測標籤中依分配原因查看總事件。

  1. 請前往功能管理員並切換功能旗標的「啟用」開關,以停用該功能。

  2. 在遙測欄位中,點擊 「檢視事件 」以進入唯讀模式的遙測標籤。

  3. 查看依變體分類的獨立用戶數。 您應該會看到 Long 和 Simple 的所有指派都會歸零。 只有 None 變體,也就是我們這裡的預設,才會分配給使用者。

    Azure 入口網站的截圖,在遙測標籤中查看不同變體的獨特用戶數量。

  4. 切換至依分配原因查看獨特用戶數。 從圖表中確認,百分位數分配降為零,且 DefaultWhenDisabled 是導致使用者被分配變體的唯一原因。

    其他可能的原因包括「DefaultWhenEnabled」、「群組」或「使用者」(如果有設定的話)。

    Azure 入口網站的螢幕擷取畫面,顯示在遙測索引標籤中,依指派原因查看不重複使用者數量。

在 Application Insights 中分析遙測

既然你已經確認功能旗標分配如預期運作,就可以更深入地檢視遙測事件,根據用戶按讚數量,查看不同變體的表現。

在 Azure 入口網站開啟你的 Application Insights 資源,並在監控中選擇日誌。 在查詢視窗中,執行以下查詢以查看遙測事件:

// Step 1: Get distinct users and their Variant from FeatureEvaluation (Replace <store-endpoint> with your store's endpoint)
let evaluated_users =
    customEvents
    | where name == "FeatureEvaluation"
    | where tostring(customDimensions.FeatureFlagReference) == "https://<store-endpoint>/kv/.appconfig.featureflag/Greeting"
    | extend TargetingId = tostring(customDimensions.TargetingId),
            Variant = tostring(customDimensions.Variant)
    | summarize Variant = any(Variant) by TargetingId;

// Step 2: Get distinct users who emitted a "Like"
let liked_users =
    customEvents
    | where name == "Liked"
    | extend TargetingId = tostring(customDimensions.TargetingId)
    | summarize by TargetingId;

// Step 3: Join them to get only the evaluated users who also liked
let hearted_users =
    evaluated_users
    | join kind=inner (liked_users) on TargetingId
    | summarize HeartedUsers = dcount(TargetingId) by Variant;

// Step 4: Total evaluated users per variant
let total_users =
    evaluated_users
    | summarize TotalUsers = dcount(TargetingId) by Variant;

// Step 5: Combine results
let combined_data =
    total_users
    | join kind=leftouter (hearted_users) on Variant
    | extend HeartedUsers = coalesce(HeartedUsers, 0)
    | extend PercentageHearted = strcat(round(HeartedUsers * 100.0 / TotalUsers, 1), "%")
    | project Variant, TotalUsers, HeartedUsers, PercentageHearted;

// Step 6: Add total row
let total_sum =
    combined_data
    | summarize Variant="All", TotalUsers = sum(TotalUsers), HeartedUsers = sum(HeartedUsers);

// Step 7: Output
combined_data
| union (total_sum)

Azure 入口網站的截圖,查看應用洞察分析結果。

你會看到每次載入報價頁面時會有一個「功能評估」事件,每次點擊按讚按鈕時會有一個「按讚」事件。 「FeatureEvaluation」事件有一個自訂 FeatureName 屬性,名稱為被評估的功能旗標名稱。 這兩個事件都具有一個名為 TargetingId 的自訂屬性,該屬性的值是按讚該引言的使用者名稱。

在這個例子中,我們可以看到,雖然獲得 Long 版本與 Simple 版本的用戶數量大致相同,但 Simple 版本的表現似乎比 Simple 版本好 22%。