Bun fornisce metriche built-in per il server HTTP che possono essere utili per il monitoring e il debugging.
Ottenere le Metriche del Server
Puoi accedere alle metriche del server chiamando server.metrics():
ts
const server = Bun.serve({
fetch(req) {
return new Response("Hello World");
},
port: 3000,
});
// Ottieni le metriche
const metrics = server.metrics();
console.log(metrics);Struttura delle Metriche
L'oggetto metrics contiene le seguenti proprietà:
ts
{
// Numero totale di request ricevute
totalRequests: number,
// Numero di request attive attualmente
activeRequests: number,
// Numero di request completate
completedRequests: number,
// Numero di errori
errors: number,
// Tempo di uptime del server in millisecondi
uptime: number,
// Numero di connessioni WebSocket attive
websocketConnections: number,
}Esempio di Monitoring
Puoi usare le metriche per creare un endpoint di monitoring:
ts
const server = Bun.serve({
routes: {
"/": () => new Response("Hello World"),
"/metrics": req => {
const metrics = req.server.metrics();
return Response.json(metrics);
},
},
port: 3000,
});
console.log("Server in ascolto su http://localhost:3000");
console.log("Metriche disponibili su http://localhost:3000/metrics");Reset delle Metriche
Per resettare le metriche, puoi chiamare server.resetMetrics():
ts
// Resetta tutte le metriche
server.resetMetrics();Questo è utile quando vuoi iniziare un nuovo periodo di monitoring.