Deep links and embedding

Embed
Preview of the card
<a href="https://forumulate.com/p/watchtower/docs/deep-links"><img src="https://forumulate.com/api/public/orgs/watchtower/spaces/docs/pages/79c09b90-f710-4f5c-bdd1-1d784cbfb246/social-card.svg?v=3e7ae33eec8b" alt="Deep links and embedding" width="600" height="315"></a>

Every view keeps its state in the URL, so any address can be shared or embedded. Shared parameters work on every page:

Parameter

Meaning

project

Project id.

from, to

Time range: now, now-15m, now-6h, now-7d or an RFC 3339 instant.

tz

IANA time zone (default UTC).

env

Environment filter.

q

Restored page state (JSON), written by saved queries.

embed

1 for read-only chrome (see below).

Page parameters

Page

Parameters

/traces

trace (32-hex trace id), view

/logs

q, tail=1 starts the live tail

/metrics

q

/services

service, tab

/map

service

/issues

issue (issue id)

/incidents

inc (incident id)

/dashboards

dash (dashboard id), new=1 opens the create form

/saved

sq (saved query id), new=1

/alerts

rule, schedule, new=1

/slos

slo

/uptime

monitor

/compare, /notebooks, /infra, /oncall, /profiles

the shared parameters only

Pages ignore parameters they do not know. new=1 is a convention used by the command palette.

Command palette and shortcuts

Ctrl/Cmd+K or / opens the palette. ? lists the keys: g then s l t m a i o d go to Services, Logs, Traces, Metrics, Alerts, Incidents, On-call, Dashboards; [ and ] shift the time range by half a window; j and k move through lists. Keys are ignored while typing in a field. Every key has a visible alternative (navigation, time controls, palette).

Search is GET /v1/projects/{prj}/search?q=&kinds=&limit= (kinds: service, dashboard, saved_query, issue, monitor, rule, slo, schedule; up to 10 hits per kind). Kinds the caller cannot read are left out.

Embedding

Add embed=1 to any URL to hide navigation, the project picker and the palette; the URL state keeps working. The web host must send Content-Security-Policy: frame-ancestors <origins> built from the project setting embed_origins (a list of origins in projects.settings); an empty list means no site may frame the page.

Updated