v0.1.0-alpha.5
Pre-release
Pre-release
Added
- Issue rows go straight to the issue page — no drawer detour — and
the page gains a Sentry-style Actions & context sidebar next to the
trend: a prefilled "+ Create ticket" button, the tracker tickets that
already mention this exception (searched live), the key facts (first/
last seen, users, env, release, host → its page, throw site) and the
suspect change event. - Request log with live tail. The Requests page's Routes card gains a
toggle sibling: a request LOG — individual requests, newest first, with
time, method+path, status badge, user, client IP and duration. Filter
by user id, client IP, path or status class (each user/IP cell is
click-to-tail), hit ● Live and the list re-polls every few seconds —
production debugging for "what is this user hitting right now?". Every
row opens the readable request story in the pane. - Traces read like requests now — the waterfall is the last resort.
Opening a trace (pane or full page) tells the story instead of dumping
spans: request facts (method, route, path+query, status, client IP,
user, user agent, body sizes), cost totals off the root tallies
(queries + query time, N+1 count, cache ops, redis commands, models
hydrated, views, CPU time, memory), then one readable section per
concern — Database (statements slowest-first, N+1 called out),
Upstream calls (URL + status + duration), Cache (hit/miss/write
summary + keys), Redis, Dispatched jobs, Views, Storage,
captured Headers (request/response) and Logs written during the
request (trace-correlated). The raw span waterfall collapses behind a
"Raw trace — N spans" toggle. Job/command traces adapt automatically. - Purpose-built trace filters: status-code class (2xx–5xx), path
contains and client IP join status/source/route/name/duration — all
URL-synced, all composing scoped TraceQL under the hood. - Full issue page (Sentry-style show view). Every error group now has
its own page (error-detail?group=…, the drawer's "Full page" button):
header with events / users / first seen / last seen, an events trend
chart with the deploy/change markers drawn on top (release markers,
Sentry-style), tag distributions (host, environment, release,
service, user — "is it one box, one release, one customer?"), and the
full deep-dive: request strip, root-cause hints, source context,
stacktrace and recent occurrences. Drawer and page share one
per-request-memoizedErrorGroupReport, so the page's four cards cost
one set of backend queries. - Users affected. Error groups now count distinct users (from the
enduser.idlaravel-telemetry ≥ alpha.18 stamps on exception records):
a Users column on the errors list and a "users affected" fact on the
group panel. - Errors list filters. Free-text filter over type/message and a
source selector (server / web / full-stack), both URL-synced. - Scope moved to the top header. Service and environment now sit
next to the period picker on every page — Sentry's top-bar pattern —
and the sidebar is pure navigation. - Full-color card borders. The context tiles and root-cause box wear
their accent color as a full border instead of a left edge. - Sentry-style errors list. Every group row now carries its in-period
trend sparkline, first seen and last seen, a NEW badge for groups
born within 24 hours, and a sort control (events / last seen / first
seen). First-seen looks beyond the page period (min 7 days) so it means
what it says; counts and trends stay period-scoped. - Root-cause hints on the error-group panel. The change event (deploy,
migration, feature flag, …) closest before the group's first occurrence
— within 48h — is named as the suspect ("Deploy v9.1.0 at 14:02 — first
seen 18 minutes later"), and the panel shows which releases the sampled
occurrences carry, with an "only this release" badge when every one
points at a single release.
Fixed
- Annotation callout is anchored to its marker line again. The deploy/
change callout now sits hard against the line it describes — flipping to
the line's other side near the chart edge (where deploys cluster) instead
of detaching to a fixed corner — with a caret pointing back at the line.
The raw axis tooltip no longer stacks on top of it: the series readout is
suppressed while the callout is open, and the callout renders above it
regardless. Hovering into the callout keeps it open to reach Open
trace, so the click-to-pin affordance is gone.