Partilhar via


Habilitar telemetria para sinalizadores de recursos

A telemetria é o processo automatizado de recolher, transmitir e analisar dados sobre como a sua aplicação e as suas funcionalidades são utilizadas. Ativar a telemetria para as feature flags oferece insights valiosos sobre o comportamento e impacto das implementações de funcionalidades, ajudando as equipas a iterar mais rapidamente, melhorar a experiência do utilizador, detetar problemas precocemente e validar a eficácia das novas funcionalidades. Com a telemetria, as equipas podem responder a questões críticas como:

  • Alguma funcionalidade está ativada ou desativada, como esperado?
  • Utilizadores ou grupos específicos estão a aceder à nova funcionalidade?
  • Alguma funcionalidade está a causar regressões ou erros de desempenho?
  • Qual é o impacto de uma funcionalidade em métricas-chave como envolvimento ou conversão?

Ao aproveitar os dados de telemetria, as organizações podem tomar decisões informadas e baseadas em dados, identificar e resolver rapidamente problemas e otimizar a entrega de funcionalidades para melhores resultados para o negócio e os utilizadores.

A telemetria é o processo de coleta, transmissão e análise de dados sobre o uso e o desempenho do seu aplicativo. Ele ajuda você a monitorar o comportamento do sinalizador de recursos e tomar decisões orientadas por dados. Quando uma alteração de sinalizador de recurso é implantada, geralmente é importante analisar seu efeito em um aplicativo. Por exemplo, aqui estão algumas perguntas que podem surgir:

  • Os meus sinalizadores estão ativados/desativados conforme esperado?
  • Os usuários-alvo estão tendo acesso a um determinado recurso conforme o esperado?
  • Como uma variante afeta o envolvimento do cliente?

Estes tipos de perguntas podem ser respondidas através da emissão e análise de eventos de avaliação de sinalizadores de funcionalidades.

Pré-requisitos

Conectar-se ao Application Insights

  1. Abra sua loja de Configuração de Aplicativo no portal do Azure.

  2. Na seção Telemetria, selecione o painel Application Insights (visualização).

  3. Selecione a assinatura, grupo de recursos. Em seguida, selecione o recurso existente do Application Insights ao qual você deseja se conectar à sua loja de configuração de aplicativos ou selecione Criar novo para criar um novo recurso do Application Insights.

  4. Selecione o botão Conectar .

    Captura de tela do portal do Azure, conectando insights de aplicativos.

Habilitar telemetria para um sinalizador de recurso

  1. Abra sua loja de Configuração de Aplicativo no portal do Azure e selecione a folha Gerenciador de recursos na seção Operações .

  2. Selecione o sinalizador de recurso chamado Saudação. Se você não o tiver, siga as instruções para criá-lo. Em seguida, clique com o botão direito do mouse no sinalizador de recurso e selecione Editar.

    Captura de ecrã do portal do Azure, editando um sinalizador de funcionalidade.

  3. No novo modo de exibição, selecione a guia Telemetria .

  4. Marque a caixa Ativar Telemetria e selecione o botão Revisão + atualização na parte inferior da página.

    Captura de ecrã do portal do Azure, ativando a telemetria.

  5. Continue com as instruções a seguir para usar a telemetria em seu aplicativo para o idioma ou plataforma que você está usando.

Revise os resultados da telemetria no Azure App Configuration

  1. Navegue até à lâmina Application Insights no portal de Configuração de Aplicações. Deves ver um gráfico a mostrar todos os eventos da tua candidatura. Este gráfico fornece uma visão geral inicial dos padrões de atividade.

    Captura de ecrã do portal Azure, visualizando eventos na folha Application Insights do recurso de Configuração de Aplicações.

  2. Use o seletor de intervalos temporais para se focar em períodos específicos, identificar tendências ou investigar períodos temporais específicos de interesse.

  3. Filtrar por flag de funcionalidades

    1. Clique no menu suspenso acima do gráfico de eventos
    2. Em Feature flags com eventos, selecione o seu feature flag
    3. O gráfico agora mostrará apenas eventos relacionados com as avaliações da feature flag

    Captura de ecrã do portal Azure, ao selecionar um sinalizador de funcionalidade específico na lâmina de Application Insights do recurso de App Configuration.

  4. Para aceder a telemetria mais detalhada, clique em Ver detalhes para abrir o separador de telemetria.

    Captura de ecrã do portal Azure, navegue para o separador de telemetria a partir do painel App Insights do recurso de Configuração de Aplicações.

Observação

Também pode aceder a este separador indo ao Gestor de Funcionalidades e clicando em Ver eventos na coluna de telemetria para encontrar o flag de funcionalidade de interesse. Captura de ecrã do portal Azure, ver eventos no gestor de funcionalidades.

Verificar atribuições variantes

Na aba de telemetria, pode ver:

  • Total de eventos: Número total de eventos de avaliação emitidos pela sua candidatura
  • Utilizadores únicos: Número de utilizadores distintos que foram alvo e para quem foram emitidos eventos.

Para mostrar a distribuição dos utilizadores e o número de avaliações entre variantes Simples, Longa e Nenhuma, agrupe as métricas por Variante. Este agrupamento permite-lhe ver se as alocações configuradas estão a funcionar como esperado e se todas as variantes esperadas estão a ser servidas aos utilizadores.

Captura de ecrã do portal Azure, visualização de utilizadores únicos por variante no separador de telemetria.

Nesta exemplo, vemos que o número de utilizadores atribuídos à variante "Nenhum" é quase o dobro daqueles das variantes "Simples" e "Longo", dada a divisão percentual configurada de 50-25-25 entre "Nenhum", "Simples" e "Longo", respetivamente.

Confirmar substituições e comportamento com base no estado do indicador

Os utilizadores podem receber uma variante por diferentes razões. Queres garantir que as tuas atribuições variantes não só estão na proporção certa, mas também pela razão certa. Podes agrupar métricas por razão da atribuição. Neste exemplo, vemos que a única razão da atribuição é unicamente devido às alocações percentuais.

Captura de ecrã do portal Azure, veja o total de eventos por motivo de atribuição no separador de telemetria.

  1. Desative o sinalizador de funcionalidade indo ao gestor de funções e alternando o interruptor "Ativar" do sinalizador.

  2. Na coluna de telemetria, clique em Ver eventos para ir ao separador de telemetria em modo apenas de leitura.

  3. Ver número único de utilizadores por Variante. Deves ver que todas as atribuições para Long e Simple vão para zero. Apenas a variante None, que é o padrão no nosso caso, é atribuída aos utilizadores.

    Captura de ecrã do portal do Azure, visualize a contagem de utilizadores únicos por variante no separador de telemetria.

  4. Mudar para ver a contagem única de utilizadores por motivo de atribuição. Confirme no gráfico que as alocações percentuais caem para zero, e que o parâmetro DefaultWhenDisabled é a única razão pela qual os utilizadores estão a receber variantes.

    Outras possíveis razões incluem "DefaultWhenEnabled", "Group" ou "User" se configurado.

    Captura de ecrã do portal Azure, veja a contagem única de utilizadores por motivo de atribuição no separador de telemetria.

Analisar a telemetria em Application Insights

Agora que confirmou que as alocações de sinais de funcionalidades estão a funcionar conforme esperado, pode aprofundar os eventos de telemetria para ver como diferentes variantes estão a funcionar baseando-se nos 'likes' emitidos pelos utilizadores.

Abra o seu recurso Application Insights no portal Azure e selecione Logs em Monitorização. Na janela de consulta, execute a seguinte consulta para ver os eventos de 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)

Captura de ecrã do portal Azure, veja resultados da análise de insights da aplicação.

Vês um evento "FeatureEvaluation" para cada vez que a página de cotações foi carregada e um evento "Gostou" para cada vez que o botão de gostar foi clicado. Os eventos "FeatureEvaluation" têm uma propriedade personalizada chamada FeatureName com o nome da feature flag que foi avaliada. Ambos os eventos têm uma propriedade personalizada chamada TargetingId com o nome do utilizador que gostou da citação.

Neste exemplo, podemos ver que, embora o número de utilizadores a obter a variante Longa em comparação com a Simple tenha sido aproximadamente o mesmo, a variante Simple parece estar a ter um desempenho melhor por uma margem de 22%.