Surveillance
Dépendances
@blipit/node 0.2 et plus, et @blipit/nextjs 0.3, enregistrent chaque appel de votre serveur à une base de données, un cache ou un service externe comme un fournisseur de SMS, de paiement ou d'e-mail. La page Dépendances affiche une carte par service : vous voyez tout de suite quand Twilio commence à échouer ou que la base de données ralentit. fetch, http, pg, mysql2 et ioredis ne demandent aucune configuration.
1Installer ou mettre à jour le SDK
Passez à @blipit/node 0.2 ou @blipit/nextjs 0.3 et initialisez-le avant le démarrage de votre app, avec la clé secrète. Dans Next.js, exportez aussi register depuis instrumentation.ts pour que Blipit démarre avec le serveur.
npm install @blipit/node@latestexport { captureRequestError as onRequestError, register } from "@blipit/nextjs/server";2Ce qui est enregistré tout seul
- Les appels sortants fetch et http ou https. Les fournisseurs connus ont leur propre nom : 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 et d'autres. Tout autre hôte apparaît sous son nom.
- PostgreSQL via pg et son Pool, MySQL et MariaDB via mysql2, et Redis via ioredis.
- Les requêtes HTTP entrantes deviennent des transactions sur la page Pulse, et chaque appel fait pendant leur traitement y est rattaché dans la trace.
3Autres clients
postgres.js, node-redis et Prisma demandent une ligne chacun. trace() englobe tout le reste, comme un SDK SMS qui n'utilise pas HTTP.
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" });4Lire la page
Chaque carte affiche les appels, le temps de réponse médian et au 95e centile, le taux d'erreur et la disponibilité du service aujourd'hui (UTC), avec une mini-courbe où les appels échoués sont en rouge. Les services en échec viennent en premier. Ouvrez une carte pour voir les graphiques des appels et du temps de réponse, les derniers appels échoués et les plus lents, chacun relié à sa trace.
5Être alerté
Dans Alertes, section Alertes dépendances et serveurs, choisissez un projet et fixez vos propres limites pour Une dépendance est en échec et Une dépendance est lente, ou désactivez l'une ou l'autre. Les alertes partent par e-mail, Slack, Microsoft Teams et webhooks, et un second message signale quand le service est revenu à la normale.
6Autres langages
Tout SDK OpenTelemetry qui envoie des spans en OTLP JSON à https://in.blipit.io/v1/traces avec l'en-tête X-Blipit-Key apparaît aussi : les spans client avec db.system deviennent des bases de données, et les spans client avec une URL HTTP des services externes.
Bon à savoir
- Jamais envoyé : les valeurs dans le SQL (les littéraux deviennent ?), les chaînes de requête et identifiants des URL, ni le corps des requêtes ou réponses. Les appels à Blipit lui-même sont ignorés.
- tracesSampleRate (0.2 par défaut) fixe la part des requêtes enregistrées ; les comptes de la page sont remis à l'échelle. tracing: false le désactive.
- Les spans comptent dans le quota mensuel de spans du plan. Les données de dépendances sont gardées aussi longtemps que les spans : 7 jours sur Free et Solo, 14 jours sur Team et Scale.
- L'enregistrement automatique demande Node.js 20.16 ou 22.3 et plus. Sur les hébergements serverless, enveloppez le handler pour que la requête entrante soit enregistrée et envoyée avant la mise en pause de la fonction : wrapHandler pour AWS Lambda, withBlipit pour les route handlers et server actions Next.js, traceRequest pour les autres handlers qui reçoivent une Request.
Bloqué ? Écrivez à support@blipit.io. Les clés et l'identifiant de chaque projet sont sous Clés API dans app.blipit.io.