Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, usará la telemetría en la aplicación de Node.js para realizar un seguimiento de las evaluaciones de marcas de características y los eventos personalizados. La telemetría permite tomar decisiones fundamentadas sobre la estrategia de gestión de características. Utilizas la bandera de características con telemetría habilitada creada en el resumen para habilitar la telemetría para las banderas de características. Antes de continuar, asegúrese de crear una bandera de características denominada Greeting en el almacén de configuración con telemetría habilitada. Este tutorial se basa en el tutorial para usar marcas de características variantes en una aplicación de Node.js.
Prerrequisitos
- La marca de características variante con telemetría habilitada en Habilitar telemetría para las marcas de características.
- La aplicación de Usar marcas de características variantes en una aplicación de Node.js.
Añadir telemetría a tu aplicación Node.js
Instale los siguientes paquetes.
npm install @microsoft/feature-management-applicationinsights-nodeAbra
server.jsy agregue el código siguiente al principio para conectarse a Application Insights para publicar telemetría.const appInsightsConnectionString = process.env.APPLICATIONINSIGHTS_CONNECTION_STRING; const applicationInsights = require("applicationinsights"); applicationInsights.setup(appInsightsConnectionString).start(); const express = require("express"); const server = express(); // existing code ...Agregue la siguiente importación.
const { createTelemetryPublisher, trackEvent } = require("@microsoft/feature-management-applicationinsights-node");Cree y registre el publicador de telemetría al inicializar el
FeatureManager.// existing code ... const featureFlagProvider = new ConfigurationMapFeatureFlagProvider(appConfig); const publishTelemetry = createTelemetryPublisher(applicationInsights.defaultClient); featureManager = new FeatureManager(featureFlagProvider, { onFeatureEvaluated: publishTelemetry }); // existing code ...La
publishTelemetrydevolución de llamada enviará datos de telemetría cada vez que se evalúe una marca de característica.Realice un seguimiento de eventos personalizados para las interacciones del usuario. Modifique el
/api/likepunto de conexión para enviar datos de telemetría a Application Insights siempre que un usuario quiera contenido. Esto le ayuda a analizar qué variantes de características funcionan mejor.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(); });
Ejecutar la aplicación
Application Insights requiere una cadena de conexión para conectarse al recurso de Application Insights. Establezca la variable de entorno
APPLICATIONINSIGHTS_CONNECTION_STRINGen la cadena de conexión del recurso de Application Insights.setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"Si usa PowerShell, ejecute el siguiente comando:
$Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"Si usa macOS o Linux, ejecute el siguiente comando:
export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'Ejecute la aplicación; consulte el paso 4 de Uso de marcas de características variantes.
Cree 10 usuarios diferentes e inicie sesión en la aplicación. Al iniciar sesión con cada usuario, obtendrá una variante de mensaje diferente para algunas de ellas. ~50 % del tiempo que no recibe ningún mensaje. 25% del tiempo que recibe el mensaje "¡Hola!" y el 25 % del tiempo que recibe "¡Espero que esto haga su día!"
Algunos de los usuarios hacen clic en el botón Me gusta para desencadenar el evento de telemetría.

Abra el recurso de Application Insights en Azure Portal y seleccione Registros en Supervisión. En la ventana de consulta, ejecute la consulta siguiente para ver los eventos de telemetría:
// Step 1: Get distinct users and their Variant from FeatureEvaluation let evaluated_users = customEvents | where name == "FeatureEvaluation" | 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 TotalUsers = sum(TotalUsers), HeartedUsers = sum(HeartedUsers) | extend Variant = "All", PercentageHearted = strcat(round(HeartedUsers * 100.0 / TotalUsers, 1), "%") | project Variant, TotalUsers, HeartedUsers, PercentageHearted; // Step 7: Output combined_data | union (total_sum)
Verá un evento "FeatureEvaluation" para cada vez que se cargó la página de comillas y se hizo clic en un evento "Liked" para cada vez que se hizo clic en el botón de me gusta. El evento "FeatureEvaluation" tiene una propiedad personalizada denominada
FeatureNamecon el nombre de la marca de característica que se evaluó. Ambos eventos tienen una propiedad personalizada denominadaTargetingIdcon el nombre del usuario que gustó la cita.Para obtener más información sobre el evento "FeatureEvaluation", vaya a la referencia de telemetría de marcas de características
Recursos adicionales
Pasos siguientes
Para obtener la lista completa de características de la biblioteca de administración de características de JavaScript, consulte el siguiente documento.