<service-name>/grafanaGeneration and file layout
Each service receives editable Jsonnet dashboard sources and generated Grafana JSON. Shared templates are combined with runtime-specific overrides selected by code generation.
When to use
Use this page to understand the generated dashboard, its panels, and the signals behind them.
Behavior
- The code generator creates Jsonnet sources for every generated service.
make grafana-dashboardsrenders them to Grafana JSON.
Build command
make grafana-dashboards runs the generated renderer for every service. make docker-up depends on dashboard generation, so the JSON is refreshed before the observability stack starts.
Generated paths properties
Panels included in this dashboard.
`<service-name>/grafana/*.jsonnet`PanelDashboard sources. <service-name> is derived from the Service.name configured in the designer: it is lowercased and whitespace is removed.
`<service-name>/grafana/_lib.libsonnet`PanelShared Grafana builders, variables, Prometheus expressions, rates, histogram quantiles, and heatmap helpers.
`<service-name>/grafana/generate.generated.sh`PanelGenerated rendering script used by the workspace Makefile.
`<service-name>/grafana/dist/*.json`PanelRendered Grafana dashboards consumed by Docker Compose and Kubernetes provisioning.
Template selection properties
Panels included in this dashboard.
Canonical templatesPanelThe base set contains Service, Streams, Data Sources, Data Sinks, Task Pools, Join Storage, HTTP Server, HTTP Client, gRPC Server, gRPC Client, and Runtime dashboards.
Runtime overridesPanelThe generator replaces same-named canonical files with templates for Go, C++ userver, C++ Boost, Python, Rust, or TypeScript where their metric contracts differ.
Runtime additionsPanelA runtime can add dashboards that are not part of the canonical set, such as Kafka Client.
Temporal conditionPanel13_temporal.generated.jsonnet is emitted only when the service graph uses a Temporal connector.
Configuration example
make grafana-dashboards