Default Limits
| Resource | Limit | Window |
|---|---|---|
| Log Trace APIs | 60,000 | per minute |
| Log Span APIs | 150,000 | per minute |
| Deployment APIs | 60,000 | per minute |
| All other APIs | 6000 | per minute |
These are default limits. If you need higher limits for your use case, contact support@adaline.ai.
Handling Rate Limits
When you exceed the rate limit, the API returns a429 Too Many Requests response:
Payload Limits
| Resource | Max Size |
|---|---|
| Request body | 32 MB |
| Response body | 32 MB |
| Span content | 1 MB |
| Span content attachment (image) | 10 MB |
| Span content attachment (pdf) | 10 MB |
413 Payload Too Large response.
SDK Retry Behavior
TypeScript SDK (@adaline/client)
- The Monitor class buffers logs and flushes in batches
- Failed flushes are automatically retried with exponential backoff
- Configure
flushIntervalandmaxBufferSizeto control batching
@adaline/gateway)
- Built-in configurable queue with automatic retry
- Exponential backoff on transient failures (429, 5xx)
- Pluggable queue backend for custom retry logic
Best Practices
Batch your log submissions
Batch your log submissions
Use the SDK’s built-in batching (Monitor class) rather than sending individual API calls for each trace or span. This significantly reduces the number of requests.
Cache deployments locally
Cache deployments locally
Use
initLatestDeployment() with a refreshInterval to cache prompt deployments locally and reduce deployment fetch requests.Implement exponential backoff
Implement exponential backoff
If making direct API calls, implement exponential backoff when you receive
429 responses. Start with a 1-second delay and double it on each retry, up to a maximum of 60 seconds.Monitor your usage
Monitor your usage
Track your API usage in the Adaline Dashboard under Settings > API Usage to stay within your limits. See View API Usage.