Free
For side projects, evals, and internal tools.
$0/ month
No card needed. No overage charges.
Start free- 10 GB telemetry
- 5K replays
- 500 AI credits
Included
- AI triage on new issues
- 500 AI credits / month (an investigation uses 50)
- 1 project
Send OpenTelemetry traces and browser Web Vitals. Squasher charts p95 latency, draws each trace as a span waterfall, and links spans to logs by trace ID.
Free plan. No credit card required.
Example trace
Traces, latency, and real-user scores in the same project as your errors and logs.
Filter by service, root span, duration, HTTP method, status code, or errors. Sort by duration to find the slowest.
Search spans, show only errors, zoom up to 4×, and read each span's attributes, events, and links.
p95 trace latency, error rate, and request volume for the project, on the dashboard home page.
LCP, INP, CLS, FCP, and TTFB from real users, from p50 to p99, by page, country, browser, and device.
Each trace lists its related logs. Each log with a trace ID opens its waterfall.
HTTP monitors record response time per check and region, and can mark a slow check degraded or failed.
The dashboard home page charts the numbers you check first when something feels slow.
Dashboard
Live traces, logs, metrics, and error health for this project.
Example data
Slow and failed requests share one trace ID with the logs they wrote.
Waterfalltrace 8a71f0c2
Related logssame trace ID

Example trace and logs.
The browser SDK measures Core Web Vitals from every visit, with no extra code.
Web vitals
Find slow, unstable, and unresponsive experiences in real-user data.
3.1 sP75
18,204 samples · 58% good
164 msP75
11,930 samples · 81% good
0.04P75
18,187 samples · 92% good
1.4 sP75
18,240 samples · 79% good
920 msP75
18,251 samples · 64% good
Example data
Keep your OpenTelemetry setup and point it at Squasher. Add the browser SDK for Web Vitals.
OTLP over HTTP, as protobuf or JSON. gRPC is not supported, so set the protocol.
OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.squasher.ai"OTEL_EXPORTER_OTLP_HEADERS="x-squasher-key=$SQUASHER_API_KEY"OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"Initialize it once. Web Vitals, browser errors, and session replay start on their own.
npm install @squasher-ai/browserOpen Explore, switch to Traces, and sort by duration.
Install Squasher for this project. If Squasher skills or MCP are not configured in this agent environment, run `bash <(curl -fsSL https://squasher.ai/install.sh) --agents -y`. Then read https://skills.squasher.ai/squasher-onboard/SKILL.md, map every runnable app/service/worker/frontend/agent in the repo, choose the matching Squasher SDK, log drain, OTLP, or Agent SDK path, initialize with SQUASHER_API_KEY and SQUASHER_PROJECT_ID from environment variables, send one real verification event, and report the files changed plus the verification step. Do not hardcode or reveal real API keys.bash <(curl -fsSL https://squasher.ai/install.sh) --agents -ySquasher is not a full APM suite yet. Here is the line, so you can decide what to keep.
Checked against the product on September 24, 2026.
APM measures how fast your application responds and where the time goes. It is usually built on distributed traces: a record of each request as it moves through your services, split into timed spans.
Not yet. Squasher has distributed traces, span waterfalls, p95 latency trends, a service map, release health, latency anomaly detection, real-user Web Vitals, and host metrics. It has no profiler, no database query view, and no threshold alerts on span duration. If you need those today, keep your APM and send the same traces to Squasher.
Export OTLP over HTTP to https://ingest.squasher.ai/v1/traces with your API key in the x-squasher-key header. JSON and protobuf both work, with or without gzip. gRPC does not. On Vercel, the Squasher integration adds a trace drain for you.
Use the OpenTelemetry instrumentation for your language, and Squasher reads the spans it produces. The Squasher SDKs create spans in two places: Cloudflare Workers handlers wrapped with withSquasher, and Node.js handlers wrapped with withHttpRequest.
A span that ends with an ERROR status is also stored as an error log with the same trace and span IDs. A trace lists its related logs, and a log with a trace ID opens its waterfall.
Yes for Web Vitals, with a query monitor on p75, p95, or the share of poor samples, and for uptime checks that respond slowly. Not yet for span or trace duration.
Traces are kept 7 to 30 days, depending on your plan. They count toward your plan's telemetry volume together with logs and metrics.
The Squasher SDKs sample by trace ID, with separate rates for successful, failed, and slow requests. For tail sampling, run the OpenTelemetry Collector before you export.
Start free. Invite the whole team. AI triage is included on every plan.
For side projects, evals, and internal tools.
$0/ month
No card needed. No overage charges.
Start freeIncluded
For small production apps that want one tool, not five.
$29/ month
Flat price. No per-seat fees.
Start on ProEverything in Free, plus
For product teams replacing separate error, replay, and status tools.
$99/ month
Flat price. No per-seat fees.
Start on TeamEverything in Pro, plus
For high-volume teams with security, procurement, and support needs.
$299/ month
Flat price. No per-seat fees.
Start on ScaleEverything in Team, plus
Need more volume, a security review, or custom terms? Get in touch.
Connect one service and send one real event. The crew takes it from there.
Free plan. No credit card required.