Menu
Grafana Cloud

Graphite FAQ

Can I use tags?

Yes, our platform supports graphite tags as well as meta tags, allowing to add extra metadata tags your series.

How do I send data to the service?

See data ingestion.

Are there usage limits?

Grafana Cloud will reject metrics samples older than 1 hour with “out of bounds” error.

How does this compare to stock graphite?

When Grafana Cloud is configured to use metrictank and graphite, there are some important differences with stock Graphite to be aware of:

  • Support for meta tags.
  • Grafana Cloud Metrics is optimized for append-only workloads. While historical data can be imported, and we can allow for some out-of-orderness in the recent window (e.g. last 10 or 60 points), we currently don’t support out of order writes (overwriting old data).
  • Timeseries can change resolution (interval) over time, they will be merged automatically.
  • Response metadata: performance statistics, series lineage information and rollup indicator (all visualized through grafana).
  • Index pruning (hide inactive/stale series). Specifically, the index is pruned and metrics are removed after 1 month of inactivity. All queries use the index, so related metrics will appear to have vanished along with data history. Time series metrics are not affected by this, so when a new data point is sent for a pruned metric, it will be re-indexed and all the history will reappear.

My query results have a lower resolution than expected

There are two typical reasons why this happens: maxDataPoints and usage restrictions.

maxDataPoints sets a limit on the number of points returned per series, reducing resolution as necessary.

  • When querying through Grafana, maxDataPoints is set automatically. You can change it manually in the Query options. Refer to the query editor documentation for more information.
  • When querying directly through the HTTP API using cURL or similar, maxDataPoints is set to 800 by default. You can change this value by appending &maxDataPoints=<number> to your query.

Note: Grafana Cloud uses lower resolution rollups and runtime consolidation to reduce the amount of points as needed. The Lineage information can provide more insight in exactly which operations have been applied to the data.

By default, if a query tries to fetch more than 1 million datapoints, we will pick lower resolution data (rollups) for that query, to try to get the number under 1 million. If the query, no matter which rollup we try to choose, still tries to fetch more than 20 million datapoints, we reject it.

Example:

Let’s say you use the standard GrafanaCloud retention: 1s:8d,1m:60d,30m:2y, and a query is issued for sumSeries(<metric name pattern>) and a time range of 24h. A metric with 1s resolution has 86400 data points in a 24h period, so if <metric name pattern> matches 12 or more metrics then 12*86400=1036800 which exceeds the threshold, so we will pick the minutely data instead. This way you typically still get high enough resolution (in this case 1440 points per series), but higher query performance.

Note that on custom plans, these settings can be adjusted. You can also pre-aggregate data in carbon-relay-ng to load fewer series.

Do I have to exclusively use Grafana Cloud?

No, Grafana Cloud contains a data source that you can use however you like. E.g. in combination with other data sources, and queried from any Grafana instance or other client.