145 lines
3.4 KiB
YAML
145 lines
3.4 KiB
YAML
settings:
|
|
title: "fn_registry — Dashboard Demo"
|
|
refresh: 5s
|
|
width: 1280
|
|
height: 800
|
|
columns: 12
|
|
|
|
theme: "dark"
|
|
|
|
connections:
|
|
registry:
|
|
driver: sqlite
|
|
path: ../../../registry.db
|
|
|
|
queries:
|
|
total_functions:
|
|
connection: registry
|
|
sql: "SELECT COUNT(*) as value FROM functions"
|
|
refresh: 30s
|
|
|
|
total_types:
|
|
connection: registry
|
|
sql: "SELECT COUNT(*) as value FROM types"
|
|
refresh: 30s
|
|
|
|
total_proposals:
|
|
connection: registry
|
|
sql: "SELECT COUNT(*) as value FROM proposals"
|
|
refresh: 30s
|
|
|
|
functions_by_domain:
|
|
connection: registry
|
|
sql: "SELECT domain, COUNT(*) as count FROM functions GROUP BY domain ORDER BY count DESC"
|
|
refresh: 30s
|
|
|
|
functions_by_kind:
|
|
connection: registry
|
|
sql: "SELECT kind, COUNT(*) as count FROM functions GROUP BY kind ORDER BY count DESC"
|
|
refresh: 30s
|
|
|
|
functions_by_purity:
|
|
connection: registry
|
|
sql: "SELECT purity, COUNT(*) as count FROM functions GROUP BY purity ORDER BY count DESC"
|
|
refresh: 30s
|
|
|
|
functions_by_lang:
|
|
connection: registry
|
|
sql: "SELECT lang, COUNT(*) as count FROM functions GROUP BY lang ORDER BY count DESC"
|
|
refresh: 30s
|
|
|
|
recent_functions:
|
|
connection: registry
|
|
sql: "SELECT id, kind, lang, domain, purity, description FROM functions ORDER BY updated_at DESC LIMIT 20"
|
|
refresh: 10s
|
|
|
|
tested_ratio:
|
|
connection: registry
|
|
sql: "SELECT tested, COUNT(*) as count FROM functions GROUP BY tested"
|
|
refresh: 30s
|
|
|
|
filters: {}
|
|
|
|
sections:
|
|
- id: kpis
|
|
title: "Overview"
|
|
widgets:
|
|
- id: total_fn
|
|
type: kpi
|
|
title: "Functions"
|
|
query: total_functions
|
|
mapping: { value: "value" }
|
|
span: 3
|
|
|
|
- id: total_tp
|
|
type: kpi
|
|
title: "Types"
|
|
query: total_types
|
|
mapping: { value: "value" }
|
|
span: 3
|
|
|
|
- id: total_pr
|
|
type: kpi
|
|
title: "Proposals"
|
|
query: total_proposals
|
|
mapping: { value: "value" }
|
|
span: 3
|
|
|
|
- id: tested_kpi
|
|
type: kpi
|
|
title: "Tested Ratio"
|
|
query: tested_ratio
|
|
mapping: { value: "count" }
|
|
span: 3
|
|
|
|
- id: distribution
|
|
title: "Distribution"
|
|
columns: 4
|
|
widgets:
|
|
- id: by_domain
|
|
type: bar_chart
|
|
title: "By Domain"
|
|
query: functions_by_domain
|
|
mapping: { x: "domain", y: "count" }
|
|
options: { show_grid: true }
|
|
span: 1
|
|
|
|
- id: by_lang
|
|
type: bar_chart
|
|
title: "By Language"
|
|
query: functions_by_lang
|
|
mapping: { x: "lang", y: "count" }
|
|
span: 1
|
|
|
|
- id: by_kind
|
|
type: bar_chart
|
|
title: "By Kind"
|
|
query: functions_by_kind
|
|
mapping: { x: "kind", y: "count" }
|
|
span: 1
|
|
|
|
- id: by_purity
|
|
type: bar_chart
|
|
title: "By Purity"
|
|
query: functions_by_purity
|
|
mapping: { x: "purity", y: "count" }
|
|
span: 1
|
|
|
|
- id: detail
|
|
title: "Recent Functions"
|
|
collapsible: true
|
|
widgets:
|
|
- id: recent_table
|
|
type: table
|
|
title: "Last 20 Updated"
|
|
query: recent_functions
|
|
mapping:
|
|
columns:
|
|
- { key: "id", label: "ID" }
|
|
- { key: "kind", label: "Kind" }
|
|
- { key: "lang", label: "Lang" }
|
|
- { key: "domain", label: "Domain" }
|
|
- { key: "purity", label: "Purity" }
|
|
- { key: "description", label: "Description" }
|
|
span: 12
|