Open iksaif opened 7 years ago
https://github.com/criteo/graphite-remote-adapter for the go part, which may have a biggraphite specific client.
Prefix all prometheus metrics by prometheus
(or something configurable).
Always call /find first to get the list of metric, then call render. We call render once per metric (or maybe batch).
Only get data older than x
amount of time (configurable)
metric
=> prometheus.metric
metric{label="value"}
=> prometheus.metric.**
(check if we can stuf)We will probably want to heavilly cache the results.
On the write path:
For the read path:
=
: easy!=
, =~
, !~
: wildcard plus post-filtering. Might do some prefix matching in some cases.First, use the Graphite read path and chose some special characters to do {label=value}. Later, have our own fast-path for prometheus.
Work ongoing on https://github.com/criteo/graphite-remote-adapter
See https://github.com/prometheus/prometheus/blob/HEAD/storage/remote/remote.proto for the protocol