Common Errors Reference
| Error | Cause | Solution |
|---|---|---|
403 Forbidden | Invalid API key or TRACELOOP_API_KEY conflict | Check API key; remove TRACELOOP_API_KEY env var |
401 Unauthorized | Missing or expired API key | Verify HONEYHIVE_API_KEY is set correctly |
SSL Certificate Error | Certificate validation failure | See SSL/Certificate Issues |
Connection Timeout | Network issues or firewall | See Timeout Handling |
Read Timeout | Large payload or slow connection | Data is still logged; consider batch settings |
No data in session | Package version mismatch | Update honeyhive package to latest |
ImportError | Missing dependencies | Run pip install "honeyhive[all]>=1.0.0rc0" |
Rate limit exceeded | Too many requests | Implement retry logic with backoff |
Payload too large | Request exceeds 5MB limit | Truncate large inputs/outputs |
Context not propagated | Thread/async context issues | See Multithreading guide |
SSL/Certificate Issues
Certificate Validation Failure
Symptom:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]
Solutions:
- Use system certificates:
- Provide custom CA certificate:
- Disable verification (development only):
Self-Signed Certificate
For on-premise deployments:Proxy Configuration
HTTP/HTTPS Proxy
Authenticated Proxy
Proxy with Custom CA
Bypassing Proxy
Timeout Handling
Connection Timeouts
Symptom:ConnectionError: Connection timed out
Solutions:
- Increase timeout:
- Use async export:
- Disable batching for serverless:
Read Timeouts
Symptom:ReadTimeout error but data appears in dashboard
This is usually not a problem - data is being logged. To suppress:
Retry on Failure
Requires:
pip install tenacityDebugging Specific Issues
No tracer initialization message and no data logged
No tracer initialization message and no data logged
Checklist:
- Verify API key is set:
echo $HONEYHIVE_API_KEY - Check project name matches exactly
- Enable verbose mode:
verbose=True - Check firewall/VPN allows outbound HTTPS to
api.honeyhive.ai - Verify SSL certificate is valid
403 Forbidden error
403 Forbidden error
Solutions:
- Remove
TRACELOOP_API_KEYfrom environment if present - Verify API key is correct (check for whitespace)
- Ensure key has access to the specified project
- Check key hasn’t expired
Session created but no spans inside
Session created but no spans inside
Solutions:
- Update honeyhive package:
pip install -U "honeyhive>=1.0.0rc0" - Check your provider package versions are up to date
- Verify traced functions are being called
- For async code, ensure proper context propagation
- Check that your provider package versions match the SDK requirements
Read timeout error
Read timeout error
Don’t worry - data is usually still logged. To reduce:
- Set
disable_batch=Truefor smaller payloads - Increase timeout value
- Use
async_export=Truefor non-blocking sends
Data takes long time to appear
Data takes long time to appear
Solutions:
- Set
disable_batch=Trueto send immediately - Call
HoneyHiveTracer.flush()at end of execution - For Jupyter/serverless, always flush at end
SSL validation failure
SSL validation failure
Solutions:
- Set
SSL_CERT_FILEenvironment variable - For corporate proxy, use company’s CA certificate
- Install certifi:
pip install certifi - Contact us for SSL .pem file if needed
Import or ModuleNotFoundError
Import or ModuleNotFoundError
Solutions:
- Install full package:
pip install "honeyhive[all]>=1.0.0rc0" - For specific integrations:
pip install "honeyhive[openai]>=1.0.0rc0" - Check Python version (3.11+ required)
Rate limit exceeded
Rate limit exceeded
Solutions:
- Implement retry with exponential backoff
- Reduce trace frequency with sampling
- Contact support for higher limits (Enterprise)
Payload too large (>5MB)
Payload too large (>5MB)
Solutions:
- Truncate large inputs/outputs before tracing
- Use references (URLs) for large files
- Don’t trace binary data directly
Context not propagated in threads
Context not propagated in threads
See Multithreading guide for proper context propagation patterns.
Traces mixed up between requests
Traces mixed up between requests
Cause: Using See Tracer Initialization: Web Servers for full patterns.
session_start() in a web server, or not creating sessions per request. session_start() stores the session ID on the tracer instance, so concurrent requests overwrite each other’s session.Solution: Use create_session() (sync) or acreate_session() (async), which store the session ID in request-scoped OpenTelemetry baggage:evaluate() is using the wrong tracer
evaluate() is using the wrong tracer
Cause: A global See Tracer Initialization: Evaluation for details.
HoneyHiveTracer.init() call conflicts with the per-datapoint tracers that evaluate() creates automatically.Solution: Remove the global tracer when using evaluate(). Don’t pass tracer= to @trace decorators on functions called by evaluate():General Recommendations
Python
Serverless / Jupyter Notebooks
Serverless / Jupyter Notebooks
Large payloads (>100k tokens)
Large payloads (>100k tokens)
Async code
Async code
See Multithreading guide for async context propagation.
Fallback Solution
If all else fails:- Separate provider calls into dedicated functions
- Use
@tracedecorator on those functions - This gives you manual control over what’s traced
Known Limitations
| Limitation | Workaround |
|---|---|
| Colab notebooks not supported | Use manual instrumentation |
| Max request size: 5MB | Truncate large payloads |
| Max nesting depth: 5 levels | Flatten deeply nested structures |
| Rate limit: 1000 req/min | Use sampling; contact for Enterprise limits |
Rate Limits
| Resource | Default Limit | Enterprise |
|---|---|---|
| Requests per minute | 1,000 | Configurable |
| Max request size | 5 MB | 5 MB |
| Filter nesting depth | 5 levels | 5 levels |
Enterprise-plan users can configure higher rate limits.

