Skip to content

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.

Bun a cura di www.bunjs.com.cn