Limits and Quotas
Limits and Quotas
Payload Size
| Limit | Value |
|---|---|
| Maximum body size | 1 MB |
| Max tags per event | 500 |
In practice, a per-event payload is ~1-5 KB. A batch of 200 aggregated events is ~10-50 KB.
In-Memory Aggregation
The ingest endpoint uses an in-memory aggregation layer to minimize database write load:
- Events are aggregated into 1-minute windows per site and container
- The buffer is flushed every 30 seconds to the database
- Only completed minute windows are flushed (the current minute stays in memory)
- You can force a flush via
POST /api/ingest/flush(useful for debugging)
Rate Limit Behavior
The current self-hosted version of Probr does not enforce rate limits or monthly quotas. Performance is limited only by your server's resources (CPU, memory, database).
Recommendations
To keep your instance performant:
- Use batched mode for high-traffic sites (>100 events/second) to reduce the number of HTTP requests
- Exclude unnecessary tags via the "Tag IDs to Exclude" field to reduce payload size
- Monitor database size — monitoring batches accumulate over time; consider setting up a retention policy (e.g., delete batches older than 90 days)
- Scale horizontally if needed — the aggregation buffer is per-instance, so multiple backend instances can share the load
Best Practices
- Use batched mode if your site generates high event volumes
- Exclude unnecessary tags via the "Tag IDs to Exclude" field to reduce payload size
- Set appropriate probe intervals — 5 minutes (300s) is a good default; don't go below 60s unless necessary
- Monitor the
/healthendpoint of your Probr instance to ensure it stays up