8. Validação e Observability da Ingestion
Métricas
| Categoria | Métricas |
|---|
| Throughput | assets lidos, novos, atualizados, removidos |
| Qualidade | falhas, retries |
| Performance | tempo por pipeline, tempo por loader |
| Eficiência | chunks reusados, chunks re-embedados |
| SQL | rows inseridas, rows atualizadas |
| Graph | edges criadas, edges fechadas |
Exemplo de métricas por run
ingestion_run_123:
documents_read: 15
documents_new: 2
documents_updated: 3
documents_unchanged: 10
chunks_reused: 45
chunks_reembedded: 12
sql_rows_inserted: 5
sql_rows_updated: 2
graph_edges_created: 3
graph_edges_closed: 1
duration_seconds: 23.4
failed_assets: []
Logs Úteis
| Campo | Uso |
|---|
ingestion_run_id | Correlacionar eventos |
source_id | Qual fonte |
change_type | new, updated, deleted |
impacted_assets | O que foi afetado |
errors | Stack traces |
retries | Tentativas de retry |
Exemplo de log
{
"timestamp": "2026-03-23T10:00:00Z",
"ingestion_run_id": "run_123",
"event": "document_updated",
"source_id": "docs/security_policy.md",
"change_type": "content_changed",
"impacted_assets": ["chunkset_security_policy_v3"],
"chunks_reused": 8,
"chunks_reembedded": 4
}
Alertas
| Condição | Ação |
|---|
| Documento falhou parse | Alert + retry com backoff |
| Schema drift inesperado | Alert + pause ingest opcional |
| Relação refere entidade inexistente | Alert + skip ou fail |
| Reindex incompleto | Alert + retry ou manual |
| Incompatibilidade de checksum após escrita | Alerta + verificação de consistência |
Dashboard Sugerido
- Runs: sucesso/falha, duração
- Throughput: assets por tipo, por hora
- Change rate: novos vs atualizados vs unchanged
- Failures: por fonte, por tipo de erro
- Reindex triggers: o que está pendente
- Registry health: assets stale, dependências quebradas