FEATURES
Every signal on one timeline.
Logs, traces, errors, alerts and dashboards in one product, with one search box and one bill. Here is what each part does and why teams switch.
LOGS
Logs you can read
Search a billion lines in under a second. Fields are parsed for you, so you filter by customer or order instead of writing regex.
0.8 s median search
TRACES
Traces across every service
Follow one request from the browser to the database. Each hop shows its time, its logs and the code that ran.
23 services in one view
ERRORS
Errors grouped by cause
Similar crashes fold into one issue with a count, the first release it appeared in and the users it hit.
9,400 events → 12 issues
ALERTS
Alerts that stay quiet
Alert on what customers feel, like slow checkouts or failed logins, not on every CPU spike at 3 a.m.
61% fewer pages
ASK
Answers in plain English
Ask "why did checkout fail at 14:02?" and get the trace, the log line and a likely cause back.
Answers cite their source
DASHBOARDS
Dashboards your team shares
Build a board in minutes from any query, then share one link with support, product and on-call.
Live, no refresh button
01 · TRACES
Follow one request through every service.
A trace shows each hop a request takes, how long it spent there and what it logged on the way. Slow or failing hops are marked for you.
GET /v1/search?q=running+shoes
2.31 s · slow
GET /v1/search
auth.session
search.query_parse
search.fetch_results
db.query products x40
cache.get
render.results
02 · ERRORS
Thousands of crashes, a dozen real problems.
Tessellary groups errors with the same cause, counts the users each one reached and shows the release that introduced it, so the team fixes the right thing first.
TypeError: cannot read ‘price’ of undefined
cart/summary.tsx:88
1,209
Upstream 502 from payments gateway
payments/charge.go:141
611
Timeout: search took longer than 2000 ms
search/handler.py:57
438
RangeError: invalid date in invoice export
billing/export.ts:203
52
Unhandled rejection in email worker
workers/email.js:34
0
03 · ASK
Ask a question, get the trace that answers it.
Type what you would ask a teammate. Tessellary turns it into a search, shows the query it ran and links every claim to the log line or trace behind it.
Why did checkout fail for customers in Germany yesterday afternoon?
Between 14:01 and 14:19, 212 checkouts failed. All of them called the payment provider from eu-central, which timed out after 200 ms. The retry timeout was lowered in release v4.18.0 at 13:58.
Trace 7f3a…c21 · 1.84 s
38 log lines
Release v4.18.0
Query: service:checkout level:error country:DE
04 · SECURITY
Built for data you would rather not leak.
Sensitive fields are masked before they leave your servers, and every plan keeps your data in the region you pick.
Masking on your server
Card numbers, emails and tokens are removed by the SDK, so they never reach us.
Choose your region
Keep data in the EU or the US. Scale plans can pin it to one country.
Single sign-on
Sign in with your identity provider and manage access by group.
Audit log
See who searched what and when, exportable for your auditors.
Encrypted everywhere
TLS in transit and AES-256 at rest, with keys rotated every 90 days.
Independent audits
SOC 2 Type II and ISO 27001 reports available on request.
05 · WORKS WITH
Fits the stack you already run.
Official SDKs for the common languages, plus a standard OpenTelemetry endpoint for everything else.
Node.js
Python
Go
Ruby
Java
.NET
PHP
Rust
Elixir
Kubernetes
06 · QUESTIONS
Questions about features.
Still unsure? Our engineers answer every message, usually within a working hour.
Do I need to change my code?
Add one SDK line to your app. Tessellary reads the logs you already write and adds traces automatically for common frameworks.