Condividi tramite


Abilita dati di telemetria per i flag di funzionalità

I dati di telemetria sono il processo automatizzato di raccolta, trasmissione e analisi dei dati su come vengono usate l'applicazione e le relative funzionalità. L'abilitazione dei dati di telemetria per i flag di funzionalità offre preziose informazioni dettagliate sul comportamento e sull'impatto dei rilasci delle funzionalità, consentendo ai team di iterare più velocemente, migliorare l'esperienza utente, rilevare i problemi in anticipo e convalidare l'efficacia delle nuove funzionalità. Con i dati di telemetria, i team possono rispondere a domande critiche, ad esempio:

  • Una funzionalità è abilitata o disabilitata come previsto?
  • Utenti o gruppi specifici accedono alla nuova funzionalità?
  • Una funzionalità causa regressioni o errori delle prestazioni?
  • Qual è l'impatto di una funzionalità sulle metriche chiave, ad esempio engagement o conversione?

Sfruttando i dati di telemetria, le organizzazioni possono prendere decisioni informate, basate sui dati, identificare e risolvere rapidamente i problemi e ottimizzare la distribuzione delle funzionalità per ottenere risultati aziendali e utente migliori.

La telemetria è il processo di raccolta, trasmissione e analisi dei dati relativi all'utilizzo e alle prestazioni dell'applicazione. Consente di monitorare il comportamento dei flag di funzionalità e prendere decisioni basate sui dati. Quando viene distribuita una modifica del flag di funzionalità, è spesso importante analizzarne l'effetto su un'applicazione. Ecco alcune domande che possono verificarsi, ad esempio:

  • I flag sono abilitati/disabilitati come previsto?
  • Gli utenti di destinazione ottengono l'accesso a una determinata funzionalità come previsto?
  • In che modo una variante influisce sull'engagement dei clienti?

Questi tipi di domande possono essere risposte tramite l'emissione e l'analisi degli eventi di valutazione dei flag di funzionalità.

Prerequisiti

Connettersi ad Application Insights

  1. Aprire l'archivio di Configurazione app nel portale di Azure.

  2. Nella sezione Telemetria selezionare il pannello Application Insights (anteprima).

  3. Selezionare la sottoscrizione, il gruppo di risorse. Seleziona quindi la risorsa esistente di Application Insights a cui vuoi connettere l'archivio Configurazione delle app, oppure seleziona Crea nuovo per creare una nuova risorsa di Application Insights.

  4. Scegliere il pulsante Connetti.

    Screenshot del portale di Azure: connessione ad Application Insights.

Abilita dati di telemetria per un flag di funzionalità

  1. Aprire l'archivio di Configurazione app nel portale di Azure e selezionare il pannello Gestione funzionalità nella sezione Operazioni .

  2. Selezionare il flag di funzionalità denominato Greeting. Se non è disponibile, seguire le istruzioni per crearlo. Fare quindi clic con il pulsante destro del mouse sul flag di funzionalità e scegliere Modifica.

    Screenshot che mostra la modifica di un flag di funzionalità nel portale di Azure.

  3. Nella nuova visualizzazione selezionare la scheda Telemetria .

  4. Selezionare la casella Abilita telemetria e quindi selezionare il pulsante Rivedi e aggiorna nella parte inferiore della pagina.

    Screenshot del portale di Azure che abilita la telemetria.

  5. Continuare con le istruzioni seguenti per usare i dati di telemetria nell'applicazione per il linguaggio o la piattaforma in uso.

Esaminare i risultati della telemetria in Configurazione app di Azure

  1. Passare al pannello Application Insights nel portale di Configurazione app. Verrà visualizzato un grafico che visualizza tutti gli eventi dell'applicazione. Questo grafico offre una panoramica iniziale dei modelli di attività.

    Screenshot del portale di Azure, visualizzazione degli eventi nel pannello Application Insights della risorsa di Configurazione app.

  2. Usare il selettore dell'intervallo di tempo per concentrarsi su periodi specifici per identificare le tendenze o analizzare determinati intervalli di tempo di interesse.

  3. Filtrare per flag di funzionalità

    1. Fare clic sul menu a discesa sopra il grafico eventi
    2. In Flag di funzionalità con eventi selezionare il flag di funzionalità
    3. Il grafico visualizzerà ora solo gli eventi correlati alle valutazioni del feature flag

    Screenshot del portale di Azure, selezionando un'etichetta di funzionalità specifica nel pannello Application Insights della risorsa di Configurazione applicazioni.

  4. Per accedere ai dati di telemetria più dettagliati, fare clic su Visualizza dettagli per aprire la scheda telemetria.

    Screenshot del portale di Azure, passare alla scheda Telemetria dal pannello Application Insights della risorsa Configurazione app.

Annotazioni

È anche possibile accedere a questa scheda passando a Gestione funzionalità e facendo clic su Visualizza eventi nella colonna di telemetria per il flag di funzionalità di interesse. Screenshot del portale di Azure, visualizza gli eventi da Gestione funzionalità.

Verificare le assegnazioni varianti

Nella scheda telemetria è possibile visualizzare:

  • Totale eventi: numero totale di eventi di valutazione generati dall'applicazione
  • Utenti univoci: numero di utenti distinti di destinazione e per i quali sono stati generati eventi.

Per visualizzare la distribuzione degli utenti e il numero di valutazioni tra varianti Simple, Long e None, raggruppare le metriche per Variant. Questo raggruppamento consente di verificare se le allocazioni configurate funzionano come previsto e che tutte le varianti previste vengono gestite agli utenti.

Screenshot del portale di Azure, visualizza utenti univoci per variante nella scheda Telemetria.

In questo esempio si noterà che il numero di utenti a cui è stata assegnata la variante "None" è quasi due volte quella delle varianti "Simple" e "Long" date rispettivamente la divisione configurata del 50-25-25 percentile tra "None", "Simple" e "Long".

Confermare le sostituzioni e il comportamento in base allo stato del flag

Gli utenti possono ricevere una variante per motivi diversi. Si vuole assicurarsi che le assegnazioni varianti non siano solo nella proporzione giusta, ma anche per il motivo giusto. È possibile raggruppare le metriche in base al motivo dell'assegnazione. In questo esempio si noterà che l'unico motivo dell'assegnazione è dovuto esclusivamente alle allocazioni percentili.

Screenshot del portale di Azure, visualizzare gli eventi totali in base al motivo dell'assegnazione nella scheda Telemetria.

  1. Disabilitare il flag di funzionalità accedendo al gestore delle funzionalità e disattivando l'interruttore "Abilita" del flag di funzionalità.

  2. Nella colonna telemetria fare clic su Visualizza eventi per passare alla scheda telemetria in modalità di sola lettura.

  3. Visualizza conteggio utenti univoci per Variant. Si noterà che tutte le assegnazioni per Long e Simple vanno a zero. Solo la variante None, che è l'impostazione predefinita in questo caso, viene assegnata agli utenti.

    Screenshot del portale di Azure, visualizzazione del numero di utenti univoci per variante nella scheda telemetria.

  4. Passare alla visualizzazione del numero di utenti univoci in base al motivo dell'assegnazione. Verificare dal grafico che le allocazioni percentili siano pari a zero e DefaultWhenDisabled sia l'unico motivo per cui gli utenti vengono assegnati varianti.

    Altri possibili motivi includono "DefaultWhenEnabled", "Group" o "User" se configurati.

    Screenshot del portale Azure, visualizzazione del numero di utenti univoci in base al motivo dell'assegnazione nel tab telemetria.

Analizzare i dati di telemetria in Application Insights

Dopo aver confermato che le allocazioni dei flag delle funzionalità funzionano come previsto, è possibile approfondire gli eventi di telemetria per vedere come performano varianti diverse in base ai like emessi per gli utenti.

Aprire la risorsa di Application Insights nel portale di Azure e selezionare Log in Monitoraggio. Nella finestra di query eseguire la query seguente per visualizzare gli eventi di telemetria:

// 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)

Screenshot del portale di Azure, visualizzare i risultati dell'analisi di Application Insights.

Viene visualizzato un evento "FeatureEvaluation" per ogni volta che è stata caricata la pagina di preventivo e un evento "Liked" per ogni volta che è stato fatto clic sul pulsante Mi Piace. Gli eventi "FeatureEvaluation" hanno una proprietà personalizzata denominata FeatureName con il nome del flag di funzionalità valutato. Entrambi gli eventi hanno una proprietà personalizzata denominata TargetingId con il nome dell'utente che ha apprezzato la citazione.

In questo esempio è possibile notare che, anche se il numero di utenti che ottengono la variante Long o Simple era approssimativamente la stessa, la variante Simple sembra migliorare le prestazioni di un margine di 22%.