Factory.ai

Open-Source Wikis

/

Grafana

/

Overview

/

Glossary

grafana/grafana

Glossary

Project-specific terms, acronyms, and codenames you will encounter in the codebase. General software terms (REST, gRPC, Redux, …) are not listed here.

Product concepts

  • Dashboard — a JSON document holding a layout of panels, template variables, and time range. Stored in dashboard table, schema in kinds/dashboard/ and the new apps/dashboard/.
  • Panel — a single visualization on a dashboard. Each panel has a type matching a panel plugin (timeseries, stat, table, etc.).
  • Folder — container for dashboards. Permissions are typically set on folders, not individual dashboards. Implemented in pkg/services/folder/.
  • Datasource — configured connection to a data backend (Prometheus, Loki, MySQL, …). Built-ins are in public/app/plugins/datasource/ (frontend) and pkg/tsdb/ (backend).
  • DataFrame — Grafana's columnar data interchange format. Defined in packages/grafana-data/ (TS) and pkg/dataframe (Go via the Grafana plugin SDK).
  • Explore — the ad-hoc query view (as opposed to a saved dashboard). Code under public/app/features/explore/.
  • Alert rule — a query + condition + evaluation interval. Stored and evaluated by pkg/services/ngalert/.
  • Contact point — a destination for alert notifications (email, Slack, PagerDuty, …) — known historically as a "notifier". Code lives under pkg/services/ngalert/notifier/.
  • Notification policy — routing tree that decides which contact point an alert goes to. Stored in the Alertmanager config managed by ngalert.
  • Public dashboard — a dashboard exposed without authentication via a token. Implemented in pkg/services/publicdashboards/.
  • Library panel / library element — a panel definition shared across dashboards. See pkg/services/libraryelements/ and pkg/services/librarypanels/.
  • Scenes — the new dashboarding framework, implemented as the @grafana/scenes external package and consumed by public/app/features/dashboard-scene/. Long-term replacement for the legacy Angular-rooted dashboard model.
  • Trails / Drilldown — the metrics drilldown UX. See public/app/features/trails/.

Architectural terms

  • OSS / Enterprise / Pro — Go build tags that gate features. The repo only contains OSS code; enterprise and pro fill in via build tags and a separate (private) source tree.
  • App SDK / app-platform — the new Kubernetes-style API runtime. Apps live under apps/ and serve <group>/<version>/<resource> style endpoints alongside the legacy REST API.
  • Unified storage — the storage layer behind app-platform resources, implemented in pkg/storage/ and pkg/services/apiserver/.
  • Wire — Google's compile-time dependency injection generator. Service graph is declared in pkg/server/wire.go and generated to wire_gen.go.
  • CUE / kinds — type definitions written in CUE under kinds/ and generated to Go + TS by make gen-cue. The Grafana way of having a single source of truth for cross-language schemas.
  • Feature toggle — a runtime flag, listed in pkg/services/featuremgmt/registry.go. Some are stable, some experimental, some preview-only.
  • Live channel — a Centrifuge pub/sub topic served over WebSocket from pkg/services/live/. Frontend subscribes via the LiveDataSource.
  • Plugin SDK — the grafana-plugin-sdk-go library that backend datasource plugins implement against. Plugins talk to the host over gRPC.
  • Sandbox — the iframe-based sandbox that executes untrusted plugin frontend code. Code under public/app/features/plugins/sandbox/.

Auth and access control

  • Org — the original multi-tenancy unit in Grafana. A user has a role per org. See pkg/services/org/.
  • RBAC — fine-grained role-based access control built on top of orgs. Implemented in pkg/services/accesscontrol/ — actions (dashboards:read), scopes (dashboards:uid:abc), and built-in plus custom roles.
  • Service account — a non-user identity used by automation. Tokens issued via pkg/services/serviceaccounts/.
  • AuthN / AuthZ — authentication is in pkg/services/authn/ (identity resolution from request to a *user.SignedInUser); authorization is in accesscontrol.
  • Anonymous — a special unauthenticated identity controlled by auth.anonymous config and the pkg/services/anonymous/ service.

Frontend specifics

  • Scenes — see above (product concept).
  • RTK Query — Redux Toolkit's data fetching layer, used for most server-state code in public/app/features/.
  • Slice — a Redux Toolkit slice. New Redux code uses slices, not the legacy connect-style reducers.
  • Emotion / useStyles2 — the CSS-in-JS pattern. useStyles2(styles) returns a ClassRecord from a function that takes the current theme.
  • Theme — see @grafana/data themes. Light/dark/extended themes for visual rendering.

Build and CI

  • Lefthook — pre-commit hook runner, configured in lefthook.yml.
  • Drone / GitHub Actions — CI orchestrators. Most jobs are GitHub Actions in .github/workflows/.
  • Bra / Air — Go file watcher used for make run hot reload, configured by .air.toml.
  • Nx — JS task runner used for affected-only builds across workspaces. Configured by nx.json and per-package project.json.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – Grafana wiki | Factory