Activer la télémétrie pour les indicateurs de fonctionnalité dans une application Node.js

Dans ce tutoriel, vous utilisez la télémétrie dans votre application Node.js pour suivre les évaluations des indicateurs de fonctionnalité et les événements personnalisés. La télémétrie vous permet de prendre des décisions éclairées sur votre stratégie de gestion des fonctionnalités. Vous utilisez l’indicateur de fonctionnalité avec la télémétrie activée dans la vue d’ensemble pour activer la télémétrie pour les indicateurs de fonctionnalité. Avant de continuer, veillez à créer un indicateur de fonctionnalité nommé Greeting dans votre magasin de configuration avec la télémétrie activée. Ce didacticiel s’appuie sur le didacticiel pour utiliser des indicateurs de fonctionnalités variant dans une application Node.js.

Conditions préalables

Ajouter des données de télémétrie à votre application Node.js

  1. Installez les packages suivants :

    npm install @microsoft/feature-management-applicationinsights-node
    
  2. Ouvrez server.js et ajoutez le code suivant au début pour vous connecter à Application Insights pour publier des données de télémétrie.

    const appInsightsConnectionString = process.env.APPLICATIONINSIGHTS_CONNECTION_STRING;
    const applicationInsights = require("applicationinsights");
    applicationInsights.setup(appInsightsConnectionString).start();
    
    const express = require("express");
    const server = express();
    // existing code ...
    
  3. Ajoutez l’importation suivante.

    const { createTelemetryPublisher, trackEvent } = require("@microsoft/feature-management-applicationinsights-node");
    
  4. Créez et inscrivez l’éditeur de télémétrie lors de l’initialisation du FeatureManager.

    // existing code ...
    const featureFlagProvider = new ConfigurationMapFeatureFlagProvider(appConfig);
    const publishTelemetry = createTelemetryPublisher(applicationInsights.defaultClient);
    featureManager = new FeatureManager(featureFlagProvider, {
        onFeatureEvaluated: publishTelemetry
    });
    // existing code ...
    

    Le publishTelemetry rappel envoie des données de télémétrie chaque fois qu’un indicateur de fonctionnalité est évalué.

  5. Suivez les événements personnalisés pour les interactions utilisateur. Modifiez le point de terminaison pour envoyer des données de télémétrie à Application Insights chaque fois qu’un utilisateur aime le /api/like contenu. Cela vous aide à analyser quelles variantes de fonctionnalités offrent de meilleures performances.

    server.post("/api/like", (req, res) => {
        const { UserId } = req.body;
        if (UserId === undefined) {
            return res.status(400).send({ error: "UserId is required" });
        }
        trackEvent(applicationInsights.defaultClient, UserId, { name: "Liked" });
        res.status(200).send();
    });
    

Exécuter l’application

  1. Application Insights nécessite une chaîne de connexion pour se connecter à votre ressource Application Insights. Définissez la APPLICATIONINSIGHTS_CONNECTION_STRING variable d’environnement sur la chaîne de connexion de votre ressource Application Insights.

    setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"
    

    Si vous utilisez PowerShell, exécutez la commande suivante :

    $Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"
    

    Si vous utilisez macOS ou Linux, exécutez la commande suivante :

    export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
    

Collecter les données de télémétrie

Déployez votre application pour commencer à collecter des données de télémétrie à partir de vos utilisateurs. Pour tester ses fonctionnalités, vous pouvez simuler l’activité utilisateur en créant de nombreux utilisateurs de test. Chaque utilisateur connaît une variante différente des messages d’accueil et peut interagir avec l’application en cliquant sur le bouton cœur pour aimer une citation. À mesure que votre base d’utilisateurs augmente, vous pouvez surveiller le volume croissant de données de télémétrie collectées dans Azure App Configuration. En outre, vous pouvez explorer les données pour analyser la façon dont chaque variante de l’indicateur de fonctionnalité influence le comportement de l’utilisateur.

Ressources supplémentaires