Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm verwenden Sie Telemetrie in Ihrer Python-Anwendung, um Feature-Flag-Bewertungen und benutzerdefinierte Ereignisse nachzuverfolgen. Telemetrie ermöglicht Es Ihnen, fundierte Entscheidungen über Ihre Featureverwaltungsstrategie zu treffen. Sie verwenden das mit aktivierter Telemetrie erstellte Feature-Flag aus der Übersicht, um Telemetrie für Feature-Flags zu aktivieren. Vor dem Fortfahren stellen Sie sicher, dass Sie ein Feature-Flag namens Begrüßung in Ihrem Konfigurationsspeicher mit aktivierter Telemetrie erstellen. Dieses Tutorial baut auf dem Tutorial zur Verwendung von Varianten-Feature-Flags in einer Python-Anwendung auf.
Voraussetzungen
- Das Varianten-Feature-Flag mit aktivierter Telemetrie aus Telemetrie für Feature-Flags aktivieren.
- Die Anwendung aus Verwendung von Varianten-Feature-Flags in einer Python-Anwendung.
Hinzufügen von Telemetrie zu Ihrer Python-Anwendung
Installieren Sie die erforderlichen Pakete mit pip:
pip install azure-appconfiguration-provider pip install featuremanagement["AzureMonitor"] pip install azure-monitor-opentelemetryÖffnen und konfigurieren Sie
app.pyIhre Anwendung, um eine Verbindung mit Application Insights herzustellen und Telemetriedaten zu veröffentlichen. Stellen Sie sicher, dass die vorhandenefrom flask import FlaskImportanweisung nach demconfigure_azure_monitor(...)aufruf im folgenden Code angezeigt wird. Diese Reihenfolge ist erforderlich, damit die automatische Instrumentierung von OpenTelemetry ordnungsgemäß funktioniert.import os from azure.monitor.opentelemetry import configure_azure_monitor # Configure Azure Monitor configure_azure_monitor(connection_string=os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"))app.pyLaden Sie auch Ihre Featurekennzeichnungen aus der App-Konfiguration und laden Sie sie in die Featureverwaltung.FeatureManagerverwendet diepublish_telemetryRückruffunktion, um Telemetrie in Azure Monitor zu veröffentlichen.from featuremanagement.azuremonitor import publish_telemetry feature_manager = FeatureManager(config, on_feature_evaluated=publish_telemetry)Öffnen Sie
routes.pyund aktualisieren Sie Ihren Code, um Ihre eigenen Ereignisse in Ihrer Anwendung nachzuverfolgen. Wenntrack_eventein benutzerdefiniertes Ereignis aufgerufen wird, wird ein benutzerdefiniertes Ereignis mit dem bereitgestellten Benutzer in Azure Monitor veröffentlicht.from featuremanagement import track_event from flask import jsonify @bp.route("/heart", methods=["POST"]) def heart(): if current_user.is_authenticated: user = current_user.username # Track the appropriate event based on the action track_event("Liked", user) return jsonify({"status": "success"})Öffnen Sie
index.htmlund aktualisieren Sie ihn, um die Schaltfläche "Gefällt mir" zu implementieren. Die Schaltfläche "Gefällt mir" sendet beim Klicken eine POST-Anforderung an den/heartEndpunkt.<script> function heartClicked(button) { var icon = button.querySelector('i'); // Toggle the heart icon appearance icon.classList.toggle('far'); icon.classList.toggle('fas'); // Only send a request to the dedicated heart endpoint when it's a like action if (icon.classList.contains('fas')) { fetch('/heart', { method: 'POST', headers: { 'Content-Type': 'application/json', } }); } } </script>
Erstellen und Ausführen der App
Application Insights erfordert eine Verbindungszeichenfolge, um eine Verbindung mit Ihrer Application Insights-Ressource herzustellen. Legen Sie die
APPLICATIONINSIGHTS_CONNECTION_STRINGUmgebungsvariable auf die Verbindungszeichenfolge für Ihre Application Insights-Ressource fest. Um das Verbindungszeichenfolge zu finden, öffnen Sie das Azure-Portal, navigieren Sie zu Application Insights, wählen Sie Ihre zuvor erstellte Application Insights-Ressource aus, und wechseln Sie dann zur Übersicht. Kopieren Sie den Wert der Verbindungszeichenfolge. Ersetzen Sie den Platzhalterwert im folgenden Befehl durch die Verbindungszeichenfolge, die Sie aus Ihrer Application Insights-Ressource kopiert haben.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.