Graphite

maintenance

by Graphite project (originally Orbitz) · since 2008 · also known as Graphite Carbon, Whisper, graphite-web

Veteran metrics stack: Carbon ingestion, Whisper files and the render API that shaped modern dashboards.

time-seriesdatabase engineopen source (permissive)legacy

maintenance. Volunteer-maintained; last tagged release 1.1.10 (May 2022), with recent commits limited to fixes and dependency updates.

Overview

Graphite is the open-source metrics stack, first released by Orbitz in 2008, that popularised dotted metric names, the plaintext "path value timestamp" protocol and the function-chaining render API Grafana was originally built around. Carbon daemons receive metrics, Whisper fixed-size files store them with pre-declared retention and rollups, and graphite-web serves the render and find APIs. It is easy to reason about but scales only by manual sharding with carbon-relay, and its tag support arrived late, so most new deployments pick a Prometheus-compatible system and keep the Graphite protocol only for legacy emitters. Volunteers still merge fixes, but there has been no tagged release since 2022.

Strengths & trade-offs

Strengths

  • +Dead-simple plaintext protocol supported by almost every metrics library and StatsD
  • +Predictable disk usage: Whisper files are preallocated per retention policy
  • +Rich library of render functions for transforming series
  • +Mature, well understood and supported in Grafana

Trade-offs

  • −Disk I/O heavy: one file per metric and per-point writes
  • −Clustering is manual sharding with no automatic rebalancing
  • −Hierarchical names make label-style slicing awkward even with tags
  • −Little active development; Python 2-era design

Great for

  • +Legacy StatsD and Graphite pipelines
  • +Small self-hosted metrics setups
  • +Graphite-protocol ingest feeding newer backends

Think twice for

  • −Kubernetes-scale label-heavy metrics
  • −High-cardinality workloads
  • −Long retention at full resolution

Capabilities

Native or official first-party support · 2 of 25 tracked

✓TTL / expiry
✓Durable persistence
–Transactions
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Manual
Multi-region
No
Transactions
None
Consistency
Eventual
Schema
Schemaless
Architecture
Single node, Client server
Query languages
Graphite render functions

Scale by sharding Whisper files across hosts with carbon-relay consistent hashing.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsCarbon plaintext protocol, Carbon pickle protocol, Render API, Metrics find API

Alternatives to Graphite

Compare all→
PrometheusTime-Series70.8

CNCF-graduated pull-based monitoring system with a local TSDB, PromQL and alerting rules.

graphite vs prometheus →
VictoriaMetricsTime-Series26.8

Resource-frugal, Prometheus-compatible metrics database, run as a single binary or a sharded cluster.

graphite vs victoriametrics →
InfluxDBTime-Series51.0

Purpose-built time-series database, rebuilt in Rust on Arrow, DataFusion and Parquet for version 3.

graphite vs influxdb →
M3DBTime-Series4.2

Uber-born distributed TSDB and aggregator for Prometheus-scale metrics with tunable replication.

graphite vs m3db →
Grafana MimirTime-Series15.8

Grafana Labs' horizontally scalable, multi-tenant long-term store for Prometheus and OTLP metrics.

graphite vs grafana-mimir →
OpenTSDBTime-Series6.9

HBase-backed time-series database from the Hadoop era; still in service, rarely chosen for new work.

graphite vs opentsdb →

Graphite FAQ

What is Graphite?

Graphite is a time-series database by Graphite project (originally Orbitz), first released in 2008. Graphite is the open-source metrics stack, first released by Orbitz in 2008, that popularised dotted metric names, the plaintext "path value timestamp" protocol and the function-chaining render API Grafana was originally built around. Carbon daemons receive metrics, Whisper fixed-size files store them with pre-declared retention and rollups, and graphite-web serves the render and find APIs. It is easy to reason about but scales only by manual sharding with carbon-relay, and its tag support arrived late, so most new deployments pick a Prometheus-compatible system and keep the Graphite protocol only for legacy emitters. Volunteers still merge fixes, but there has been no tagged release since 2022.

Is Graphite open source?

Yes. Graphite is open source. License: Apache License 2.0.

Does Graphite support ACID transactions?

No. Graphite does not provide ACID transactions; its consistency model is eventual.

Does Graphite scale horizontally?

Graphite has no built-in sharding; scaling out means partitioning data in your application. It is comfortable at medium scale (≤ 10 TB).

How can I run Graphite?

You can self-host it.

What is Graphite best for?

Graphite is a strong fit for legacy StatsD and Graphite pipelines; small self-hosted metrics setups; and graphite-protocol ingest feeding newer backends. Think twice for kubernetes-scale label-heavy metrics.

What are the best alternatives to Graphite?

Common alternatives to Graphite include Prometheus, VictoriaMetrics, InfluxDB, M3DB and Grafana Mimir. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is Graphite still maintained?

Graphite is in maintenance mode. Volunteer-maintained; last tagged release 1.1.10 (May 2022), with recent commits limited to fixes and dependency updates.

How popular is Graphite?

Graphite ranks #119 of 844 databases on the WhichDB Score (25.2/100), and #8 among time-series databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.