Troubleshooting

Events showing as unattributed

Events without project or actor fields appear in the Unattributed section of the dashboard. To fix this, ensure every POST to /api/ingest includes both project and actor fields.

Cost discrepancies

Cloudshrink auto-calculates cost using published token prices. If your provider charges differently (e.g., volume discounts, custom contracts), pass cost_usd explicitly in your events to override the auto-calculation.

Missing events

Verify your instrumentation POSTs after every LLM call. Check that the /api/ingest endpoint returns { "ingested": N } where N matches the number of events you sent. Common causes of missing events include network timeouts and fire-and-forget calls that fail silently.

Spike sensitivity

The default threshold is >20%. Spikes are computed period-over-period (e.g., this week vs. last week). If you see too many false positives, ensure your data has at least two full periods of history for accurate comparisons.