@@ -29,29 +29,37 @@ cache:
2929 - " 127.0.0.1:11211"
3030# Amount of CPUs to use. 0 - unlimited
3131cpus : 0
32- # graphiteWeb: "graphiteWeb.example.yaml"
32+
3333# Timezone, default - local
3434tz : " "
35- # If 'true', carbonapi will send requests as is, with globs and braces
36- # Otherwise for each request it will generate /metrics/find and then /render
37- # individual metrics.
38- # true --- faster, but will cause carbonzipper to consume much more RAM.
39- #
40- # For some backends (e.x. graphite-clickhouse) this *MUST* be set to true in order
41- # to get reasonable performance
35+
36+ # Deprecated and removed:
37+ # sendGlobsAsIs: true|false
38+ # alwaysSendGlobsAsIs: true|false
39+ # maxBatchSize: int
40+ # Migration path
41+ # alwaysSendGlobsAsIs: true -> resolveGlobs: 0
42+ # sendGlobsAsIs: false -> resolveGlobs: 1
43+ # sendGlobsAsIs: true && maxBatchSize: int -> resolveGlobs: int
44+
45+ resolveGlobs : 100
46+ # = 0 - faster (no 'find in advance', direct render)
47+ # = 1 - slower (always 'find in advance' and every metric rendered individually)
48+ # > 1 - slower (always 'find in advance' and then render strategy depend on amount of metrics)
49+ # If resolveGlobs is = 0 (zero) then /metrics/find request won't be send and a query will be passed
50+ # to a /render as it is.
4251#
43- # For go-carbon --- it depends on how you use it.
44- sendGlobsAsIs : true
45- # If sendGlobsAsIs is set and resulting response will be larger than maxBatchSize
46- # carbonapi will revert to old behavir. This allows you to use benifits of passing
47- # globs as is but keep memory usage in sane limits.
52+ # If resolveGlobs is = 1 (zero) then send /metrics/find request and send /render for every metric separately
4853#
49- # For go-carbon you might want it to keep in some reasonable limits, 100 is good "safe" defaults
54+ # If resolveGlobs is set > 1 (one) then carbonapi will send a /metrics/find request and it will check
55+ # the resulting response if it contain more than resolveGlobs metrics
56+ # If find returns MORE metrics than resolveGlobs - carbonapi will query metrics one by one
57+ # If find returns LESS metrics than resolveGlobs - revert to the old behaviour and send the query as it is.
58+ # This allows you to use benifits of passing globs as is but keep memory usage in carbonzipper within sane limits.
5059#
51- # For some backends (e.x. graphite-clickhouse) you might want to set it to some insanly high value, like 100000
52- maxBatchSize : 100
53-
54- # alwaysSendGlobsAsIs: false
60+ # For go-carbon you might want to keep it in some reasonable limits, 100 is a good "safe" default
61+ # For some backends you might want to set it to 0
62+ # If you noticing carbonzipper OOM then this is a parameter to tune.
5563
5664# functionsConfigs:
5765# graphiteWeb: ./graphiteWeb.example.yaml
@@ -77,7 +85,7 @@ upstreams:
7785 # Number of 100ms buckets to track request distribution in. Used to build
7886 # 'carbon.zipper.hostname.requests_in_0ms_to_100ms' metric and friends.
7987 buckets : 10
80- # maxBatchSize : 200
88+ # resolveGlobs : 200
8189# concurrencyLimitPerServer: 100
8290 timeouts :
8391# # Maximum backend request time for find requests.
0 commit comments