grafana/grafana
Grafana
Grafana is an open-source observability platform for querying, visualizing, and alerting on time-series data — metrics, logs, and traces — from any data source. The repository is a large monorepo combining a Go backend, a TypeScript/React frontend, a set of shared @grafana/* npm packages, and dozens of built-in datasource and panel plugins.
What this codebase contains
- A Go HTTP server (
pkg/) that exposes the REST/gRPC API, persists user data, evaluates alert rules, talks to datasources, and serves the frontend bundle. Entry point:pkg/cmd/grafana/main.go. - A TypeScript single-page application (
public/app/) that renders dashboards, the Explore view, the alerting UI, and admin pages. Entry point:public/app/index.ts. - Shared npm packages (
packages/grafana-*) published to@grafana/data,@grafana/ui,@grafana/runtime,@grafana/schema, etc. — used both inside this repo and by external plugin authors. - Backend "apps" (
apps/) — standalone Go modules built on the Grafana App SDK that provide Kubernetes-style API resources for dashboards, folders, alerting, IAM, provisioning, etc. - Built-in plugins (
public/app/plugins/) — datasource (Prometheus, Loki, Tempo, CloudWatch, MySQL, …) and panel (Time Series, Stat, Table, …) plugins shipped with Grafana. - Data backends (
pkg/tsdb/) — Go-side query backends paired with the frontend datasource plugins.
Where to start
| Audience | Start with |
|---|---|
| Newcomer to the codebase | Architecture and Getting started |
| Reading dashboards & panels code | Frontend overview and Dashboards |
| Reading API/server code | Backend overview and API layer |
| Building or porting a plugin | Built-in plugins and Packages |
| Investigating an alerting issue | Alerting (backend) |
| Configuration and ops | Configuration reference, Deployment |
Project facts
- Language mix: Go (backend, plugin host, CLI), TypeScript + React (frontend), CUE (schemas in
kinds/), some shell, Python, Make. - Build system: Yarn 4 workspaces + Nx for the JS side, Go workspaces (
go.work) and Make for the Go side, Webpack for bundling. - License: AGPL-3.0-only with Apache-2.0 exceptions documented in
LICENSING.md. - First commit: January 2013. Active development with thousands of contributors.
See by the numbers for a quantitative snapshot and lore for the codebase's history.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.
Next
Architecture