Prometheus storage integration の remote read 間隔が知りたい。
diagram
仮説
凡例
- solid: usage
- dashed: DFD
モチベ
実験すれば良いけど、静的に解析したい。
→ code reading
repo
ref
Remote storage integrations
https://prometheus.io/docs/prometheus/latest/images/remote_integrations.png
Remote Endpoints and Storage
Remote read
When configured, Prometheus storage queries (e.g. via the HTTP API) are sent to both local and remote storage, and results are merged.
Note that to maintain reliability in the face of remote storage issues, alerting and recording rule evaluation use only the local TSDB.
code reading
あたりを つける
初期化:
actor 登録:
始動:
lib
run.Group
について
定義
scraper main loop
scraper
reload
sync
main loop
write
def
scrape interval
reload
sync
zero
periodic exec
結局、書き込みインターバルが scrape interval だと言う証拠は、まだ分からない。
引き続き evaluate interval が remote read interval に相当するかを検証する。
global config
global.evaluation_interval
rule config
groups[].interval
eval loop
def
main
engine
rules
group
group interval
loop
rule group
ふりかえり
結局、いつ・どこで・だれが remote storage を fetch してんだよ。
readable storage
interface
read handler
only for API; ignore
type Handler interface {
ServeHTTP(ResponseWriter, *Request)
}
sampleAndChunkQueryableClient
usage of queryable