Datadog
كيفية دمج Datadog مع OpenReplay ومشاهدة أخطاء الواجهة الخلفية جنبًا إلى جنب مع تسجيلات الجلسات.
1. إنشاء API Key و Application Key الخاصة بـ Datadog
Section titled 1. إنشاء API Key و Application Key الخاصة بـ Datadogانتقل إلى Datadog > Integrations > APIs وأنشئ API Key، أو استخدم المفتاح الموجود مسبقًا.

في الصفحة نفسها، انقر على Application Keys وأنشئ application key جديدًا.

2. تفعيل التكامل في OpenReplay
Section titled 2. تفعيل التكامل في OpenReplayالصق API Key و Application Key الخاصين بـ Datadog في لوحة تحكم OpenReplay ضمن ‘Preferences > Integration’.

3. تمرير openReplaySessionToken
Section titled 3. تمرير openReplaySessionTokenلربط حدث Datadog بجلسة المستخدم المسجَّلة، يجب تمرير رمز فريد من الواجهة الأمامية إلى الواجهة الخلفية في كل طلب ترغب في تتبعه. يمكن القيام بذلك باستخدام ترويسة HTTP مخصصة. في المثال أدناه، نستخدم الدالة fetch لإرسال تلك الترويسة.
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
};
if (tracker.getSessionToken()) { // or window.OpenReplay instead of tracker if you're using the snippet
headers['X-OpenReplay-SessionToken'] = tracker.getSessionToken(); // Inject openReplaySessionToken
}
fetch('www.your-backend.com', {
'GET',
headers,
});
لكي يتمكن OpenReplay من ربط إدخال سجل Datadog بجلسة المستخدم المسجَّلة، يجب تمرير رمز فريد إلى كل خطأ في الواجهة الخلفية ترغب في تتبعه.
فيما يلي مثال بلغة Python باستخدام Monkey Patching.
import sys
import traceback
#...
old_tb = traceback.print_exception
old_f = sys.stdout
old_e = sys.stderr
OPENREPLAY_SESSION_TOKEN = None
class F:
def write(self, x):
if OPENREPLAY_SESSION_TOKEN is not None and x != '\n':
old_f.write(f"[openReplaySessionToken={OPENREPLAY_SESSION_TOKEN}] {x}")
else:
old_f.write(x)
def flush(self):
pass
def tb_print_exception(etype, value, tb, limit=None, file=None, chain=True):
if OPENREPLAY_SESSION_TOKEN is not None:
value = type(value)(f"[openReplaySessionToken={OPENREPLAY_SESSION_TOKEN}] " + str(value))
old_tb(etype, value, tb, limit, file, chain)
traceback.print_exception = tb_print_exception
sys.stderr = F()
اسم الوسم openReplaySessionToken حساس لحالة الأحرف.
هل لديك أسئلة؟
Section titled هل لديك أسئلة؟إذا واجهت أي مشكلات، تواصل معنا عبر Slack أو تفقّد المنتدى الخاص بنا واحصل على المساعدة من مجتمعنا.