تصدير بيانات تتبع الاستخدام من Application Insights
هل تريد الاحتفاظ بتتبع الاستخدام لفترة أطول من فترة الاستبقاء القياسية؟ أو هل تريد معالجته بطريقة متخصصة؟ التصدير المستمر مثالي لهذا الغرض. يمكن تصدير الأحداث التي تراها في مدخل Application Insights إلى التخزين في Azure بتنسيق JSON. من هناك، يمكنك تنزيل بياناتك وكتابة أي رمز تحتاجه لمعالجتها.
هام
- اعتبارا من 29 فبراير 2024، سيتم إيقاف التصدير المستمر.
- عند الترحيل إلى مورد Application Insights المستند إلى مساحة العمل، يجب استخدام إعدادات التشخيص لتصدير بيانات تتبع الاستخدام. يجب أن تستخدم جميع موارد Application Insights المستندة إلى مساحة العمل إعدادات التشخيص.
- قد يؤدي تصدير إعدادات التشخيص إلى زيادة التكاليف. لمزيد من المعلومات، راجع التصدير المستند إلى إعدادات التشخيص.
قبل إعداد التصدير المستمر، هناك بعض البدائل التي قد ترغب في مراعاتها:
- يتيح لك الزر تصدير في أعلى علامة تبويب المقاييس أو البحث نقل الجداول والمخططات إلى جدول بيانات Excel.
- يوفر Log Analytics لغة استعلام قوية للقياس عن بعد. كما يمكن تصدير النتائج.
- إذا كنت تبحث عن استكشاف بياناتك في Power BI، يمكنك القيام بذلك دون استخدام التصدير المستمر إذا قمت بالترحيل إلى مورد يستند إلى مساحة العمل.
- تتيح لك واجهة برمجة تطبيقات REST للوصول إلى البيانات الوصول إلى بيانات تتبع الاستخدام برمجيا.
- يمكنك أيضا الوصول إلى الإعداد للتصدير المستمر عبر PowerShell.
بعد أن ينسخ التصدير المستمر بياناتك إلى التخزين، حيث يمكن أن تبقى طالما تشاء، فإنها لا تزال متوفرة في Application Insights لفترة الاستبقاء المعتادة.
المناطق المدعومة
يتم دعم التصدير المستمر في المناطق التالية:
- جنوب شرق آسيا
- وسط كندا
- وسط الهند
- أوروبا الشمالية
- جنوب المملكة المتحدة
- شرق أستراليا
- شرق اليابان
- وسط كوريا
- وسط فرنسا
- شرق آسيا
- غرب الولايات المتحدة
- Central US
- East US 2
- South Central US
- West US 2
- جنوب أفريقيا
- وسط شمال الولايات المتحدة
- جنوب البرازيل
- شمال سويسرا
- جنوب شرق أستراليا
- غرب المملكة المتحدة
- وسط غرب ألمانيا
- غرب سويسرا
- وسط أستراليا 2
- الإمارات العربية المتحدة، الوسط
- جنوب شرق البرازيل
- وسط أستراليا
- شمال الإمارات العربية المتحدة
- شرق النرويج
- غرب اليابان
إشعار
سيستمر التصدير المستمر في العمل للتطبيقات في شرق الولايات المتحدة وغرب أوروبا إذا تم تكوين التصدير قبل 23 فبراير 2021. لا يمكن تكوين قواعد التصدير المستمرة الجديدة على أي تطبيق في شرق الولايات المتحدة أو غرب أوروبا، بغض النظر عن وقت إنشاء التطبيق.
تصدير التكوين المتقدم للتخزين المستمر
لا يدعم التصدير المستمر ميزات أو تكوينات Azure Storage التالية:
- استخدام جدران حماية Azure Virtual Network/Azure Storage مع Azure Blob Storage.
- Azure Data Lake Storage Gen2.
إنشاء تصدير مستمر
إشعار
لا يمكن للتطبيق تصدير أكثر من 3 تيرابايت من البيانات يوميا. إذا تم تصدير أكثر من 3 تيرابايت يوميا، تعطيل التصدير. للتصدير دون حد، استخدم التصدير المستند إلى إعدادات التشخيص.
في مورد Application Insights لتطبيقك ضمن Configure على اليسار، افتح Continuous export وحدد Add.
اختر أنواع بيانات تتبع الاستخدام التي تريد تصديرها.
إنشاء حساب تخزين Azure أو تحديده حيث تريد تخزين البيانات. لمزيد من المعلومات حول خيارات تسعير التخزين، راجع صفحة التسعير.
حدد Add>Export destination>Storage account. ثم إما إنشاء متجر جديد أو اختيار متجر موجود.
تحذير
بشكل افتراضي، سيتم تعيين موقع التخزين على نفس المنطقة الجغرافية مثل مورد Application Insights الخاص بك. إذا قمت بتخزين في منطقة مختلفة، فقد تتحمل رسوم نقل.
إنشاء حاوية في التخزين أو تحديدها.
إشعار
بعد إنشاء التصدير الخاص بك، ستبدأ البيانات التي تم استيعابها حديثا في التدفق إلى Azure Blob Storage. لا يرسل التصدير المستمر سوى بيانات تتبع الاستخدام الجديدة التي تم إنشاؤها أو استيعابها بعد تمكين التصدير المستمر. لن يتم تصدير أي بيانات كانت موجودة قبل تمكين التصدير المستمر. لا توجد طريقة مدعومة لتصدير البيانات التي تم إنشاؤها مسبقا بأثر رجعي باستخدام التصدير المستمر.
قد يكون هناك تأخير لمدة ساعة تقريباً قبل ظهور البيانات في المخزن.
بعد الانتهاء من التصدير الأول، ستجد البنية التالية في حاوية Blob Storage. (تختلف هذه البنية حسب البيانات التي تجمعها.)
Name | الوصف |
---|---|
التوفر | تقارير اختبارات الويب المتوفرة . |
الحدث | أحداث مخصصة تم إنشاؤها بواسطة TrackEvent(). |
الاستثناءات | تقارير عن الاستثناءات في الخادم وفي المستعرض. |
رسائل | أرسلت بواسطة TrackTrace، وبواسطة محولات تسجيل. |
المقاييس | تم إنشاؤه بواسطة استدعاء API المتري. |
PerformanceCounters | عدادات الأداء التي تم جمعها بواسطة Application Insights. |
الطلبات | أرسلت من قبل TrackRequest. تستخدم الوحدات القياسية الطلبات للإبلاغ عن وقت استجابة الخادم، والتي يتم قياسها على الخادم. |
تحرير التصدير المستمر
حدد التصدير المستمر وحدد حساب التخزين لتحريره.
إيقاف التصدير المستمر
لإيقاف التصدير، حدد تعطيل. عند تحديد تمكين مرة أخرى، تتم إعادة تشغيل التصدير باستخدام بيانات جديدة. لن تحصل على البيانات التي وصلت إلى المدخل أثناء تعطيل التصدير.
لإيقاف التصدير نهائياً، قم بحذفه. ولا يؤدي القيام بذلك إلى حذف بياناتك من التخزين.
ألا تستطيع إضافة أو تغيير تصدير؟
لإضافة أو تغيير عمليات التصدير، تحتاج إلى حقوق وصول المالك أو المساهم أو المساهمdk في Application Insights. تعرف على الأدوار.
ما هي الأحداث التي تحصل عليها؟
البيانات المصدرة هي البيانات الأولية التي نتلقاها من تطبيقك مع بيانات الموقع المضافة من عنوان IP الخاص بالعميل.
لا يتم تضمين البيانات التي تم تجاهلها عن طريق أخذ العينات في البيانات التي تم تصديرها.
لا يتم تضمين القياسات المحسوبة الأخرى. على سبيل المثال، لا نقوم بتصدير متوسط استخدام وحدة المعالجة المركزية، لكننا نقوم بتصدير القياس الخام عن بُعد الذي يتم من خلاله حساب المتوسط.
تتضمن البيانات أيضاً نتائج أي اختبارات ويب متوفرة قمت بإعدادها.
إشعار
إذا كان التطبيق الخاص بك يرسل الكثير من البيانات، فقد تعمل ميزة أخذ العينات وترسل جزءا قليلا فقط من بيانات تتبع الاستخدام التي تم إنشاؤها. اعرف المزيد حول أخذ العينات.
فحص البيانات
يمكنك فحص التخزين مباشرة في المدخل. حدد الصفحة الرئيسية في القائمة الموجودة في أقصى اليسار. في الجزء العلوي حيث تظهر خدمات Azure، حدد حسابات التخزين. حدد اسم حساب التخزين، وفي صفحة Overview حدد Services>Blobs. وأخيرا، حدد اسم الحاوية.
لفحص Azure Storage في Visual Studio، حدد View>Cloud Explorer. إذا لم يكن لديك أمر القائمة هذا، فستحتاج إلى تثبيت Azure SDK. افتح مربع الحوار New Project، وقم بتوسيع Visual C#/Cloud، وحدد Get Microsoft Azure SDK ل .NET.
عند فتح متجر blob الخاص بك، سترى حاوية مع مجموعة من ملفات النقطة. سترى URI لكل ملف مشتق من اسم مورد Application Insights ومفتاح تقرير عن حالة النظام ونوع بيانات تتبع الاستخدام والتاريخ والوقت. اسم المورد كله بأحرف صغيرة، ومفتاح تقرير عن حالة النظام يحذف الشرطات.
إشعار
في 31 مارس 2025، سينتهي دعم إدخال مفاتيح الأجهزة. سيستمر استيعاب مفتاح الأجهزة في العمل ولكننا لن نقوم بتوفير تحديثات أو أي دعم للميزة. الانتقال إلى سلاسل الاتصال للاستفادة من الإمكانات الجديدة.
التاريخ والوقت بالتوقيت العالمي المنسق (UTC) ووقت إيداع بيانات تتبع الاستخدام في المتجر، وليس الوقت الذي تم إنشاؤه فيه. لهذا السبب، إذا قمت بكتابة التعليمات البرمجية لتنزيل البيانات، فيمكنها التنقل خطيا عبر البيانات.
إليك شكل المسار:
$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"
المكان:
blobCreationTimeUtc
هو الوقت الذي تم فيه إنشاء الكائن الثنائي كبير الحجم في التخزين المرحلي الداخلي.blobDeliveryTimeUtc
هو الوقت الذي يتم فيه نسخ الكائن الثنائي كبير الحجم إلى تخزين وجهة التصدير.
تنسيق البيانات
يتم تنسيق البيانات بحيث:
كل كائن ثنائي كبير الحجم هو ملف نصي يحتوي على عدة
\n
صفوف مفصولة. يحتوي على القياس عن بعد الذي تمت معالجته خلال فترة زمنية تبلغ نصف دقيقة تقريباً.يمثل كل صف نقطة بيانات بيانات تتبع الاستخدام، مثل طلب أو طريقة عرض الصفحة.
كل صف هو مستند JSON غير منسق. إذا كنت تريد عرض الصفوف، فافتح الكائن الثنائي كبير الحجم في Visual Studio وحدد تحرير>ملف تنسيق متقدم.>
الفترات الزمنية محددة بعلامات، حيث 10000 علامة تجزئة = 1 مللي ثانية. على سبيل المثال، تُظهر هذه القيم وقتاً قدره 1 مللي ثانية لإرسال طلب من المتصفح، و3 مللي ثانية لاستلامه، و1.8 ثانية لمعالجة الصفحة في المتصفح:
"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}
للحصول على مرجع نموذج بيانات مفصل أنواع الخصائص والقيم، راجع نموذج بيانات تصدير Application Insights.
معالجة البيانات
على نطاق صغير، يمكنك كتابة بعض التعليمات البرمجية لسحب البيانات وقراءتها في جدول بيانات. على سبيل المثال:
private IEnumerable<T> DeserializeMany<T>(string folderName)
{
var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
foreach (var file in files)
{
using (var fileReader = File.OpenText(file))
{
string fileContent = fileReader.ReadToEnd();
IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
foreach (var entity in entities)
{
yield return JsonConvert.DeserializeObject<T>(entity);
}
}
}
}
للحصول على نموذج تعليمات برمجية أكبر، راجع استخدام دور عامل.
حذف بياناتك القديمة
أنت مسؤول عن إدارة سعة التخزين وحذف البيانات القديمة، إذا لزم الأمر.
إعادة إنشاء مفتاح التخزين الخاص بك
إذا قمت بتغيير مفتاح التخزين الخاص بك، سيتوقف التصدير المستمر عن العمل. سترى إشعاراً في حسابك في Azure.
حدد علامة التبويب تصدير مستمر وقم بتحرير التصدير. قم بتحرير قيمة تصدير الوجهة، ولكن اترك نفس التخزين محددا. حدد موافق للتأكيد.
ستتم إعادة تشغيل التصدير المستمر.
تصدير عينات
للحصول على عينات التصدير، راجع:
على نطاقات أكبر، ضع في اعتبارك مجموعات HDInsight Hadoop في السحابة. يوفر HDInsight تقنيات مختلفة لإدارة وتحليل البيانات الضخمة. يمكنك استخدامه لمعالجة البيانات التي تم تصديرها من Application Insights.
الأسئلة الشائعة
يقدم هذا القسم إجابات للأسئلة الشائعة.
هل يمكنني الحصول على تنزيل مخطط لمرة واحدة؟
يمكنك القيام بذلك. في الجزء العلوي من علامة التبويب، حدد Export Data.
لقد قمت بإعداد تصدير، ولكن لماذا لا توجد بيانات في متجري؟
هل تلقت Application Insights أي تتبع عن بُعد من تطبيقك منذ أن قمت بإعداد التصدير؟ ستتلقى بيانات جديدة فقط.
حاولت إعداد تصدير، ولكن لماذا تم منعي من الوصول؟
إذا كان الحساب مملوكا لمؤسستك، فيجب أن تكون عضوا في مجموعات المالكين أو المساهمين.
هل يمكنني التصدير مباشرة إلى متجري الداخلي؟
لا. يعمل محرك التصدير حاليا فقط مع Azure Storage في الوقت الحالي.
هل هناك أي حد لكمية البيانات التي تضعها في متجري؟
لا. سنستمر في دفع البيانات حتى تقوم بحذف التصدير. سنتوقف إذا وصلنا إلى الحدود الخارجية ل Blob Storage، ولكن هذا الحد كبير. الأمر متروك لك للتحكم في كمية التخزين التي تستخدمها.
كم عدد النقط التي يجب أن أراها في المخزن؟
- لكل نوع بيانات حددته لتصديره، يتم إنشاء كائن ثنائي كبير الحجم جديد كل دقيقة، إذا كانت البيانات متوفرة.
- بالنسبة للتطبيقات ذات نسبة استخدام الشبكة العالية، يتم تخصيص وحدات قسم إضافية. في هذه الحالة، تقوم كل وحدة بإنشاء النقطة كل دقيقة.
لقد قمت بإعادة إنشاء المفتاح إلى التخزين الخاص بي، أو تغيير اسم الحاوية، ولكن لماذا لا يعمل التصدير؟
قم بتحرير التصدير وحدد علامة التبويب تصدير الوجهة . اترك نفس التخزين محددا كما كان من قبل، وحدد موافق للتأكيد. ستتم إعادة تشغيل التصدير. إذا كان التغيير خلال الأيام القليلة الماضية، فلن تفقد البيانات.
هل يمكنني إيقاف التصدير مؤقتاً؟
نعم. حدد تعطيل.
نماذج التعليمات البرمجية
- نموذج Stream Analytics
- التصدير إلى SQL باستخدام Stream Analytics
- مرجع نموذج بيانات مفصل أنواع الخصائص والقيم
التصدير المستند إلى إعدادات التشخيص
يفضل تصدير إعدادات التشخيص لأنه يوفر ميزات إضافية:
- حسابات Azure Storage مع الشبكات الظاهرية وجدران الحماية والارتباطات الخاصة.
- التصدير إلى Azure Event Hubs.
يختلف تصدير إعدادات التشخيص عن التصدير المستمر بالطرق التالية:
- المخطط المحدث.
- يتم إرسال بيانات التتبع عن بُعد فور وصولها بدلاً من التحميلات المجمعة.
هام
قد يتم تكبد تكاليف إضافية بسبب زيادة في المكالمات إلى الوجهة، مثل حساب التخزين.
للترحيل إلى تصدير إعدادات التشخيص:
- تمكين إعدادات التشخيص على Classic Application Insights.
- تكوين تصدير البيانات: حدد إعدادات>التشخيص إضافة إعداد تشخيص من داخل مورد Application Insights.
- تحقق من تكوين تصدير البيانات الجديد بنفس تكوين التصدير المستمر
تنبيه
إذا كنت ترغب في تخزين سجلات التشخيص في مساحة عمل Log Analytics، فهناك نقطتان يجب مراعاتها لتجنب رؤية البيانات المكررة في Application Insights:
- لا يمكن أن تكون الوجهة هي نفس مساحة عمل Log Analytics التي يستند إليها مورد Application Insights.
- لا يمكن لمستخدم Application Insights الوصول إلى مساحتي العمل. تعيين وضع التحكم في الوصول إلى Log Analytics إلى يتطلب أذونات مساحة العمل. من خلال التحكم في الوصول المستند إلى الدور في Azure، تأكد من أن المستخدم لديه حق الوصول فقط إلى مساحة عمل Log Analytics التي يستند إليها مورد Application Insights.
هذه الخطوات ضرورية لأن Application Insights يصل إلى بيانات تتبع الاستخدام عبر موارد Application Insight، بما في ذلك مساحات عمل Log Analytics، لتوفير عمليات معاملات كاملة شاملة وخرائط تطبيقات دقيقة. نظرا لأن سجلات التشخيص تستخدم نفس أسماء الجداول، يمكن عرض بيانات تتبع الاستخدام المكررة إذا كان لدى المستخدم حق الوصول إلى موارد متعددة تحتوي على نفس البيانات.
نموذج بيانات تصدير Application Insights
يسرد هذا الجدول خصائص القياس عن بُعد المُرسلة من تطبيقات SDK لـ Application Insights إلى البوابة الإلكترونية. سترى هذه الخصائص في إخراج البيانات من Continuous Export. كما تظهر في عوامل تصفية الخصائص في Metric ExplorerوDiagnostic Search.
نقاط لتسجيلها:
[0]
في هذه الجداول تشير إلى نقطة في المسار يجب فيها إدراج فهرس; لكنها ليست دائماً صفر.- المدد الزمنية هي في أعشار ميكروثانية، حتى 10000000 == 1 ثانية.
- التواريخ والأوقات هي UTC، وتعطى في شكل ISO
yyyy-MM-DDThh:mm:ss.sssZ
مثال
// A server report about an HTTP request
{
"request": [
{
"urlData": { // derived from 'url'
"host": "contoso.org",
"base": "/",
"hashTag": ""
},
"responseCode": 200, // Sent to client
"success": true, // Default == responseCode<400
// Request id becomes the operation id of child events
"id": "fCOhCdCnZ9I=",
"name": "GET Home/Index",
"count": 1, // 100% / sampling rate
"durationMetric": {
"value": 1046804.0, // 10000000 == 1 second
// Currently the following fields are redundant:
"count": 1.0,
"min": 1046804.0,
"max": 1046804.0,
"stdDev": 0.0,
"sampledValue": 1046804.0
},
"url": "/"
}
],
"internal": {
"data": {
"id": "7f156650-ef4c-11e5-8453-3f984b167d05",
"documentVersion": "1.61"
}
},
"context": {
"device": { // client browser
"type": "PC",
"screenResolution": { },
"roleInstance": "WFWEB14B.fabrikam.net"
},
"application": { },
"location": { // derived from client ip
"continent": "North America",
"country": "United States",
// last octagon is anonymized to 0 at portal:
"clientip": "168.62.177.0",
"province": "",
"city": ""
},
"data": {
"isSynthetic": true, // we identified source as a bot
// percentage of generated data sent to portal:
"samplingRate": 100.0,
"eventTime": "2016-03-21T10:05:45.7334717Z" // UTC
},
"user": {
"isAuthenticated": false,
"anonId": "us-tx-sn1-azr", // bot agent id
"anonAcquisitionDate": "0001-01-01T00:00:00Z",
"authAcquisitionDate": "0001-01-01T00:00:00Z",
"accountAcquisitionDate": "0001-01-01T00:00:00Z"
},
"operation": {
"id": "fCOhCdCnZ9I=",
"parentId": "fCOhCdCnZ9I=",
"name": "GET Home/Index"
},
"cloud": { },
"serverDevice": { },
"custom": { // set by custom fields of track calls
"dimensions": [ ],
"metrics": [ ]
},
"session": {
"id": "65504c10-44a6-489e-b9dc-94184eb00d86",
"isFirst": true
}
}
}
السياق
وترافق جميع أنواع بيانات تتبع الاستخدام قسم السياق. لا يتم إرسال كافة هذه الحقول مع كل نقطة بيانات.
المسار | نوع | ملاحظات |
---|---|---|
context.custom.dimensions [0] | كائن [ ] | أزواج سلسلة قيمة المفتاح التي تم تعيينها بواسطة معلمة خصائص مخصصة. الحد الأقصى لطول المفتاح 100، قيم الحد الأقصى للطول 1024. أكثر من 100 قيمة فريدة، يمكن البحث في الخاصية ولكن لا يمكن استخدامها للتجزئة. الحد الأقصى 200 مفاتيح لكل ikey. |
context.custom.metrics [0] | كائن [ ] | أزواج القيمة المفتاحية التي تم تعيينها بواسطة معلمة القياسات المخصصة وTrackMetrics. الحد الأقصى لطول المفتاح 100، قد تكون القيم رقمية. |
context.data.eventTime | سلسلة | UTC |
context.data.isSynthetic | boolean | يبدو أن الطلب يأتي من اختبار بوت أو الويب. |
context.data.samplingRate | رقم | النسبة المئوية لقياس بيانات تتبع الاستخدام التي تم إنشاؤها بواسطة SDK التي يتم إرسالها إلى المدخل. النطاق: 0.0-100.0 |
context.device | كائن | جهاز العميل |
context.device.browser | سلسلة | IE, Chrome, ... |
context.device.browserVersion | سلسلة | Chrome 48.0, ... |
context.device.deviceModel | سلسلة | |
context.device.deviceName | سلسلة | |
context.device.id | سلسلة | |
context.device.locale | سلسلة | en-GB, de-DE, ... |
context.device.network | سلسلة | |
context.device.oemName | سلسلة | |
context.device.os | سلسلة | |
context.device.osVersion | سلسلة | نظام التشغيل المضيف |
context.device.roleInstance | سلسلة | معرف مضيف الخادم |
context.device.roleName | سلسلة | |
context.device.screenResolution | سلسلة | |
context.device.type | سلسلة | الكمبيوتر، متصفح، ... |
context.location | كائن | مشتق من clientip . |
context.location.city | سلسلة | مشتق من clientip ، إذا كان معروفاً |
context.location.clientip | سلسلة | المثمن الأخير مجهول إلى 0. |
context.location.continent | سلسلة | |
context.location.country | سلسلة | |
context.location.province | سلسلة | المحافظة أو المنطقة |
context.operation.id | سلسلة | يتم عرض العناصر التي لها نفس operation id باعتبارها عناصر ذات صلة في المدخل. عادة ما تكون request id . |
context.operation.name | سلسلة | عنوان URL أو اسم الطلب |
context.operation.parentId | سلسلة | يسمح بالعناصر المرتبطة المتداخلة. |
context.session.id | سلسلة | Id مجموعة من العمليات من نفس المصدر. تشير فترة 30 دقيقة بدون عملية إلى نهاية الجلسة. |
context.session.isFirst | boolean | |
context.user.accountAcquisitionDate | سلسلة | |
context.user.accountId | سلسلة | |
context.user.anonAcquisitionDate | سلسلة | |
context.user.anonId | سلسلة | |
context.user.authAcquisitionDate | سلسلة | معرفات المستخدم المصادق عليها |
context.user.authId | سلسلة | |
context.user.isAuthenticated | boolean | |
context.user.storeRegion | سلسلة | |
internal.data.documentVersion | سلسلة | |
internal.data.id | سلسلة | Unique id التي تم تعيينها عند تناول عنصر إلى Application Insights |
حدث
أحداث مخصصة تم إنشاؤها بواسطة TrackEvent().
المسار | نوع | ملاحظات |
---|---|---|
عدد الأحداث [0] | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
اسم الحدث [0] | سلسلة | اسم الحدث. الحد الأقصى للطول 250. |
الحدث [0] رابط | سلسلة | |
الحدث [0] urlData.base | سلسلة | |
الحدث [0] urlData.host | سلسلة |
استثناءات
تقارير عن الاستثناءات في الخادم وفي المستعرض.
المسار | نوع | ملاحظات |
---|---|---|
تجميع basicException [0] | سلسلة | |
عدد basicException [0] | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
مجموعة الاستثناء basicException [0] | سلسلة | |
نوع الاستثناء basicException [0] | سلسلة | |
basicException [0] failedUserCodeMethod | سلسلة | |
basicException [0] failedUserCodeAssembly | سلسلة | |
basicException [0] handledAt | سلسلة | |
basicException [0] hasFullStack | boolean | |
basicException [0] id |
سلسلة | |
طريقة basicException [0] | سلسلة | |
رسالة basicException [0] | سلسلة | رسالة الاستثناء. أقصى طول 10 آلاف. |
basicException [0] outerExceptionMessage | سلسلة | |
basicException [0] outerExceptionThrownAtAssembly | سلسلة | |
basicException [0] outerExceptionThrownAtMethod | سلسلة | |
basicException [0] outerExceptionType | سلسلة | |
basicException [0] outerId | سلسلة | |
basicException [0] parsedStack [0] assembly | سلسلة | |
basicException [0] parsedStack [0] fileName | سلسلة | |
basicException [0] parsedStack [0] level | integer | |
basicException [0] parsedStack [0] line | integer | |
basicException [0] parsedStack [0] method | سلسلة | |
basicException [0] stack | سلسلة | أقصى طول 10 آلاف |
basicException [0] typeName | سلسلة |
تتبع الرسائل
أرسلت بواسطة TrackTrace، وبواسطة محولات تسجيل.
المسار | نوع | ملاحظات |
---|---|---|
اسم تسجيل الرسالة [0] | سلسلة | |
معلمات [0] الرسالة | سلسلة | |
رسالة [0] الخام | سلسلة | رسالة السجل، أقصى طول 10 آلاف. |
الرسالة [0] severityLevel | سلسلة |
التبعية عن بعد
أرسلت من قبل TrackDependency. تستخدم للإبلاغ عن أداء واستخدام المكالمات إلى التبعيات في الملقم، والمكالمات AJAX في المستعرض.
المسار | نوع | ملاحظات |
---|---|---|
remoteDependency [0] async | boolean | |
remoteDependency [0] baseName | سلسلة | |
remoteDependency [0] commandName | سلسلة | على سبيل المثال، "home/index" |
عد remoteDependency [0] | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
remoteDependency [0] dependencyTypeName | سلسلة | HTTP, SQL, ... |
remoteDependency [0] durationMetric.value | رقم | الوقت من الاستدعاء إلى إكمال الاستجابة حسب التبعية |
remoteDependency [0] id |
سلسلة | |
remoteDependency [0] name | سلسلة | Url. الحد الأقصى للطول 250. |
remoteDependency [0] resultCode | سلسلة | من تبعية HTTP |
remoteDependency [0] success | boolean | |
نوع remoteDependency [0] | سلسلة | Http, Sql,... |
remoteDependency [0] url | سلسلة | الحد الأقصى للطول 2000 |
remoteDependency [0] urlData.base | سلسلة | الحد الأقصى للطول 2000 |
remoteDependency [0] urlData.hashTag | سلسلة | |
remoteDependency [0] urlData.host | سلسلة | الحد الأقصى للطول 200 |
الطلبات
أرسلت من قبل TrackRequest. تستخدم الوحدات القياسية هذا لتقارير وقت استجابة الخادم، والتي يتم قياسها على الخادم.
المسار | نوع | ملاحظات |
---|---|---|
طلب [0] العد | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
request [0] durationMetric.value | رقم | الوقت من الطلب للوصول إلى الاستجابة. 1e7 == 1s |
request [0] id |
سلسلة | Operation id |
اسم طلب [0] | سلسلة | GET/POST + قاعدة رابط. الحد الأقصى للطول 250 |
طلب [0] responseCode | integer | استجابة HTTP المرسلة إلى العميل |
نجاح [0] طلب | boolean | الافتراضي == (responseCode < 400) |
طلب [0] رابط | سلسلة | لا يشمل المضيف |
طلب [0] urlData.base | سلسلة | |
طلب [0] urlData.hashTag | سلسلة | |
طلب [0] urlData.host | سلسلة |
أداء عرض الصفحة
أرسلت من قبل المتصفح. يقيس الوقت اللازم لمعالجة الصفحة، بدءاً من بدء المستخدم لطلب العرض مكتملاً (باستثناء مكالمات AJAX غير المتزامن).
تظهر قيم السياق نظام التشغيل العميل وإصدار المستعرض.
المسار | نوع | ملاحظات |
---|---|---|
clientPerformance [0] clientProcess.value | integer | الوقت من نهاية استلام HTML حتى عرض الصفحة. |
اسم clientPerformance [0] | سلسلة | |
clientPerformance [0] networkConnection.value | integer | الوقت الذي استغرقه تأسيس اتصال شبكة اتصال. |
clientPerformance [0] receiveRequest.value | integer | الوقت من نهاية إرسال الطلب إلى تلقي HTML في الرد. |
clientPerformance [0] sendRequest.value | integer | الوقت المستغرق لإرسال طلب HTTP. |
clientPerformance [0] total.value | integer | الوقت من البدء في إرسال الطلب إلى عرض الصفحة. |
clientPerformance [0] url | سلسلة | عنوان URL لهذا الطلب |
clientPerformance [0] urlData.base | سلسلة | |
clientPerformance [0] urlData.hashTag | سلسلة | |
clientPerformance [0] urlData.host | سلسلة | |
clientPerformance [0] urlData.protocol | سلسلة |
طرق عرض الصفحة
المرسلة بواسطة trackPageView() أو stopTrackPage
المسار | نوع | ملاحظات |
---|---|---|
عدد عرض [0] | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
عرض [0] durationMetric.value | integer | يتم تعيين القيمة اختياريًا في trackPageView () أو عن طريق startTrackPage () - stopTrackPage (). ليس نفس قيم الأداء العميل. |
عرض الاسم [0] | سلسلة | عنوان الصفحة. الحد الأقصى للطول 250 |
عرض [0] رابط | سلسلة | |
عرض [0] urlData.base | سلسلة | |
عرض [0] urlData.hashTag | سلسلة | |
عرض [0] urlData.host | سلسلة |
التوافر
تقارير اختبارات الويب المتوفرة .
المسار | نوع | ملاحظات |
---|---|---|
availability [0] availabilityMetric.name | سلسلة | التوفر |
availability [0] availabilityMetric.value | رقم | 1.0 أو 0.0 |
عدد التوافر [0] | integer | 100/(معدل أخذ العينات). على سبيل المثال، 4 => 25% |
availability [0] dataSizeMetric.name | سلسلة | |
availability [0] dataSizeMetric.value | integer | |
availability [0] durationMetric.name | سلسلة | |
availability [0] durationMetric.value | رقم | مدة الاختبار. 1e7==1s |
رسالة التوفر [0] | سلسلة | تشخيص الفشل |
نتيجة توافر [0] | سلسلة | تمرير/فشل |
availability [0] runLocation | سلسلة | مصدر جغرافي لـhttp req |
availability [0] testName | سلسلة | |
availability [0] testRunId | سلسلة | |
availability [0] testTimestamp | سلسلة |
المقاييس
تم إنشاؤه بواسطة TrackMetric().
تم العثور على قيمة القياس في context.custom.metrics[0]
على سبيل المثال:
{
"metric": [ ],
"context": {
...
"custom": {
"dimensions": [
{ "ProcessId": "4068" }
],
"metrics": [
{
"dispatchRate": {
"value": 0.001295,
"count": 1.0,
"min": 0.001295,
"max": 0.001295,
"stdDev": 0.0,
"sampledValue": 0.001295,
"sum": 0.001295
}
}
]
}
}
}
حول القيم المترية
يتم الإبلاغ عن قيم القياس، سواء في التقارير المترية أو في أي مكان آخر، باستخدام بنية كائن قياسية. على سبيل المثال:
"durationMetric": {
"name": "contoso.org",
"type": "Aggregation",
"value": 468.71603053650279,
"count": 1.0,
"min": 468.71603053650279,
"max": 468.71603053650279,
"stdDev": 0.0,
"sampledValue": 468.71603053650279
}
حالياً - على الرغم من أن هذا قد يتغير في المستقبل - في جميع القيم التي تم الإبلاغ عنها من وحدات SDK القياسية، count==1
وفقط الحقول name
و value
هي الحقول المفيدة. الحالة الوحيدة التي تكون مختلفة إذا قمت بكتابة المكالمات TrackMetric الخاصة بك التي قمت بتعيين المعلمات الأخرى.
الغرض من الحقول الأخرى هو السماح بتجميع المقاييس في SDK، لتقليل حركة المرور إلى المدخل. على سبيل المثال، يمكنك متوسط عدة قراءات متتالية قبل إرسال كل تقرير متري. ثم تقوم بحساب الحد الأدنى والحد الأقصى والانحراف المعياري والقيمة الإجمالية (المجموع أو المتوسط) وتعيين العد على عدد القراءات التي يمثلها التقرير.
في الجداول أعلاه، حذفنا عدد الحقول المستخدمة نادراً، count, min, max, stdDev, sampledValue.
بدلاً من المقاييس المجمعة مسبقًا، يمكنك استخدامأخذ العينات إذا كنت بحاجة إلى تقليل حجم بيانات تتبع الاستخدام.
المدد
ما لم يُذكر خلاف ذلك، يتم تمثيل المدد بعشر الميكروثانية، بحيث يعني 10000000.0 ثانية واحدة.