Monitoring, Logging & Performance
Monitoring & Observability
Health Check Endpoints
The Rescile Controller exposes standard health check endpoints for load balancers.
GET /api/health
Build Streams
The /api/build/stream endpoint uses Server-Sent Events (SSE) to broadcast the real-time logs of the graph building process. This can be ingested by observability tools to track import duration, generator execution times, and warning logs across your enterprise.
Debugging
Enable detailed tracing by passing the --debug flag to the engine. You can filter logs to specific modules by passing selectors:
rescile-ce --debug=network,compliance serve
Performance & Scaling
Rescile’s graph engine is designed to be highly performant, but extremely large enterprise estates require tuning.
The Stabilization Loop
The model engine runs in a stabilization loop, processing models until no new resources or properties are created. By default, this is capped at 8 iterations.
If your graph has deeply nested derivations (e.g., A derives B derives C derives D…), you may hit this limit prematurely. You can increase it via the CLI:
rescile-importer --max-loop 12
Large Graph Considerations
- Memory: The graph is built entirely in memory. Ensure your builder node has sufficient RAM (typically 2-4GB is plenty for estates up to 100,000 nodes). The stateless Controller fleet is highly memory efficient.
- Targeted Outputs: If output generation is slow, ensure your
match_onfilters are specific, so you aren’t needlessly generating artifacts for every single node. - Generators: Rely heavily on
ttlcaching andcondition = "on_missing"for heavy API-polling generators.