ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا البرنامج التعليمي، يمكنك استخدام القياس عن بعد في تطبيق Python لتعقب تقييمات علامة الميزة والأحداث المخصصة. تسمح لك بيانات تتبع الاستخدام لاتخاذ قرارات مستنيرة حول استراتيجية إدارة الميزات الخاصة بك. يمكنك استخدام علامة الميزة مع تمكين بيانات تتبع الاستخدام التي تم إنشاؤها في تمكين القياس عن بعد لعلامات الميزة. قبل المتابعة، تأكد من إنشاء علامة ميزة تسمى Greeting في مخزن التكوين الخاص بك مع تمكين بيانات تتبع الاستخدام. يعتمد هذا البرنامج التعليمي على استخدام علامات الميزات المتغيرة.
المتطلبات الأساسية
- علامة ميزة المتغير مع تمكين بيانات تتبع الاستخدام من تمكين بيانات تتبع الاستخدام لعلامات الميزات.
- التطبيق من استخدام علامات ميزة المتغير.
إضافة بيانات تتبع الاستخدام إلى تطبيق Python الخاص بك
تثبيت الحزم المطلوبة باستخدام pip:
pip install azure-appconfiguration-provider pip install featuremanagement["AzureMonitor"] pip install azure-monitor-opentelemetry
افتح
app.py
التعليمات البرمجية الخاصة بك وقم بتكوينها للاتصال ب Application Insights لنشر بيانات تتبع الاستخدام.import os from azure.monitor.opentelemetry import configure_azure_monitor # Configure Azure Monitor configure_azure_monitor(connection_string=os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"))
أيضا في
app.py
تحميل علامات الميزات الخاصة بك من App Configuration وتحميلها في إدارة الميزات.FeatureManager
يستخدم دالةpublish_telemetry
رد الاتصال لنشر بيانات تتبع الاستخدام إلى Azure Monitor.from featuremanagement.azuremonitor import publish_telemetry feature_manager = FeatureManager(config, on_feature_evaluated=publish_telemetry)
افتح
routes.py
التعليمات البرمجية وتحديثها لتعقب الأحداث الخاصة بك في التطبيق الخاص بك. عندtrack_event
استدعاء، يتم نشر حدث مخصص إلى Azure Monitor مع المستخدم المقدم.from featuremanagement import track_event @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"})
افتح
index.html
التعليمات البرمجية وحدثها لتنفيذ الزر like. يرسل الزر like طلب POST إلى/heart
نقطة النهاية عند النقر فوقه.<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>
إنشاء وتشغيل التطبيق
تتطلب رؤى التطبيق سلسلة اتصال للاتصال بمورد Application Insights الخاص بك.
APPLICATIONINSIGHTS_CONNECTION_STRING
تعيين متغير البيئة إلى سلسلة الاتصال لمورد Application Insights الخاص بك.setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"
إذا كنت تستخدم PowerShell، فقم بتشغيل الأمر التالي:
$Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"
إذا كنت تستخدم macOS أو Linux، فقم بإجراء الأمر التالي:
export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
قم بتشغيل التطبيق، راجع الخطوة 2 من استخدام علامات ميزة المتغير .
إنشاء 10 مستخدمين مختلفين وتسجيل الدخول إلى التطبيق. أثناء تسجيل الدخول مع كل مستخدم، تحصل على متغير رسالة مختلف لبعض منهم. ~50% من الوقت الذي لا تتلقى فيه أي رسالة. 25% من الوقت الذي تحصل فيه على الرسالة "مرحبا!" و25% من الوقت الذي تحصل فيه على "آمل أن هذا يجعل يومك!".
مع بعض المستخدمين حدد الزر Like لتشغيل حدث القياس عن بعد.
افتح مورد Application Insights في مدخل Microsoft Azure وحدد Logs ضمن Monitoring. في نافذة الاستعلام، قم بتشغيل الاستعلام التالي لمشاهدة أحداث بيانات تتبع الاستخدام:
// Total users let total_users = customEvents | where name == "FeatureEvaluation" | summarize TotalUsers = count() by Variant = tostring(customDimensions.Variant); // Hearted users let hearted_users = customEvents | where name == "FeatureEvaluation" | extend TargetingId = tostring(customDimensions.TargetingId) | join kind=inner ( customEvents | where name == "Liked" | extend TargetingId = tostring(customDimensions.TargetingId) ) on TargetingId | summarize HeartedUsers = count() by Variant = tostring(customDimensions.Variant); // Calculate the percentage of hearted users over total users 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; // Calculate the sum of total users and hearted users of all variants let total_sum = combined_data | summarize Variant="All", TotalUsers = sum(TotalUsers), HeartedUsers = sum(HeartedUsers); // Display the combined data along with the sum of total users and hearted users combined_data | union (total_sum)
ترى "تقييم الميزات" واحدا لكل مرة تم فيها تحميل صفحة الاقتباس وحدث "تسجيل إعجاب" واحد لكل مرة تم فيها النقر فوق الزر like. يحتوي حدث "تقييم الميزات" على خاصية مخصصة تسمى
FeatureName
باسم علامة الميزة التي تم تقييمها. يحتوي كلا الحدثين على خاصية مخصصة تسمىTargetingId
باسم المستخدم الذي أعجبه عرض الأسعار.