Un fallo silencioso es cuando algo se rompe y nada te lo dice. Ninguna excepción, ningún estado distinto de 200, ninguna alerta — solo un valor que parece correcto y está mal.
En la recolección de datos es la clase de fallo más caro que existe, porque todos los sistemas que vienen después tratan el número como real.
Qué aspecto tiene en la práctica
Cuatro formas, todas medidas en plataformas reales:
- El campo de al lado. Un objeto contiene
followers_countyfollowings_count, a una letra de distancia. Lee el equivocado y en algunas cuentas grandes devuelve cero — así que el fallo aparece como "esta cuenta no tiene seguidores", no como un error. - El gemelo redondeado. Una página lleva a la vez un valor para mostrar y uno exacto en su estado incrustado. Leer el de mostrar te da 83K donde el JSON dice 83754.
- El 200 que no es un perfil. Una plataforma grande devuelve HTTP 200 con 80 KB de página de "cuenta no encontrada" en lugar de un 404. Parséala sin un ancla y extraerás campos de una página de error encantado de la vida.
- La página sin el dato. Una petición hecha con la huella de cliente equivocada devuelve una página de 268 KB, estado 200, con el objeto del contador simplemente ausente. Nada falló. Lo que pasa es que no hay número.
Por qué un cero es peor que un error
Un error detiene la tubería. Un cero la atraviesa. Peor aún, un cero es una afirmación: dice que la cuenta no tiene nada de eso. null dice que no lo tenemos. Son enunciados distintos, y confundirlos es la forma en que un panel acaba diciéndole a alguien que su audiencia se esfumó.
| Valor | Significa |
|---|---|
1234 |
Lo medimos |
null |
No pudimos obtenerlo, y lo decimos |
0 |
Lo medimos y es cero |
Los tres patrones que lo detectan
- Ancla en un campo que tiene que existir. Si el ancla falta, el documento no es lo que crees que es — falla en voz alta en lugar de seguir parseando.
- Lee por nombre exacto, nunca por sufijo. Buscar
*Counten un objeto con tres contadores elige el que venga primero. - Mide la frescura, no el uptime. Un recolector puede devolver 200 durante días sin recolectar nada. Lo que importa es cuándo llegaron datos de verdad por última vez, que es lo que publica nuestra página de estado y nunca guarda en caché.
Cada una de nuestras rutas lista lo que no devuelve y por qué — mira las fuentes del archivo para el mismo trato aplicado a la recolección.