تكوين Microsoft Azure Monitor Application Insights JavaScript SDK
يوفر Azure Application Insights JavaScript SDK تكوينا لتتبع تطبيقات الويب الخاصة بك ومراقبتها وتصحيحها.
تكوين SDK
حقول التكوين هذه اختيارية و افتراضية إلى خطأ ما لم يذكر خلاف ذلك.
للحصول على إرشادات حول كيفية إضافة تكوين SDK، راجع إضافة تكوين SDK.
Name | نوع | الإعداد الافتراضي |
---|---|---|
AccountId مُعرف حساب اختياري، إذا كان تطبيقك يقوم بتجميع المستخدمين في حسابات. لا توجد مسافات أو فواصل أو فاصلات منقوطة أو متساوية أو أشرطة عمودية |
سلسلة | قيمة فارغة |
addRequestContext توفير طريقة لإثراء سجلات التبعيات مع السياق في بداية استدعاء واجهة برمجة التطبيقات. الافتراضي غير معرف. تحتاج إلى التحقق مما إذا كان xhr موجودا إذا قمت بتكوين xhr سياق ذي صلة. تحتاج إلى التحقق مما إذا كنت تقوم بتكوين fetch سياق ذي صلة وما fetch response إذا كنت fetch request موجودا. وإلا فقد لا تحصل على البيانات التي تحتاجها. |
(requestContext: IRequestionContext) => {[key: string]: any} | غير مُعرف |
ajaxPerfLookupDelay الافتراضيات إلى 25 مللي ثانية. مقدار الوقت للانتظار قبل إعادة المحاولة للعثور على توقيتات windows.performance لطلب Ajax، الوقت بالمللي ثانية ويتم تمريره مباشرة إلى setTimeout(). |
عددي | 25 |
appId يُستخدم AppId للارتباط بين تبعيات AJAX التي تحدث من جانب العميل مع طلبات من جانب الخادم. عند تمكين واجهة برمجة تطبيقات Beacon، لا يمكن استخدامها تلقائيا، ولكن يمكن تعيينها يدويا في التكوين. القيمة الافتراضية خالية |
سلسلة | قيمة فارغة |
autoTrackPageVisitTime إذا كان صحيحاً، على صفحة عرض، يتم تعقب وقت عرض الصفحة السابقة وإرسالها كبيانات تتبع الاستخدام ويتم بدء مؤقت جديد لعرض الصفحة الحالية. يتم إرساله كمقياس مخصص اسمه PageVisitTime في milliseconds ويتم حسابه عبر دالة Date now() (إذا كانت متوفرة) ويعود مرة أخرى إلى (new Date()).getTime() إذا كانت now() غير متوفرة (IE8 أو أقل). الافتراضي خطأ. |
boolean | true |
convertUndefined توفير خيار للمستخدم لتحويل حقل غير معرف إلى قيمة معرفة من قبل المستخدم. |
any |
غير مُعرف |
cookieCfg تمكين الإعدادات الافتراضية لاستخدام ملفات تعريف الارتباط، راجع إعدادات ICookieCfgConfig للحصول على الإعدادات الافتراضية الكاملة. |
ICookieCfgConfig [اختياري] (منذ 2.6.0) |
غير مُعرف |
cookieDomain مجال ملفات تعريف الارتباط المخصص. من المفيد إذا كنت تريد مشاركة ملفات تعريف الارتباط Application Insights عبر المجالات الفرعية. (منذ الإصدار 2.6.0) إذا cookieCfg.domain تم تعريفها، فإنها لها الأسبقية على هذه القيمة. |
الاسم المستعار لـ cookieCfg.domain [اختياري] |
قيمة فارغة |
cookiePath مسار ملف تعريف الارتباط المُخصص. من المفيد إذا كنت تريد مشاركة ملفات تعريف الارتباط Application Insights خلف بوابة تطبيق. إذا cookieCfg.path تم تعريفه، فإنه يأخذ الأسبقية. |
الاسم المستعار لـ cookieCfg.path [اختياري] (منذ 2.6.0) |
قيمة فارغة |
مجالات عنوان الارتباط تمكين عناوين الارتباطات لمجالات معينة |
string[] | غير مُعرف |
correlationHeaderExcludedDomains تعطيل عناوين الارتباطات لمجالات معينة |
string[] | غير مُعرف |
correlationHeaderExcludePatterns تعطيل عناوين الارتباطات باستخدام التعبيرات العادية |
regex[] | غير مُعرف |
createPerfMgr دالة رد الاتصال التي سيتم استدعاؤها لإنشاء مثيل IPerfManager عند الحاجة enablePerfMgr ويتم تمكينها، تمكنك من تجاوز الإنشاء الافتراضي ل PerfManager() دون الحاجة إلى setPerfMgr() بعد التهيئة. |
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | غير مُعرف |
customHeaders قدرة المستخدم على توفير عناوين إضافية عند استخدام نقطة نهاية مخصصة. لا تتم إضافة customHeaders في لحظة إيقاف تشغيل المستعرض عند استخدام مرسل الملحق. وإضافة عناوين مخصصة غير مدعومة على IE9 أو أي إصدار سابق. |
[{header: string, value: string}] |
غير مُعرف |
diagnosticLogInterval الفاصل الزمني للاستقصاء(الداخلي) (بالملّي ثانية) لقائمة انتظار تسجيل الدخول الداخلية |
عددي | 10000 |
disableAjaxTracking إذا كان صحيحًا، فلا يتم تجميع اتصالات Ajax تلقائيًا. الافتراضي خطأ. |
boolean | true |
disableCookiesUsage خطأ افتراضي. قيمة منطقية تشير إلى ما إذا كان يجب تعطيل استخدام ملفات تعريف الارتباط بواسطة SDK. إذا كان صحيحا، فإن SDK لا تخزن أو تقرأ أي بيانات من ملفات تعريف الارتباط. (منذ الإصدار 2.6.0) إذا cookieCfg.enabled تم تعريفه، فإنه يأخذ الأسبقية. يمكن إعادة تمكين استخدام ملفات تعريف الارتباط بعد التهيئة عبر core.getCookieMgr().setEnabled(true). |
الاسم المستعار لـ cookieCfg.enabled [اختياري] |
true |
تعطيل عناوين التصحيح إذا كانت خاطئة، يضيف SDK عنوانين ("Request-Id" و"Request-Context") إلى جميع طلبات التبعية لربطها بالطلبات المقابلة على جانب الخادم. الافتراضي خطأ. |
boolean | true |
disableDataLossAnalysis إذا كانت خاطئة، يتم التحقق من المخازن المؤقتة لمرسل بيانات تتبع الاستخدام الداخلية عند بدء التشغيل للعناصر التي لم يتم إرسالها بعد. |
boolean | صحيح |
disableExceptionTracking إذا كان صحيحًا، فلا يتم تجميع الاستثناءات تلقائيًا. الافتراضي خطأ. |
boolean | true |
disableFetchTracking الإعداد الافتراضي ل disableFetchTracking هو false ، مما يعني أنه ممكن. ومع ذلك، في الإصدارات السابقة ل 2.8.10، تم تعطيله بشكل افتراضي. عند التعيين إلى true ، لا يتم جمع طلبات الإحضار تلقائيا. تم تغيير الإعداد الافتراضي من true إلى false في الإصدار 2.8.0. |
boolean | true |
disableFlushOnBeforeUnload خطأ افتراضي. إذا كان صحيحا، لا يتم استدعاء أسلوب المسح عند تشغيل الحدث onBeforeUnload |
boolean | true |
disableIkeyDeprecationMessage تعطيل رسالة خطأ إهمال مفتاح تقرير عن حالة النظام. إذا كان صحيحا، فلن يتم إرسال رسائل الخطأ. |
boolean | صحيح |
disableInstrumentationKeyValidation إذا كان صحيحاً، يتم تجاوز التحقق من صحة مفتاح الأجهزة. القيمة الافتراضية هي خطأ. |
boolean | true |
disableTelemetry إذا كان صحيحًا، فلا يتم تجميع بيانات تتبع الاستخدام أو إرسالها. الافتراضي خطأ. |
boolean | true |
disableXhr لا تستخدم XMLHttpRequest أو XDomainRequest (ل IE < 9) بشكل افتراضي بدلا من محاولة استخدام fetch() أو sendBeacon. إذا لم يتوفر أي نقل آخر، فإنه يستخدم XMLHttpRequest |
boolean | true |
distributedTracingMode تعيين وضع التتبع الموزع. إذا تم تعيين وضع الذكاء الاصطناعي_AND_W3C أو وضع W3C، يتم إنشاء عناوين سياق تتبع W3C (traceparent/tracestate) وتضمينها في جميع الطلبات الصادرة. يتم توفير AI_AND_W3C للتوافق الخلفي مع أي خدمات تطبيقات Application Insights القديمة. |
رقمي أو DistributedTracingModes |
DistributedTracing Modes.AI_AND_W3C |
enableAjaxErrorStatusText خطأ افتراضي. إذا كان صحيحا، قم بتضمين نص بيانات خطأ الاستجابة المنطقي في حدث التبعية على طلبات AJAX الفاشلة. |
boolean | true |
enableAjaxPerfTracking خطأ افتراضي. ضع علامة لتمكين البحث وتضمين توقيتات إضافية ل window.performance للمستعرض في قياسات Ajax (XHR وجلب) المبلغ عنها. |
boolean | true |
enableAutoRouteTracking تعقب تغييرات المسار تلقائياً في تطبيقات الصفحة المفردة (SPA). إذا كان صحيحا، يرسل كل تغيير مسار عرض صفحة جديد إلى Application Insights. يتم تسجيل تغييرات مسار التجزئة ( example.com/foo#bar ) أيضاً كطرق عرض صفحة جديدة.ملاحظة: إذا قمت بتمكين هذا الحقل، فلا تقم بتمكين history الكائن لتكوين موجه React لأنك ستحصل على أحداث عرض صفحة متعددة. |
boolean | true |
تمكينCorsCorrelation إذا كان صحيحا، يضيف SDK عنوانين ("Request-Id" و"Request-Context") إلى جميع طلبات CORS لربط تبعيات AJAX الصادرة بالطلبات المقابلة على جانب الخادم. الافتراضي هو false |
boolean | true |
enableDebug إذا كان صحيحاً، يتم طرح بيانات تصحيح الأخطاء الداخلية واستثناء بدلاً من التسجيل، بغض النظر عن إعدادات تسجيل عدة تطوير البرامج SDK. الافتراضي خطأ. ملاحظة: يؤدي تمكين هذا الإعداد إلى إسقاط بيانات تتبع الاستخدام كلما حدث خطأ داخلي. يمكن أن يكون مفيدا لتحديد المشكلات المتعلقة بتكوين SDK أو استخدامه بسرعة. إذا كنت لا تريد فقدان بيانات تتبع الاستخدام في أثناء تصحيح الأخطاء، ففكر في استخدام loggingLevelConsole أو loggingLevelTelemetry بدلاً من enableDebug . |
boolean | true |
enablePerfMgr عند التمكين (صحيح) فإنه ينشئ perfEvents المحلية للتعليمات البرمجية التي تم وضع علامة عليها لإصدار perfEvents (عبر مساعد doPerf(). يمكن استخدامه لتحديد مشكلات الأداء داخل SDK استنادا إلى استخدامك أو اختياريا داخل التعليمات البرمجية الخاصة بك. |
boolean | true |
enableRequestHeaderTracking إذا كان صحيحا، يتم تعقب رؤوس طلبات AJAX وإحضارها، الإعداد الافتراضي هو خطأ. إذا لم يتم تكوين ignoreHeaders، فلن يتم تسجيل عناوين Authorization وX-API-Key. |
boolean | true |
enableResponseHeaderTracking إذا كان صحيحا، يتم تعقب رؤوس استجابة طلب AJAX وجلبه، والافتراضي خطأ. إذا لم يتم تكوين ignoreHeaders، فلن يتم تسجيل عنوان WWW-Authenticate. |
boolean | true |
enableSessionStorageBuffer القيمة الافتراضية true. إذا كان صحيحاً، يتم تخزين المخزن المؤقت مع جميع بيانات تتبع الاستخدام غير المُرسلة في موقع تخزين جلسة العمل. تتم استعادة المخزن المؤقت عند تحميل الصفحة |
boolean | صحيح |
enableUnhandledPromiseRejectionTracking إذا كان صحيحا، يتم تحديد رفض الوعد غير المعالج تلقائيا كخطأ JavaScript. عندما يكون disableExceptionTracking صحيحا (لا تتعقب الاستثناءات)، يتم تجاهل قيمة التكوين ولا يتم الإبلاغ عن رفض الوعد غير المعالج. |
boolean | true |
eventsLimitInMem عدد الأحداث التي يمكن الاحتفاظ بها في الذاكرة قبل بدء SDK في إسقاط الأحداث عند عدم استخدام Session Storage (الافتراضي). |
رقم | 10000 |
استبعادRequestFromAutoTrackingPatterns توفير طريقة لاستبعاد مسار معين من التتبع التلقائي لطلب XMLHttpRequest أو إحضار. إذا تم تعريفه، بالنسبة لطلب Ajax / fetch الذي يتطابق عنوان URL للطلب مع أنماط regex، يتم إيقاف تشغيل التعقب التلقائي. الافتراضي غير معرف. |
string[] | RegExp[] | غير مُعرف |
featureOptIn تعيين تفاصيل الاشتراك في الميزة. يتوفر حقل التكوين هذا فقط في الإصدار 3.0.3 والإصدارات الأحدث. |
IFeatureOptIn | غير مُعرف |
idLength يحدد الطول الافتراضي المستخدم لإنشاء جلسة عمل عشوائية جديدة ومعرفات المستخدم. الإعدادات الافتراضية إلى 22، كانت القيمة الافتراضية السابقة 5 (إصدار 2.5.8 أو أقل)، إذا كنت بحاجة إلى الاحتفاظ بالحد الأقصى السابق للطول يجب تعيين القيمة إلى 5. |
عددي | 22 |
تجاهل العناوين AJAX وإحضار عناوين الطلب والاستجابة ليتم تجاهلها في بيانات السجل. لتجاوز الإعداد الافتراضي أو تجاهله، أضف صفيفا يحتوي على كافة الرؤوس المراد استبعادها أو صفيف فارغ إلى التكوين. |
string[] | ["التخويل"، "X-API-Key"، "WWW-Authenticate"] |
isBeaconApiDisabled إذا كانت خاطئة، يرسل SDK جميع بيانات تتبع الاستخدام باستخدام واجهة برمجة تطبيقات Beacon |
boolean | صحيح |
isBrowserLinkTrackingEnabled الافتراضي خطأ. إذا كان صحيحا، فإن SDK يتعقب جميع طلبات ارتباط المستعرض. |
boolean | true |
isRetryDisabled خطأ افتراضي. إذا كانت خاطئة، فأعد المحاولة على 206 (نجاح جزئي)، و408 (مهلة)، و429 (طلبات كثيرة جداً)، و500 (خطأ داخلي في الخادم)، و503 (خدمة غير متوفرة)، و0 (دون اتصال، فقط في حالة الكشف عنها) |
boolean | true |
isStorageUseDisabled إذا كان صحيحا، لا تقوم SDK بتخزين أو قراءة أي بيانات من التخزين المحلي وتخزين الجلسة. الافتراضي خطأ. |
boolean | true |
loggingLevelConsole تسجيل الأخطاء الداخلية لـ Application Insights إلى وحدة التحكم. 0: إيقاف التشغيل، 1: الأخطاء الحرجة فقط، 2: كل شيء (أخطاء وتحذيرات) |
عددي | 0 |
loggingLevelTelemetry إرسال الأخطاء الداخلية لـ Application Insights كبيانات تتبع الاستخدام. 0: إيقاف التشغيل، 1: الأخطاء الحرجة فقط، 2: كل شيء (أخطاء وتحذيرات) |
عددي | 1 |
maxAjaxCallsPerView الافتراضي 500 - يتحكم في عدد مكالمات Ajax التي تتم مراقبتها لكل طريقة عرض صفحة. تعيين إلى -1 لمراقبة جميع اتصالات Ajax (غير المحدود) على الصفحة. |
عددي | 500 |
maxAjaxPerfLookupAttempts الإعدادات الافتراضية معينة على 3. الحد الأقصى لعدد المرات للبحث عن توقيت window.performance (إذا كان متوفرا) مطلوب. لا تملأ جميع المستعرضات window.performance قبل الإبلاغ عن نهاية طلب XHR. لطلبات الإحضار، تتم إضافتها بعد اكتمالها. |
عددي | 3 |
maxBatchInterval كم من الوقت تستغرق دُفعة بيانات تتبع الاستخدام قبل الإرسال (بالملّي ثانية) |
عددي | 15000 |
maxBatchSizeInBytes الحد الأقصى لحجم دُفعة بيانات تتبع الاستخدام. إذا تجاوزت الدُفعة هذا الحد، يتم إرسالها على الفور وبدء دُفعة جديدة |
عددي | 10000 |
namePrefix قيمة اختيارية يتم استخدامها ك postfix اسم ل localStorage واسم ملف تعريف ارتباط جلسة العمل. |
سلسلة | غير مُعرف |
onunloadDisableBeacon خطأ افتراضي. عند إغلاق علامة التبويب، يرسل SDK جميع بيانات تتبع الاستخدام المتبقية باستخدام واجهة برمجة تطبيقات Beacon |
boolean | true |
onunloadDisableFetch إذا كان الإحضار حافظا مدعوما، فلا تستخدمه لإرسال الأحداث أثناء إلغاء التحميل، فقد يستمر في العودة إلى الجلب() دون حفظ |
boolean | true |
overridePageViewDuration إذا كان صحيحاً، يتم تغيير السلوك الافتراضي لـ trackPageView لتسجيل نهاية الفاصل الزمني لمدة عرض الصفحة عند الاتصال بـ trackPageView. إذا كانت الحالة خطأ (false) ولم يتم توفير مدة مُخصصة لـ trackPageView، يتم حساب أداء عرض الصفحة باستخدام واجهة برمجة التطبيقات لتوقيت التنقل. الافتراضي خطأ. |
boolean | true |
perfEvtsSendAll عند تمكين enablePerfMgr وIPerfManager قم بإطلاق INotificationManager.perfEvent() تحدد هذه العلامة ما إذا كان يتم تشغيل حدث (وإرسالها إلى جميع وحدات الإصغاء) لجميع الأحداث (true) أو فقط للأحداث 'الأصل' (<افتراضي> خاطئ). IPerfEvent الأصل هو حدث لا يزال فيه IPerfEvent آخر قيد التشغيل عند نقطة إنشاء الحدث ولا تكون الخاصية الأصل الخاصة به فارغة أو غير معرفة. منذ إصدار v2.5.7 |
boolean | true |
samplingPercentage النسبة المئوية للأحداث التي يتم إرسالها. الافتراضي هو 100، ما يعني إرسال جميع الأحداث. قم بتعيينه إذا كنت ترغب في الحفاظ على الحد الأقصى للبيانات للتطبيقات واسعة النطاق. |
عددي | 100 |
sdkExtension تعيين اسم ملحق عدة تطوير البرامج SDK. يسمح فقط بالأحرف الأبجدية. تتم إضافة اسم الملحق كبادئة إلى علامة 'ai.internal.sdkVersion' (على سبيل المثال، 'ext_javascript:2.0.0'). الوضع الافتراضي خالٍ. |
سلسلة | قيمة فارغة |
sessionCookiePostfix قيمة اختيارية يتم استخدامها كاسم postfix لاسم ملف تعريف ارتباط جلسة العمل. إذا لم يتم تعريفه، يتم استخدام namePrefix كاسم postfix لاسم ملف تعريف ارتباط جلسة العمل. |
سلسلة | غير مُعرف |
sessionExpirationMs يتم تسجيل جلسة عمل إذا كان قد استمر لهذا المقدار من الوقت بالملّي ثانية. الافتراضي هو 24 ساعة |
عددي | 86400000 |
sessionRenewalMs يتم تسجيل جلسة عمل إذا كان المستخدم غير نشط لهذا المقدار من الوقت بالملّي ثانية. الافتراضي هو 30 دقيقة |
عددي | 1800000 |
خنقMgrCfg تعيين خنق تكوين mgr حسب المفتاح. يتوفر حقل التكوين هذا فقط في الإصدار 3.0.3 والإصدارات الأحدث. |
{[key: number]: IThrottleMgrConfig} |
غير مُعرف |
userCookiePostfix قيمة اختيارية يتم استخدامها ك postfix اسم لاسم ملف تعريف ارتباط المستخدم. إذا لم يتم تحديده، فلن تتم إضافة postfix على اسم ملف تعريف ارتباط المستخدم. |
سلسلة | غير مُعرف |
إدارة ملفات تعريف الارتباط
بدءا من الإصدار 2.6.0، يوفر Azure Application Insights JavaScript SDK إدارة ملفات تعريف الارتباط المستندة إلى المثيل التي يمكن تعطيلها وإعادة تمكينها بعد التهيئة.
إذا قمت بتعطيل ملفات تعريف الارتباط أثناء التهيئة باستخدام disableCookiesUsage
أو cookieCfg.enabled
التكوينات، يمكنك إعادة تمكينها باستخدام setEnabled
وظيفة كائن ICookieMgr.
تحل إدارة ملفات تعريف الارتباط المستندة إلى المثيل محل الوظائف العمومية السابقة ل CoreUtils و disableCookies()
setCookie()
getCookie()
و و.deleteCookie()
للاستفادة من تحسينات اهتزاز الشجرة المقدمة في الإصدار 2.6.0، يوصى بعدم استخدام الوظائف العمومية بعد الآن.
تكوين ملف تعريف الارتباط
ICookieMgrConfig هو تكوين ملف تعريف ارتباط لإدارة ملفات تعريف الارتباط المستندة إلى المثيل المضافة في 2.6.0. تسمح لك الخيارات المتوفرة بتمكين أو تعطيل استخدام ملفات تعريف الارتباط بواسطة SDK. يمكنك أيضا تعيين مجالات ومسارات ملفات تعريف الارتباط المخصصة وتخصيص الوظائف لجلب ملفات تعريف الارتباط وإعدادها وحذفها.
يتم تعريف خيارات ICookieMgrConfig في الجدول التالي.
Name | نوع | Default | الوصف |
---|---|---|---|
مُمكَّن | boolean | صحيح | يستخدم المثيل الحالي ل SDK هذا المنطقي للإشارة إلى ما إذا كان استخدام ملفات تعريف الارتباط ممكنا أم لا. إذا كان خطأ، فإن مثيل SDK الذي تمت تهيئته بواسطة هذا التكوين لا يخزن أو يقرأ أي بيانات من ملفات تعريف الارتباط. |
المجال | سلسلة | قيمة فارغة | مجال ملفات تعريف الارتباط المخصص. من المفيد إذا كنت تريد مشاركة ملفات تعريف الارتباط Application Insights عبر المجالات الفرعية. إذا لم يتم توفيرها، فاستخدم القيمة الجذرية cookieDomain . |
path | سلسلة | / | تحديد المسار لاستخدام ملف تعريف الارتباط، إذا لم يتم توفيره، فإنه يستخدم أي قيمة من قيمة الجذر cookiePath . |
تجاهل الحسابات | string[] | غير مُعرف | حدد اسم (أسماء) ملفات تعريف الارتباط التي سيتم تجاهلها، مما يؤدي إلى عدم قراءة أو كتابة أي اسم ملف تعريف ارتباط مطابق. قد لا يزال يتم إزالتها أو حذفها بشكل صريح. لا تحتاج إلى تكرار الاسم في blockedCookies التكوين. (منذ الإصدار 2.8.8) |
المجموعات المحظورة | string[] | غير مُعرف | حدد اسم (أسماء) ملفات تعريف الارتباط التي لن تكتب أبدا. يمنع إنشاء أي اسم ملف تعريف ارتباط أو تحديثه، ولكن لا يزال من الممكن قراءته ما لم يتم تضمينه أيضا في ignoreCookies. قد لا يزال يتم إزالتها أو حذفها بشكل صريح. إذا لم يتم توفيره، فسيتم تعيينه افتراضيا إلى نفس القائمة في ignoreCookies. (منذ الإصدار 2.8.8) |
getCookie | (name: string) => string |
قيمة فارغة | دالة لإحضار قيمة ملف تعريف الارتباط المسماة، إذا لم يتم توفيرها، فإنها تستخدم تحليل ملف تعريف الارتباط الداخلي / التخزين المؤقت. |
setCookie | (name: string, value: string) => void |
قيمة فارغة | دالة لتعيين ملف تعريف الارتباط المسمى بالقيمة المحددة، الذي يتم استدعاؤه فقط عند إضافة ملف تعريف ارتباط أو تحديثه. |
delCookie | (name: string, value: string) => void |
قيمة فارغة | دالة لحذف ملف تعريف الارتباط المسمى مع القيمة المحددة، مفصولة عن setCookie لتجنب الحاجة إلى تحليل القيمة لتحديد ما إذا كان تتم إضافة ملف تعريف الارتباط أو إزالته. إذا لم يتم توفيره فإنه يستخدم تحليل ملفات تعريف الارتباط الداخلية / التخزين المؤقت. |
مخطط المصدر
يساعدك دعم خريطة المصدر على تصحيح أخطاء تعليمة JavaScript البرمجية التي تم تصغيرها مع القدرة على توحيد مكامن الاستدعاء الملغومة لبيانات تتبع الاستخدام للاستثناء.
- متوافق مع جميع عمليات التكامل الحالية في لوحة تفاصيل الاستثناء
- يدعم جميع JavaScript SDKs الحالية والمستقبلية، بما في ذلك Node.JS، دون الحاجة إلى ترقية SDK
ارتباط حساب المخزن الثنائي كبير الحجم
يدعم Application Insights تحميل خرائط المصدر إلى حاوية كائن ثنائي كبير الحجم لحساب Azure Storage. يمكنك استخدام خرائط المصدر لتوحيد مكدسات الاستدعاءات الموجودة في صفحة تفاصيل المعاملة من طرف إلى طرف. يمكنك أيضا استخدام خرائط المصدر لتوحيد أي استثناء تم إرساله بواسطة JavaScript SDK أو Node.js SDK.
إنشاء حساب تخزين جديد وحاوية كائن ثنائي كبير الحجم
إذا كان لديك بالفعل حساب تخزين موجود أو حاوية لكائن ثنائي كبير الحجم، يمكنك تخطي هذه الخطوة.
إنشاء حساب تخزين جديد.
إنشاء حاوية كائن ثنائي كبير الحجم داخل حساب التخزين. قم بتعيين مستوى الوصول العام إلى خاص للتأكد من أن خرائط المصدر الخاصة بك غير قابلة للوصول بشكل عام.
دفع خرائط المصدر إلى حاوية الكائن الثنائي كبير الحجم
دمج مسار النشر المستمر مع حساب التخزين الخاص بك عن طريق تكوينه لتحميل خرائط المصدر تلقائيا إلى حاوية blob المكونة.
يمكنك تحميل خرائط المصدر إلى حاوية Azure Blob Storage بنفس بنية المجلد التي تم تجميعها ونشرها معها. حالة الاستخدام الشائعة هي بادئة مجلد نشر بإصداره، على سبيل المثال، 1.2.3/static/js/main.js
. عند التوحيد عبر حاوية كائن ثنائي كبير الحجم ل Azure تسمى sourcemaps
، يحاول المسار إحضار خريطة مصدر موجودة في sourcemaps/1.2.3/static/js/main.js.map
.
تحميل مخططات المصدر عبر مسارات Azure (مستحسن)
إذا كنت تستخدم Azure Pipelines لإنشاء تطبيقك ونشره باستمرار، أضف مهمة نسخ ملف Azure إلى البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك لتحميل خرائط المصدر تلقائيا.
تكوين مورد Application Insights باستخدام حساب تخزين خريطة المصدر
لديك خياران لتكوين مورد Application Insights الخاص بك باستخدام حساب تخزين خريطة المصدر.
علامة التبويب تفاصيل المعاملة من طرف إلى طرف
من علامة التبويب تفاصيل المعاملة من طرف إلى طرف، حدد توحيد. تكوين المورد الخاص بك إذا لم يتم تكوينه.
- في مدخل Microsoft Azure، اعرض تفاصيل استثناء تم تصغيره.
- تحديد تكبير.
- إذا لم يتم تكوين المورد الخاص بك، فكونه.
علامة تبويب الخصائص
لتكوين أو تغيير حساب التخزين أو حاوية الكائن الثنائي كبير الحجم المرتبطة بمورد Application Insights الخاص بك:
انتقل إلى علامة التبويب Properties لمورد Application Insights.
حدد Change source map Blob Container.
حدد حاوية كائن ثنائي كبير الحجم مختلفة كحاوية خريطة المصدر.
حدد تطبيق.
عرض مخزن الاستدعاءات غير المنقوز
لعرض مكدس الاستدعاءات غير المحدد، حدد عنصر بيانات تتبع الاستخدام للاستثناء في مدخل Microsoft Azure، وابحث عن الخرائط المصدر التي تطابق مكدس الاستدعاءات، واسحب الخرائط المصدر وأفلتها في مكدس الاستدعاءات في مدخل Microsoft Azure. يجب أن يكون للمخطط المصدر نفس اسم الملف المصدر لإطار مكدس، ولكن مع ملحق map
.
إذا واجهت مشكلات تتضمن دعم مخطط المصدر لتطبيقات JavaScript، فراجع استكشاف أخطاء دعم مخطط المصدر لتطبيقات JavaScript وإصلاحها.
اهتزاز الشجرة
يزيل اهتزاز الشجرة التعليمات البرمجية غير المستخدمة من حزمة JavaScript النهائية.
للاستفادة من اهتزاز الشجرة، قم باستيراد المكونات الضرورية فقط من SDK إلى التعليمات البرمجية الخاصة بك. من خلال القيام بذلك، لا يتم تضمين التعليمات البرمجية غير المستخدمة في الحزمة النهائية، ما يقلل من حجمها ويحسن الأداء.
تحسينات وتوصيات تهز الشجرة
في الإصدار 2.6.0، قمنا بإيقاف الاستخدام الداخلي لفئات المساعد الثابتة هذه وإزالته لتحسين دعم الخوارزميات التي تهز الشجرة. يتيح لحزم npm إسقاط التعليمات البرمجية غير المستخدمة بأمان.
CoreUtils
EventHelper
Util
UrlHelper
DateTimeUtils
ConnectionStringParser
يتم الآن تصدير الوظائف كجذور ذات مستوى أعلى من الوحدات النمطية، مما يسهل إعادة بناء التعليمات البرمجية الخاصة بك لتحسين اهتزاز الشجرة.
تم تغيير الفئات الثابتة إلى كائنات const التي تشير إلى الوظائف المصدرة الجديدة، ومن المخطط إجراء تغييرات مستقبلية لإعادة بناء التعليمات البرمجية للمراجع.
وظائف وبدائل مهملة تهز الشجرة
ينطبق هذا القسم عليك فقط إذا كنت تستخدم الدالات المهملة وتريد تحسين حجم الحزمة. نوصي باستخدام وظائف الاستبدال لتقليل الحجم ودعم جميع إصدارات Internet Explorer.
القائمه | استبدال |
---|---|
CoreUtils | @microsoft/applicationinsights-core-js |
CoreUtils._canUseCookies | لا يوجد. لا تستخدم لأنها تتسبب في تضمين كافة مرجع CoreUtils في التعليمات البرمجية النهائية. أعد بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().setEnabled(true/false) لتعيين القيمة والتحقق appInsights.getCookieMgr().isEnabled() من القيمة. |
CoreUtils.isTypeof | isTypeof |
CoreUtils.isUndefined | isUndefined |
CoreUtils.isNullOrUndefined | isNullOrUndefined |
CoreUtils.hasOwnProperty | hasOwnProperty |
CoreUtils.isFunction | isFunction |
CoreUtils.isObject | isObject |
CoreUtils.isDate | isDate |
CoreUtils.isArray | isArray |
CoreUtils.isError | isError |
CoreUtils.isString | isString |
CoreUtils.isNumber | رقم isNumber |
CoreUtils.isBoolean | isBoolean |
CoreUtils.toISOString | toISOString أو getISOString |
CoreUtils.arrForEach | arrForEach |
CoreUtils.arrIndexOf | arrIndexOf |
CoreUtils.arrMap | arrMap |
CoreUtils.arrReduce | arrReduce |
CoreUtils.strTrim | strTrim |
CoreUtils.objCreate | objCreateFn |
CoreUtils.objKeys | objKeys |
CoreUtils.objDefineAccessors | objDefineAccessors |
CoreUtils.addEventHandler | addEventHandler |
CoreUtils.dateNow | التاريخ الآن |
CoreUtils.isIE | isIE |
CoreUtils.disableCookies | disableCookies يؤدي الرجوع إلى أي منهما إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().setEnabled(false) |
CoreUtils.newGuid | newGuid |
CoreUtils.perfNow | perfNow |
CoreUtils.newId | معرف جديد |
CoreUtils.randomValue | قيمة عشوائية |
CoreUtils.random32 | random32 |
CoreUtils.mwcRandomSeed | mwcRandomSeed |
CoreUtils.mwcRandom32 | mwcRandom32 |
CoreUtils.generateW3CId | generateW3CId |
EventHelper | @microsoft/applicationinsights-core-js |
EventHelper.Attach | حدث إرفاق |
EventHelper.AttachEvent | حدث إرفاق |
EventHelper.Detach | فصل الحدث |
EventHelper.DetachEvent | فصل الحدث |
Util | @microsoft/applicationinsights-common-js |
Util.NotSpecified | strNotSpecified |
Util.createDomEvent | createDomEvent |
Util.disableStorage | utlDisableStorage |
Util.isInternalApplicationInsightsEndpoint | isInternalApplicationInsightsEndpoint |
Util.canUseLocalStorage | utlCanUseLocalStorage |
Util.getStorage | utlGetLocalStorage |
Util.setStorage | utlSetLocalStorage |
Util.removeStorage | utlRemoveStorage |
Util.canUseSessionStorage | utlCanUseSessionStorage |
Util.getSessionStorageKeys | utlGetSessionStorageKeys |
Util.getSessionStorage | utlGetSessionStorage |
Util.setSessionStorage | utlSetSessionStorage |
Util.removeSessionStorage | utlRemoveSessionStorage |
Util.disableCookies | disableCookies يؤدي الرجوع إلى أي منهما إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().setEnabled(false) |
Util.canUseCookies | canUseCookies يؤدي الرجوع إلى أي منهما إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().isEnabled() |
Util.disallowsSameSiteNone | uaDisallowsSameSiteNone |
Util.setCookie | coreSetCookie يؤدي الرجوع إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().set(name: string, value: string) |
Util.stringToBoolOrDefault | stringToBoolOrDefault |
Util.getCookie | coreGetCookie يؤدي الرجوع إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().get(name: string) |
Util.deleteCookie | coreDeleteCookie يؤدي الرجوع إلى الإشارة إلى CoreUtils للتوافق مع الإصدارات السابقة. إعادة بناء التعليمات البرمجية لمعالجة ملفات تعريف الارتباط لاستخدام appInsights.getCookieMgr().del(name: string, path?: string) |
Util.trim | strTrim |
Util.newId | معرف جديد |
Util.random32 | --- لا يوجد استبدال، أعد بناء التعليمات البرمجية الخاصة بك لاستخدام random32 الأساسية (صحيح) |
Util.generateW3CId | generateW3CId |
Util.isArray | isArray |
Util.isError | isError |
Util.isDate | isDate |
Util.toISOStringForIE8 | toISOString |
Util.getIEVersion | getIEVersion |
Util.msToTimeSpan | msToTimeSpan |
Util.isCrossOriginError | isCrossOriginError |
Util.dump | dumpObj |
Util.getExceptionName | getExceptionName |
Util.addEventHandler | حدث إرفاق |
Util.IsBeaconApiSupported | isBeaconApiSupported |
Util.getExtension | getExtensionByName |
UrlHelper | @microsoft/applicationinsights-common-js |
UrlHelper.parseUrl | urlParseUrl |
UrlHelper.getAbsoluteUrl | urlGetAbsoluteUrl |
UrlHelper.getPathName | urlGetPathName |
UrlHelper.getCompeteUrl | urlGetCompleteUrl |
UrlHelper.parseHost | urlParseHost |
UrlHelper.parseFullHost | urlParseFullHost |
DateTimeUtils | @microsoft/applicationinsights-common-js |
DateTimeUtils.Now | dateTimeUtilsNow |
DateTimeUtils.GetDuration | dateTimeUtilsDuration |
الاتصال StringParser | @microsoft/applicationinsights-common-js |
الاتصال ionStringParser.parse | تحليل الاتصال String |
إعلامات الخدمة
إعلامات الخدمة هي ميزة مضمنة في SDK لتقديم توصيات قابلة للتنفيذ للمساعدة في ضمان تدفق بيانات تتبع الاستخدام دون انقطاع إلى Application Insights. سترى الإعلامات كرسالة استثناء داخل Application Insights. نحن نضمن أن تكون الإعلامات ذات صلة بك استنادا إلى إعدادات SDK الخاصة بك، ونعدل الإسهاب بناء على الحاجة الملحة للتوصية. نوصي بترك إعلامات الخدمة قيد التشغيل، ولكن يمكنك إلغاء الاشتراك عبر featureOptIn
التكوين. انظر أدناه للحصول على قائمة الإعلامات النشطة.
حاليا، لا يتم إرسال إعلامات نشطة.
استكشاف الأخطاء وإصلاحها
راجع «dedicated troubleshooting article».
الأسئلة الشائعة
يقدم هذا القسم إجابات للأسئلة الشائعة.
كيف يمكنني تحديث تكوين خادم الجهات الخارجية ل JavaScript SDK؟
يحتاج الخادم إلى أن يكون قادراً على قبول الاتصالات مع تلك العناوين الموجودة. الاعتماد على التكوين Access-Control-Allow-Headers
من جانب الخادم غالباً ما يكون من الضروري لتوسيع القائمة من جانب الخادم عن طريق إضافة Request-Id
وRequest-Context
، وtraceparent
(عنوان W3C الموزع).
الرؤوس التي تسمح بالتحكم في الوصول: Request-Id
، وtraceparent
، وRequest-Context
، و<your header>
كيف يمكنني تعطيل التتبع الموزع ل JavaScript SDK؟
يمكن تعطيل التتبع الموزع في التكوين.
هل يتم التقاط استجابات HTTP 502 و503 دائما بواسطة Application Insights؟
لا. لا يتم دائما التقاط أخطاء "بوابة غير صحيحة 502" و"خدمة 503 غير متوفرة" بواسطة Application Insights. إذا كان يتم استخدام JavaScript من جانب العميل فقط للمراقبة، فسيكون هذا السلوك متوقعا لأنه يتم إرجاع استجابة الخطأ قبل الصفحة التي تحتوي على رأس HTML مع عرض قصاصة JavaScript للمراقبة.
إذا تم إرسال استجابة 502 أو 503 من خادم مع تمكين المراقبة من جانب الخادم، يتم تجميع الأخطاء بواسطة Application Insights SDK.
حتى عند تمكين المراقبة من جانب الخادم على خادم ويب التطبيق، في بعض الأحيان لا يتم التقاط خطأ 502 أو 503 بواسطة Application Insights. لا تسمح العديد من خوادم الويب الحديثة للعميل بالاتصال مباشرة. بدلا من ذلك، يستخدمون حلولا مثل الوكلاء العكسيين لتمرير المعلومات ذهابا وإيابا بين العميل وخوادم الويب الأمامية.
في هذا السيناريو، قد يتم إرجاع استجابة 502 أو 503 إلى عميل بسبب مشكلة في طبقة الوكيل العكسي، لذلك لا يتم التقاطها خارج الصندوق بواسطة Application Insights. للمساعدة في اكتشاف المشكلات في هذه الطبقة، قد تحتاج إلى إعادة توجيه السجلات من الوكيل العكسي إلى Log Analytics وإنشاء قاعدة مخصصة للتحقق من استجابات 502 أو 503. لمعرفة المزيد حول الأسباب الشائعة لأخطاء 502 و503، راجع استكشاف أخطاء HTTP ل "502 بوابة غير صحيحة" و"خدمة 503 غير متوفرة" في Azure App Service وإصلاحها.