How appian/grafana works
Grafana is an observability platform for querying and visualizing metrics, logs, and traces, and for defining alerting workflows. Its user-facing path runs from dashboards or Explore through data-source queries to visualized results; dashboards also support reusable variables, mixed data sources, and sharing. Alerting and notification routing form a distinct capability. The supplied tree supports these product areas, but sampled implementation is sparse, so only the public-dashboard query and Zipkin transformation links are drawn as concrete runtime flows.
Main entry points: explore Explore · publicDashboardQueryHandler.ts Public query handler · dashboard Dashboards · handler_querydata.go Zipkin queries
Components 20
User experience
- Dashboards
apps/dashboard/pkg/apis/dashboard - Folder browsing
public/app/core/components/NestedFolderPicker/useFoldersQuery.ts - Explore
public/app/features/explore - Metrics exploration
packages/grafana-prometheus/src/components/usePromQueryFieldEffects.ts - Log exploration
public/app/features/explore - Trace exploration
public/app/features/explore/TraceView/components/ScrollManager.tsx
Query and data
- Public query handler
packages/grafana-runtime/src/utils/publicDashboardQueryHandler.ts - Query service
pkg/services/query - Data sources
pkg/tsdb - Zipkin queries
pkg/tsdb/zipkin/handler_querydata.go
Visualization
- Data frames
packages/grafana-data/src/dataframe - Panels and plugins
packages/grafana-data/src/panel/PanelPlugin.ts
Alerting
- Alert rules
public/app/features/alerting/unified - Notification routing
public/app/features/alerting/unified/components/rule-editor/notificaton-preview/useAlertmanagerNotificationRoutingPreview.ts - Contact points
packages/grafana-alerting/src/grafana/contactPoints
Platform APIs
- Query type registry
pkg/registry/apis/query/queryschema/query_type_storage.go - Alerting resources
apps/alerting/notifications/pkg/apis/alerting/v0alpha1
Other components
- Grafana user
- Grafana backend API
- Zipkin service
Connections 17
- Grafana user → Dashboards: creates and views
- Grafana user → Explore: explores data
- Dashboards → Folder browsing: browses folders
- Dashboards → Public query handler: queries panels
- Explore → Metrics exploration: explores metrics
- Explore → Log exploration: explores logs
- Explore → Trace exploration: views traces
- Public query handler → Grafana backend API: posts query
- Public query handler → Public query handler: converts response
- Query service → Data sources: dispatches queries
- Zipkin queries → Zipkin service: fetches traces
- Zipkin queries → Data frames: transforms spans
- Data frames → Panels and plugins: supplies data
- Alert rules → Notification routing: previews routing
- Notification routing → Contact points: matches receivers
- Query type registry → Grafana backend API: serves query types
- Alerting resources → Grafana backend API: exposes resources