Rule Evaluation and Batching

Rule evaluation is done in a thread pool different from the one responsible for metric computation.

Rules are processed on the server side in batches of 100. That means, if the server batch size and the client batch size are set to 100, the server computes metrics on receiving 100 x 100 facts. This also implies that rules and streaming queries are evaluated only when the server receives 100 x 100 facts.

You can set a different batch size, though the default is set to a generally optimum size of 100. The lesser the batch size, the slower the performance. On the other hand, larger batch size may introduce a risk of missing out on rule evaluation for a critical fact.