Registry and Analytics: run, subnet, direction and protocol filters, successes-by-target chart
Registry (/registry):
- filters by run (slice by the address's cycle in that run), subnet
(drop-down of configured subnets), direction (egress/ingress) and
protocol (icmp, tcp, ssh, https, tls); status in scope is computed over
the narrowed checks
- chart "successful checks per target (egress) / site (ingress)" when both
direction and protocol are chosen; a row opens the list of addresses
(dialog, CSV)
- API: direction/protocol parameters and run in GET /admin/registry,
GET /admin/registry/breakdown and /breakdown/list
- subnet filter passes ids as one JSON parameter (SQLite variable limit)
Analytics (/analytics):
- subnet filter recomputes the whole page over the addresses of the run
inside the subnet; only their checks are read; cache per run and subnet
- direction and protocol focus the page; with both set the registry chart
is shown
- subnet parameter in GET /admin/analytics/runs/{id} and lists (JSON, CSV)
Docs: plans and summaries in docs/changes, README, API, USAGE.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
068c10ea1c
commit
ded196ec8d
40 files changed
+2545
-188
No files matched your search
@@ -507,8 +507,16 @@ code.inline { font-family: var(--font-mono); background: var(--surface-alt); bor
|
||||
.main { padding: 16px 14px 50px; }
|
||||
}
|
||||
|
||||
.bd-wrap { margin-bottom: 16px; }
|
||||
/* Chart of the registry: the figures column has one width in every row, so the bars line up. */
|
||||
#registry-breakdown .an-bar-row { grid-template-columns: minmax(110px, 30%) minmax(0, 1fr) 15em; }
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.field-row { flex-direction: column; align-items: stretch; }
|
||||
/* the registry fields carry an inline flex basis (for rows); in a column it would become a height */
|
||||
#registry-filter .field { flex: 0 0 auto !important; }
|
||||
#registry-breakdown .an-bar-row { grid-template-columns: minmax(0, 1fr) auto; }
|
||||
#registry-breakdown .an-bar-row .an-track { grid-column: 1 / -1; grid-row: 2; }
|
||||
thead { display: none; }
|
||||
table, tbody, tr, td { display: block; width: 100%; }
|
||||
tbody tr { border-bottom: 1px solid var(--border-soft); padding: 9px 16px; }
|
||||
|
||||
Reference in new issue
Block a user