Saltar al contenido
Telemetry
Explorar documentación
GuíasActualizado el 27 de julio de 2026Revisado por los equipos editorial y de producto de Telemetry3 min de lectura

Usa esta documentación con tu agente de programación

Abra un paquete de mensajes enfocados para Claude Code, Codex, Cursor u otro agente de codificación, luego adáptelo al flujo de trabajo que se describe aquí.

En esta página
  1. Configurar Telemetry
  2. Crear una aplicación exprés
  3. Agregar middleware de error estructurado
  4. Consultar y visualizar errores.
  5. Próximos pasos

Análisis de errores del servidor web

Un recuento de errores muestra que algo se rompió. El contexto estructurado (ruta, código de estado, versión e ID de solicitud) le ayuda a identificar qué falló y correlacionarlo con una implementación.

Panel de errores del servidor web que correlaciona un pico de 5xx con una versión y la ruta de pago POST

El evento de error más útil conserva las dimensiones que necesitará durante un incidente.

En el desarrollo web moderno, el monitoreo y el registro son aspectos críticos para mantener aplicaciones sólidas y confiables. Telemetry permite a los desarrolladores realizar un seguimiento de varios eventos y métricas del sistema, lo que puede ser crucial para depurar y mejorar la experiencia del usuario. En esta publicación, exploraremos cómo usar Telemetry API para detectar y registrar todos los errores en un servidor web Express.js. Aunque esta guía sólo cubre Express, las ideas son aplicables a todos los servidores web, desde Rails hasta Elixir, etc.

Configurar Telemetry

Antes de que podamos registrar datos, debemos configurar Telemetry. Para este ejemplo, usaremos Telemetry JavaScript SDK.

Primero, instale el Telemetry SDK en su proyecto:

npm install telemetry-sh

Luego, inicialice el cliente Telemetry en su aplicación con su clave API:

import telemetry from "telemetry-sh";

telemetry.init("YOUR_API_KEY");

Crear una aplicación exprés

A continuación, configuremos una aplicación Express básica. Si aún no tienes Express instalado, puedes agregarlo a tu proyecto con el siguiente comando:

npm install express

Ahora, cree un servidor Express simple:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`);
});

Agregar middleware de error estructurado

El controlador de errores pertenece después de todas las rutas. Capture categorías seguras y contexto operativo en lugar de cuerpos sin formato, credenciales, seguimientos de pila o mensajes de excepción que puedan contener valores privados.

const express = require("express");
const telemetry = require("telemetry-sh");

telemetry.init(process.env.TELEMETRY_API_KEY);

const app = express();

app.get("/api/projects/:id", async (req, res) => {
  throw Object.assign(new Error("Synthetic failure"), {
    code: "PROJECT_LOOKUP_FAILED",
  });
});

app.use(async (err, req, res, next) => {
  const statusCode = Number(err.statusCode) || 500;

  await telemetry.log("api_request_failed", {
    route_template: req.route?.path ?? "unmatched_route",
    method: req.method,
    status_code: statusCode,
    status: "error",
    error_type: err.constructor?.name ?? "Error",
    error_code: err.code ?? "UNCLASSIFIED_ERROR",
    request_id: req.get("x-request-id") ?? "missing",
    release: process.env.APP_RELEASE ?? "unknown",
  });

  res.status(statusCode).json({ error: "Request failed" });
});

app.listen(3000);

Utilice plantillas de ruta como /api/projects/:id, no rutas sin formato que contengan identificadores de clientes. Mantenga el mismo esquema de eventos para las respuestas 4xx y 5xx manejadas cuando esas fallas sean importantes para el flujo de trabajo.

Consultar y visualizar errores.

Comience con la tasa de fallas por ruta y versión, luego mantenga una tabla de eventos recientes para investigar:

SELECT
  route_template,
  release,
  status_code,
  error_code,
  COUNT(*) AS failures,
  MAX(timestamp_utc) AS last_seen_at
FROM api_request_failed
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template, release, status_code, error_code
ORDER BY failures DESC, last_seen_at DESC;

Para obtener una tasa de error real, registre las solicitudes exitosas y fallidas en la misma tabla con un campo status o status_code compartido. Una tabla de sólo fallos puede clasificar los errores, pero no puede proporcionar el denominador.

Próximos pasos

Utilice Tasa de error API por receta de ruta para realizar una consulta segura con denominador, visualización de ejemplo, diseño de panel y guía de alertas. Combínelo con Percentiles de latencia API para que una vista de incidentes cubra tanto la corrección como la velocidad.

Función relacionada

Registra nombres de eventos estables, campos con tipos definidos y contexto revisado para proteger la privacidad.

Autores de la página y referencias

El equipo editorial de Telemetry es responsable de esta explicación; el equipo de producto revisa el comportamiento, los ejemplos y las limitaciones.

Cómo revisamos nuestra documentación