Releases: cboxdk/statamic-telemetry
Release list
v0.2.0
First tagged release without a pre-release suffix, tracking cboxdk/laravel-telemetry v0.2.0.
Changed
- Requires
cboxdk/laravel-telemetry^0.2.0. The hook surface the addon builds on (resolveRouteUsing,enrichRequestsUsing,classifyCacheKeysUsing,resolveUserUsing,BrowserSnippet, events) is unchanged from the alpha line, so this is a version-alignment release — no addon behaviour changes. Verified green against core v0.2.0 (73 tests).
Installing the addon no longer needs a minimum-stability tweak. Under SemVer 0.x, breaking changes bump the minor version from here on.
Install
composer require cboxdk/statamic-telemetry:^0.2.0Full Changelog: https://github.com/cboxdk/statamic-telemetry/blob/main/CHANGELOG.md
v0.1.0-alpha.8
Changed
- Frontend 404s are bucketed as
not_found. A URL that matches Statamic's/{segments?}catch-all but resolves to no entry, term or taxonomy (broken links, bots, stale sitemaps) now getshttp.route = not_foundinstead of the raw catch-all template — so 404 traffic is visible and sizeable in route tables and histograms instead of diluting the frontend bucket. Scoped toFrontendController, so a 404 on a real Laravel route keeps its ownhttp.route. Cache hits still keep/{segments?}(served before any content resolves — and fast; they carrystatamic.static_cache: hit). TheresolveRouteUsingresolver now takes the final response, viaContent::route($request, $response).
Full Changelog: https://github.com/cboxdk/statamic-telemetry/blob/main/CHANGELOG.md
v0.1.0-alpha.7
Cache purge annotations. Every stache, static cache and glide clear emits an unsampled statamic.cache.purge event (cache.type: stache/static/glide/glide_asset, cache.trigger: cli/http), and the bundled Statamic dashboard renders it — alongside core deploy markers — as an annotation line. So a latency spike after a purge explains itself: a stache clear means index rebuilds, a static clear means full re-renders, a glide clear means image regeneration. Toggle: instrument.cache_purges. Verified live (event reaches Loki, annotation query matches).
Dashboard generator rewritten from Python to PHP. No reason to carry a Python script in a PHP package — resources/grafana/generate.php (php resources/grafana/generate.php) produces the same dashboard, which imports into Grafana cleanly.
v0.1.0-alpha.6
The CP nav 'Telemetry' item now prefers the in-app cboxdk/laravel-telemetry-ui dashboard — which has dedicated Statamic pages (Static Cache, Stache, Glide, Forms, Content, Inventory) — when that package is installed, instead of only an external Grafana URL.
- Auto-links to
telemetry-uiwhen present (same tab); setSTATAMIC_TELEMETRY_UI_URLto override with Grafana / a remote UI (new tab for cross-origin). - Config renamed
cp.grafana_url→cp.url(STATAMIC_TELEMETRY_GRAFANA_URLstill read as a fallback).
Verified live with telemetry-ui installed: the nav resolves to /telemetry-ui with no config, and to the configured Grafana URL when set.
v0.1.0-alpha.5
Brings laravel-telemetry's browser RUM (@cboxdk/telemetry-browser) to Antlers.
{{ telemetry:browser }}— traceparent meta + the RUM<script>;{{ telemetry:traceparent }}— just the meta. The Antlers counterparts to the@telemetryBrowser/@telemetryTraceparentBlade directives. Both empty when the span ingest or trace is off.- Static caching handled. A
BrowserTracingReplacer(a Statamic replacer, like the CSRF one) strips the per-request traceparent anddata-sessionfrom cached pages before the snapshot, so a cache hit never replays one visitor's server trace or analytics session to everyone — the RUM self-roots. Covers half measure (served through PHP) and full measure (compiled to an HTML file, served without PHP — the strip happens at compile time, so the file on disk is clean; hits get a self-rooted browser trace with no server span). Verified live. - CP nav shortcut to Grafana via
STATAMIC_TELEMETRY_GRAFANA_URL.
Requires cboxdk/laravel-telemetry:^0.1.0-alpha.6.
composer require cboxdk/statamic-telemetry:^0.1.0-alpha.5v0.1.0-alpha.4
Inspired by reviewing cboxdk/statamic-overseer's publish-lifecycle auditing.
- Entry saves are labelled by publish status.
statamic.content.changes{type=entry}now usespublished/draft/scheduled/expiredinstead of a flatsaved, so you see the publish-state mix of editing activity. (A status snapshot, not a transition — Statamic syncs the pre-save published value away before the event fires, so publish/unpublish can't be detected reliably at the event boundary.) - Dashboard surfaces the base package's
auth.events(login/logout/failed/lockout) next to the Statamic-specificstatamic.auth.events(impersonation, 2FA), plus a dedicated 'Entry saves by publish status' panel. The failed-login security signal was already covered by laravel-telemetry alpha.4, so the addon doesn't duplicate it.
v0.1.0-alpha.3
http.route now carries the logical content route. Using laravel-telemetry alpha.4's new resolveRouteUsing() hook, the addon overrides http.route with entry:{collection}.{blueprint} / term:{taxonomy} / taxonomy:{handle} — so route tables, Grafana and TraceQL group by content instead of collapsing every frontend page into /{segments?}. The raw template is preserved as http.route.template.
Also adds taxonomy index/listing page naming (GET taxonomy:{handle}).
Requires cboxdk/laravel-telemetry:^0.1.0-alpha.4.
composer require cboxdk/statamic-telemetry:^0.1.0-alpha.3v0.1.0-alpha.2
Adds a bounded statamic.route metric label so request latency breaks down per collection/taxonomy instead of collapsing into the single http.route catch-all template — with a new Frontend latency by content route dashboard row. The addon now also claims labelRequestsUsing; apps with their own request metric labels compose via Content::routeLabel.
Verified against cboxdk/laravel-telemetry v0.1.0-alpha.2 (its env-var renames don't affect the addon — it reads config keys, which are unchanged).
composer require cboxdk/statamic-telemetry:^0.1.0-alpha.2Full notes: CHANGELOG.