Aktivieren der Telemetrie für Featurekennzeichnungen in einer Node.js-Anwendung

In diesem Tutorial verwenden Sie Telemetrie in Ihrer Node.js-Anwendung, um Feature-Flag-Bewertungen und benutzerdefinierte Ereignisse nachzuverfolgen. Telemetrie ermöglicht Es Ihnen, fundierte Entscheidungen über Ihre Featureverwaltungsstrategie zu treffen. Sie verwenden das Featureflag mit aktivierter Telemetrie, das in der Übersicht für das Aktivieren von Telemetrie für Feature-Flags erstellt wurde. Vor dem Fortfahren stellen Sie sicher, dass Sie ein Feature-Flag namens Begrüßung in Ihrem Konfigurationsspeicher mit aktivierter Telemetrie erstellen. Dieses Tutorial basiert auf dem Tutorial für die Verwendung von Variantenfeatureflags in einer Node.js- Anwendung.

Voraussetzungen

Hinzufügen von Telemetrie zu Ihrer Node.js-Anwendung

  1. Installieren Sie die folgenden Pakete.

    npm install @microsoft/feature-management-applicationinsights-node
    
  2. Öffnen Sie server.js und fügen Sie am Anfang den folgenden Code hinzu, um eine Verbindung zu Application Insights herzustellen und Telemetrie zu veröffentlichen.

    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. Fügen Sie den folgenden Import hinzu.

    const { createTelemetryPublisher, trackEvent } = require("@microsoft/feature-management-applicationinsights-node");
    
  4. Erstellen und registrieren Sie den Telemetrieherausgeber beim Initialisieren von FeatureManager.

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

    Das publishTelemetry Callback sendet Telemetriedaten jedes Mal, wenn ein Feature-Flag ausgewertet wird.

  5. Nachverfolgen benutzerdefinierter Ereignisse für Benutzerinteraktionen. Ändern Sie den /api/like Endpunkt so, dass Telemetriedaten an Application Insights gesendet werden, wenn ein Benutzer Inhalte gefällt. Auf diese Weise können Sie analysieren, welche Featurevarianten besser funktionieren.

    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();
    });
    

Ausführen der Anwendung

  1. Application Insights erfordert eine Verbindungszeichenfolge, um eine Verbindung mit Ihrer Application Insights-Ressource herzustellen. Legen Sie die APPLICATIONINSIGHTS_CONNECTION_STRING Umgebungsvariable auf die Verbindungszeichenfolge für Ihre Application Insights-Ressource fest.

    setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"
    

    Wenn Sie PowerShell verwenden, führen Sie den folgenden Befehl aus:

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

    Führen Sie bei Verwendung von macOS oder Linux den folgenden Befehl aus:

    export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
    

Telemetrie sammeln

Stellen Sie Ihre Anwendung bereit, um mit der Erfassung von Telemetrie von Ihren Benutzern zu beginnen. Um seine Funktionalität zu testen, können Sie Benutzeraktivitäten simulieren, indem Sie viele Testbenutzer erstellen. Jeder Benutzer wird eine andere Variante von Begrüßungsnachrichten erleben, und er kann mit der Anwendung interagieren, indem er auf die Herzschaltfläche klickt, um ein Zitat zu liken. Wenn Ihre Benutzerbasis wächst, können Sie das zunehmende Volumen an Telemetriedaten überwachen, die in der Azure App-Konfiguration gesammelt werden. Darüber hinaus können Sie die Daten vertiefen, um zu analysieren, wie jede Variante des Feature-Flags das Benutzerverhalten beeinflusst.

Weitere Ressourcen