Check whether Squasher received an event
- Open your project and select Settings in the sidebar, then the Setup tab.
- Under 3. Verify a signal, select Check again.
Check the key and the project ID
- The ingest key starts with
sq_pk_. SQUASHER_PROJECT_IDis the Project ID on the Setup page. To see it, select Manual under 2. Connect your application.- The key and the project ID come from the same project.
- The variables are set where the app runs, not only on your computer.
[squasher] Invalid API key (401). Events will be dropped. It
then stops sending until the app restarts. If apiKey or projectId is empty, the SDK starts in
disabled mode and sends nothing.
Turn on debug output
SetSQUASHER_DEBUG=1 where your app runs, or pass debug: true to init. The debug option wins
over the variable. In the browser, set window.SQUASHER_DEBUG = "1" before you call init. On
Cloudflare Workers, pass debug: true, because the SDK does not read the Worker env object.
Send events before the process exits
The Node.js SDK sends events in batches: every 5 seconds, or when 25 events wait. A short script or a serverless function can exit before the batch goes out. Callflush() before it exits:
Check where the SDK starts
- Node.js: call
initbefore you import the rest of your app. - Next.js: call
initininstrumentation.ts, and only whenNEXT_RUNTIMEisnodejs. The SDK does not capture errors on the Edge runtime. In Server Components and Server Actions, catch the error and callcaptureError. See the Next.js SDK. - Browser: call
initwhen your app starts, before the code that can throw.
Find logs that are not issues
Only error-level logs become issues: a severity number of 17 or more, or the severity texterror
or fatal. Other logs appear in Logs, not in Issues. Some hosts send their logs in
batches, so a log drain can be a few minutes late.
Fix OpenTelemetry exports
- Send to
https://ingest.squasher.aiand put the ingest key in thex-squasher-keyheader. - Squasher accepts OTLP over HTTP, as protobuf or JSON, and OTLP/gRPC at the Collector URL on port 443. If your exporter uses gRPC by default, point it at that Collector URL; use
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobufonly when sending toingest.squasher.ai. - Set
deployment.environment.nameas a resource attribute, so issues get the right environment.
Read minified stack traces
Squasher applies the source maps that you upload when you open an issue. If a frame stays minified, the issue page tells you why under the frame: the event has no release, no map is uploaded for that release, no map name matches the file, or the map is larger than 24 MB. Set a release in the SDK and upload the maps of that build with the same release.Check host metrics
If you installed the Squasher collector for host metrics, run the local check first, then the end-to-end check:--containers to verify when the collector also collects Docker metrics. See
Host and Docker metrics.
Next steps
Quickstart
Go through the setup again from the start.
Choose how to send data
Compare SDKs, log drains, and OpenTelemetry.