Logging
Meerkat Recall uses structured logging via thetracing crate. Control log verbosity with the RUST_LOG environment variable.
RUST_LOG Configuration
Set
RUST_LOG in the elephant service environment in docker-compose.yml, then recreate that service with docker compose up -d elephant. For a directly launched binary, set it in the process environment.
Structured Log Fields
Logs carry timestamps and tracing targets. Individual events may include request, work item, document, or span identifiers. Use the fields actually present to correlate a failure; a request ID is not guaranteed on every event.Viewing Logs
Health Endpoints
The API health endpoint returns:
/v1/runtime/status, required readiness flags, and representative work completion before accepting a deployment.
storage is the real backend-agnostic field. surrealdb remains as a compatibility alias for older clients.
Docker Compose uses these for container health checks:
- meerkat-recall serve:
curl -f http://localhost:3000/v1/healthevery 30s - surrealdb:
/surreal is-readyevery 10s
Key Metrics to Monitor
These are operational signals to derive from your logs, proxy, runtime status, and queue inspection. This table does not imply a built-in metrics exporter. Thresholds are examples to tune for your workload.API Metrics
Pipeline Metrics
SurrealDB Metrics
Troubleshooting Runbook
For an accepted document that is not searchable yet, inspect its
pipeline status. A healthy API,
a successful ingest request, and a
done work item each answer a different
question. Check the relevant downstream extraction and embedding stages before
treating a document as ready for your application.
