Observabilidad
NamiDB está instrumentado con tracing
en cada función async pub del workspace. La exportación a
OpenTelemetry está en el roadmap; hoy se cuenta con:
Tracing
export RUST_LOG=namidb=info,namidb_storage=debugexport NAMIDB_LOG_FORMAT=json # opcional, estructuradoCada llamada de Cypher emite un span de tracing con el plan parseado,
los operadores físicos elegidos y los tiempos por etapa.
Volcado de profile por etapa
export NAMIDB_PROFILE_DUMP=1Después de cada query, NamiDB imprime un bloque de contadores por etapa a stderr: parse, lower, optimise, execute, con conteo de filas y µs / etapa.
Stats de caches (Python)
print(client.cache_stats())# {# "adjacency": {"hits": ..., "misses": ..., "bytes": ...},# "node_view": {...},# "sst": {...}# }Conectar esto a los dashboards para detectar desajustes entre working set y presupuesto.
Endpoints de health del servidor
curl http://your-host:8080/v0/health | jq .curl http://your-host:8080/v0/version | jq ./v0/health devuelve la versión del manifest, el epoch y el timestamp
del último commit.
Roadmap
/v0/metrics— exposición Prometheus (counters, histograma de latencia, tasas de hit de cache).- Exportación OpenTelemetry — spans + métricas sobre OTLP.
EXPLAIN ANALYZEestructurado — conteo de filas en runtime por operador.
Seguir el progreso en github.com/namidb/namidb/issues.