الخدمات المرتبطة

يسجل @blipit/node 0.2 وما بعده، و @blipit/nextjs 0.3، كل طلب يرسله خادمك إلى قاعدة بيانات أو تخزين مؤقت أو خدمة خارجية مثل مزود الرسائل القصيرة أو الدفع أو البريد. تعرض صفحة الخدمات المرتبطة بطاقة لكل خدمة، فترى فورًا متى يبدأ Twilio بالفشل أو تبطئ قاعدة البيانات. لا تحتاج fetch و http و pg و mysql2 و ioredis إلى أي إعداد.

1ثبّت SDK أو حدّثه

حدّث إلى @blipit/node 0.2 أو @blipit/nextjs 0.3 وابدأه قبل تشغيل تطبيقك، بالمفتاح السري. في Next.js، صدّر register أيضًا من instrumentation.ts ليبدأ Blipit عند تشغيل الخادم.

sh
npm install @blipit/node@latest
instrumentation.ts
export { captureRequestError as onRequestError, register } from "@blipit/nextjs/server";

2ما يُسجَّل تلقائيًا

  • طلبات fetch و http أو https الصادرة. يظهر المزودون المعروفون بأسمائهم: Twilio و Vonage و MessageBird و Unifonic و Plivo و Sinch و Infobip و Stripe و PayPal و Checkout.com و Tap Payments و SendGrid و Mailgun و Postmark و Resend و Microsoft Graph و Google APIs و AWS و Supabase و Firebase و OpenAI و Anthropic و Slack و GitHub و Shopify وغيرها. ويظهر أي مضيف آخر باسمه.
  • PostgreSQL عبر pg و Pool الخاص به، و MySQL و MariaDB عبر mysql2، و Redis عبر ioredis.
  • تصبح طلبات HTTP الواردة معاملات في صفحة Pulse، ويُربط كل طلب صادر أثناء معالجتها بها في التتبع.

3عملاء آخرون

يحتاج postgres.js و node-redis و Prisma إلى سطر واحد لكل منها. ويغلف trace() أي شيء آخر، مثل SDK للرسائل القصيرة لا يستخدم HTTP.

js
import postgres from "postgres";
import { createClient } from "redis";
import { PrismaClient } from "@prisma/client";
import * as Blipit from "@blipit/node";

const sql = Blipit.instrumentPostgres(postgres(process.env.DATABASE_URL));
const redis = Blipit.instrumentRedis(createClient());
const prisma = new PrismaClient().$extends(Blipit.prismaExtension("postgresql"));

await Blipit.trace("send OTP", () => sms.send(phone, code), { "server.address": "sms.example.ae" });

4اقرأ الصفحة

تعرض كل بطاقة الطلبات، وزمن الاستجابة الوسيط وعند النسبة المئوية 95، ونسبة الأخطاء، ومدى توفر الخدمة اليوم (UTC)، مع رسم صغير تظهر فيه الطلبات الفاشلة باللون الأحمر. تظهر الخدمات التي تفشل أولًا. افتح بطاقة لترى رسومًا للطلبات وزمن الاستجابة، وأحدث الطلبات الفاشلة وأبطأها، وكل منها مرتبط بتتبعه.

5احصل على تنبيهات

في التنبيهات، ضمن تنبيهات الخدمات المرتبطة والخوادم، اختر مشروعًا وحدّد حدودك الخاصة لـ«خدمة مرتبطة تفشل» و«خدمة مرتبطة بطيئة»، أو أوقف أيًّا منهما. تصل التنبيهات إلى البريد و Slack و Microsoft Teams و webhooks، وتخبرك رسالة ثانية عندما تعود الخدمة إلى وضعها الطبيعي.

6لغات أخرى

يظهر أيضًا أي SDK من OpenTelemetry يرسل المقاطع بصيغة OTLP JSON إلى https://in.blipit.io/v1/traces مع ترويسة X-Blipit-Key: تصبح مقاطع العميل التي تحمل db.system قواعد بيانات، وتصبح مقاطع العميل التي تحمل عنوان HTTP خدمات خارجية.

من المفيد معرفته

  • لا يُرسل أبدًا: القيم داخل SQL (تصبح القيم الحرفية ?)، وسلاسل الاستعلام وبيانات الدخول في الروابط، ومحتوى الطلبات أو الردود. ويتم تخطي الطلبات إلى Blipit نفسه.
  • يحدد tracesSampleRate (افتراضيًا 0.2) نسبة الطلبات المسجلة؛ وتُعاد الأعداد في الصفحة إلى حجمها الكامل. يوقفها tracing: false.
  • تُحتسب المقاطع ضمن الحصة الشهرية للخطة. تُحفظ بيانات الخدمات المرتبطة مدة حفظ المقاطع: 7 أيام في Free و Solo، و14 يومًا في Team و Scale.
  • يتطلب التسجيل التلقائي Node.js 20.16 أو 22.3 وما بعدهما. وعلى الاستضافات بدون خادم، غلّف المعالج ليُسجَّل الطلب الوارد ويُرسل قبل توقف الدالة: wrapHandler لـ AWS Lambda، وwithBlipit لمعالجات المسارات وإجراءات الخادم في Next.js، وtraceRequest للمعالجات الأخرى التي تستقبل Request.

هل واجهتك مشكلة؟ راسل support@blipit.io. المفاتيح ومعرّف كل مشروع موجودة تحت مفاتيح API في app.blipit.io.