Bağımlılıklar

@blipit/node 0.2 ve sonrası ile @blipit/nextjs 0.3, sunucunuzun bir veritabanına, önbelleğe veya SMS, ödeme ya da e-posta sağlayıcısı gibi bir dış hizmete yaptığı her çağrıyı kaydeder. Bağımlılıklar sayfası her hizmet için bir kart gösterir; Twilio hata vermeye başladığında ya da veritabanı yavaşladığında hemen görürsünüz. fetch, http, pg, mysql2 ve ioredis için kurulum gerekmez.

1SDK'yı kurun veya güncelleyin

@blipit/node 0.2 veya @blipit/nextjs 0.3'e güncelleyin ve uygulamanız başlamadan önce gizli anahtarla başlatın. Next.js'te ayrıca instrumentation.ts'den register'ı dışa aktarın; böylece Blipit sunucu açılırken başlar.

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

2Kendiliğinden kaydedilenler

  • Giden fetch ve http ya da https çağrıları. Bilinen sağlayıcılar kendi adlarıyla görünür: 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 ve daha fazlası. Diğer her sunucu kendi adıyla görünür.
  • pg ve Pool üzerinden PostgreSQL, mysql2 üzerinden MySQL ve MariaDB, ioredis üzerinden Redis.
  • Gelen HTTP istekleri Pulse sayfasında işlem olur ve bunları işlerken yapılan her çağrı izde onlara bağlanır.

3Diğer istemciler

postgres.js, node-redis ve Prisma için birer satır yeterli. trace() geri kalan her şeyi sarar; örneğin HTTP kullanmayan bir SMS SDK'sı.

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" });

4Sayfayı okuyun

Her kart çağrıları, ortanca ve 95. yüzdelik yanıt süresini, hata oranını ve hizmetin bugün (UTC) ne kadar erişilebilir olduğunu, başarısız çağrıların kırmızı göründüğü küçük bir grafikle gösterir. Hata veren hizmetler önce gelir. Çağrı ve yanıt süresi grafikleri, son başarısız ve en yavaş çağrılar için bir karta tıklayın; her biri kendi izine bağlıdır.

5Uyarı alın

Uyarılar'da, Bağımlılık ve sunucu uyarıları bölümünde bir proje seçin ve Bir bağımlılık hata veriyor ile Bir bağımlılık yavaş için kendi sınırlarınızı belirleyin ya da ikisinden birini kapatın. Uyarılar e-posta, Slack, Microsoft Teams ve webhook'lara gider; hizmet normale döndüğünde ikinci bir mesaj gelir.

6Diğer diller

Span'leri OTLP JSON olarak X-Blipit-Key başlığıyla https://in.blipit.io/v1/traces adresine gönderen her OpenTelemetry SDK'sı da görünür: db.system içeren istemci span'leri veritabanı, HTTP URL'si içeren istemci span'leri dış hizmet olur.

Bilmekte fayda var

  • Asla gönderilmeyenler: SQL içindeki değerler (sabit değerler ? olur), URL'lerdeki sorgu dizeleri ve kimlik bilgileri, istek ve yanıt gövdeleri. Blipit'in kendisine yapılan çağrılar atlanır.
  • tracesSampleRate (varsayılan 0.2) kaydedilen isteklerin oranını belirler; sayfadaki sayılar yeniden ölçeklenir. tracing: false kapatır.
  • Span'ler planın aylık span kotasına sayılır. Bağımlılık verileri span'ler kadar saklanır: Free ve Solo'da 7 gün, Team ve Scale'de 14 gün.
  • Otomatik kayıt Node.js 20.16 veya 22.3 ve sonrasını gerektirir. Sunucusuz ortamlarda, gelen isteğin kaydedilip fonksiyon duraklamadan önce gönderilmesi için handler'ı sarmalayın: AWS Lambda için wrapHandler, Next.js route handler ve server action'ları için withBlipit, Request alan diğer handler'lar için traceRequest.

Takıldınız mı? support@blipit.io adresine e-posta gönderin. Her projenin anahtarları ve proje id'si app.blipit.io içindeki API anahtarları altındadır.