Sign In

Troubleshooting Guide

Solutions to common issues and frequently asked questions

Data Not Appearing

If your logs, metrics, or traces aren't showing up in Qorrelate, follow these steps:

1️⃣ Check your API key and Organization ID

Ensure you're using the correct API key and Organization ID:

# Test your credentials
curl -X POST https://qorrelate.io/v1/logs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Organization-Id: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{"resourceLogs":[{"resource":{"attributes":[{"key":"test","value":{"stringValue":"true"}}]},"scopeLogs":[{"logRecords":[{"body":{"stringValue":"Test log"}}]}]}]}'

You should get a 200 OK response. If you get 401 or 403, your credentials are incorrect.

2️⃣ Verify the endpoint URL

Make sure you're using the correct endpoints:

  • Logs: https://qorrelate.io/v1/logs
  • Metrics: https://qorrelate.io/v1/metrics
  • Traces: https://qorrelate.io/v1/traces

Note: Don't include a trailing slash. Use /v1/logs not /v1/logs/

3️⃣ Check for network/firewall issues

Verify your application can reach Qorrelate:

# Test connectivity
curl -v https://qorrelate.io/health

# If behind a proxy, check proxy settings
echo $HTTP_PROXY
echo $HTTPS_PROXY

Ensure outbound HTTPS (port 443) is allowed to qorrelate.io.

4️⃣ Ensure data is being flushed

OpenTelemetry SDKs batch data before sending. In short-lived processes, data might not be flushed:

# Python - force flush before exit
from opentelemetry import trace

provider = trace.get_tracer_provider()
provider.force_flush()  # Wait for data to be sent
// Node.js - shutdown gracefully
const { NodeSDK } = require('@opentelemetry/sdk-node');

process.on('SIGTERM', () => {
  sdk.shutdown().then(() => process.exit(0));
});
5️⃣ Check the time range

In the Qorrelate dashboard, make sure your time picker is set to include when the data was sent. Try selecting "Last 1 hour" or "Last 24 hours" to cast a wider net.

Authentication Errors

401 Unauthorized

Your API key is invalid or missing.

  • Check for typos in your API key
  • Ensure the key hasn't been revoked
  • Verify the Authorization header format: Bearer YOUR_KEY

403 Forbidden

Your API key doesn't have permission for this action.

  • Check the Organization ID matches your API key's organization
  • Verify the key has the required permissions (read/write)
  • API keys are scoped to organizations - you can't access another org's data

429 Too Many Requests

You've hit the rate limit.

  • Ingestion: 10,000 requests/minute
  • Queries: 1,000 requests/minute
  • Implement exponential backoff in your retry logic

Missing or Incomplete Traces

If traces are partially missing or connections between services aren't showing:

Context Propagation Issues

Traces need context propagation headers to connect spans across services:

# Python - ensure propagation is configured
from opentelemetry.propagate import set_global_textmap
from opentelemetry.propagators.b3 import B3MultiFormat

# Use W3C Trace Context (default) or B3
set_global_textmap(B3MultiFormat())  # For B3 headers

Check these headers are being passed between services:

  • traceparent (W3C Trace Context)
  • tracestate (W3C Trace Context)
  • x-b3-traceid, x-b3-spanid (B3 format)

High Query Latency

If queries are slow, try these optimizations:

  • Narrow the time range: Querying smaller time windows is significantly faster.
  • Use indexed fields: service.name, severity, and trace_id are indexed and fast to filter on.
  • Avoid wildcards at the start: *error is slow. Use error* instead.
  • Limit results: Use limit=100 instead of fetching thousands of records.

Python SDK Issues

Import errors with OpenTelemetry

# Make sure all packages are installed
pip install opentelemetry-api opentelemetry-sdk \
    opentelemetry-exporter-otlp-proto-http \
    opentelemetry-instrumentation

Auto-instrumentation not working

# Install all auto-instrumentation packages
opentelemetry-bootstrap -a install

# Run with auto-instrumentation
opentelemetry-instrument python app.py

Node.js SDK Issues

Tracing file must be loaded first

The tracing setup must run before any other imports:

// tracing.js must be required FIRST
require('./tracing');  // This line must be first!

const express = require('express');
const app = express();
// ...

Or use the -r flag: node -r ./tracing.js app.js

Kubernetes Issues

OTel Collector not receiving data

# Check collector logs
kubectl logs -n observability -l app.kubernetes.io/name=opentelemetry-collector

# Verify collector is running
kubectl get pods -n observability

# Test connectivity from app pod
kubectl exec -it your-app-pod -- curl -v http://otel-collector.observability.svc:4318/v1/traces

Secret not found

# Create the credentials secret
kubectl create secret generic qorrelate-credentials \
  --namespace observability \
  --from-literal=api-key=YOUR_API_KEY \
  --from-literal=org-id=YOUR_ORG_ID

Frequently Asked Questions

How long is data retained?

By default, data is retained for 30 days. Enterprise plans can configure longer retention periods.

Can I delete specific data?

Contact support for data deletion requests. For ongoing exclusion, use Drop Filters.

What's the maximum payload size?

Individual requests are limited to 5MB. For larger payloads, split into multiple requests.

Do you support gzip compression?

Yes! Add Content-Encoding: gzip header to your requests. This is recommended for high-volume ingestion.

What regions do you support?

Qorrelate is currently hosted in US (us-east-1). EU region coming soon. For data residency requirements, consider self-hosting.

Still Need Help?

If you've tried the above solutions and still have issues, our support team is here to help.