diff options
Diffstat (limited to 'Documentation/config-gerrit.txt')
-rw-r--r-- | Documentation/config-gerrit.txt | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt index be801f3e00..565d3702e0 100644 --- a/Documentation/config-gerrit.txt +++ b/Documentation/config-gerrit.txt @@ -3197,6 +3197,25 @@ advantage of new search features without restarting the server. + Defaults to true. +[[index.paginationType]]index.paginationType:: ++ +The pagination type to use when index queries are repeated to +obtain the next set of results. Supported values are: ++ +* `OFFSET` ++ +Index queries are repeated with a non-zero offset to obtain the +next set of results. ++ +* `SEARCH_AFTER` ++ +Index queries are repeated using a search-after object. Index +backends can provide their custom implementations for search-after. +Note that, `SEARCH_AFTER` does not impact using offsets in Gerrit +query APIs. ++ +Defaults to `OFFSET`. + [[index.maxLimit]]index.maxLimit:: + Maximum limit to allow for search queries. Requesting results above this @@ -3215,6 +3234,44 @@ this threshold times the requested limit will result in an error. Set to + Defaults to no limit. +[[index.pageSizeMultiplier]]index.pageSizeMultiplier:: ++ +When index queries are repeated to obtain more results, this multiplier +will be used to determine the limit for the next query. Using a page +multiplier allows queries to start off small and thus provide good +latency for queries which may end up only having very few results, and +then scaling up to have better throughput to handle queries with larger +result sets without incurring the overhead of making as many queries as +would be required with a smaller limit. This strategy of using a multiplier +attempts to create a balance between latency and throughput by dynamically +adjusting the query size to the number of results being returned by each +query in the pagination. ++ +The larger the multiplier, the better the throughput on large queries, and +it also improves latency on large queries by scaling up quickly. However, a +larger multiplier can hurt latencies a bit by making the "last" query in a +series longer than needed. The impact of this depends on how much the backend +latency goes up when specifying a large limit and few results are returned. +Setting link:#index.maxPageSize[index.maxPageSize] that isn't too large, can +likely help reduce the impacts of this. ++ +For example, if the limit of the previous query was 500 and pageSizeMultiplier +is configured to 5, the next query will have a limit of 2500. ++ +Defaults to 1 which effectively turns this feature off. + +[[index.maxPageSize]]index.maxPageSize:: ++ +Maximum size to allow when index queries are repeated to obtain more results. Note +that, link:#index.maxLimit[index.maxLimit] will be used to limit page size if it +is configured to a value lower than maxPageSize. ++ +For example, if the limit of previous query was 500, pageSizeMultiplier is +configured to 5 and maxPageSize to 2000, the next query will have a limit of +2000 (instead of 2500). ++ +Defaults to no limit. + [[index.maxTerms]]index.maxTerms:: + Maximum number of leaf terms to allow in a query. Too-large queries may @@ -3928,6 +3985,46 @@ If set to true, log files are rotated daily at midnight (GMT). + Defaults to true. +[[metrics]] +=== Section metrics + +[[metrics.reservoir]]metrics.reservoir:: ++ +The type of data reservoir used by the metrics system to calculate the percentile +values for timers and histograms. +It can be set to one of the following values: ++ +* ExponentiallyDecaying: An exponentially-decaying random reservoir based on + Cormode et al's forward-decaying priority reservoir sampling method to produce + a statistically representative sampling reservoir, exponentially biased towards + newer entries. +* SlidingTimeWindowArray: A sliding window that stores only the measurements made + in the last window using chunks of 512 samples. +* SlidingTimeWindow: A sliding window that stores only the measurements made in + the last window using a skip list. +* SlidingWindow: A sliding window that stores only the last measurements. +* Uniform: A random sampling reservoir that uses Vitter's Algorithm R to produce + a statistically representative sample. ++ +Defaults to ExponentiallyDecaying. + +[[metrics.ExponentiallyDecaying.alpha]]metrics.ExponentiallyDecaying.alpha:: ++ +The exponential decay factor; the higher this is, the more biased the reservoir +will be towards newer values. + +[[metrics.reservoirType.size]]metrics.<reservoirType>.size:: ++ +The number of samples to keep in the reservoir. Applies to all reservoir types +except the sliding time-based ones. ++ +Defaults to 1028. + +[[metrics.reservoirType.window]]metrics.<reservoirType>.window:: ++ +The window of time for keeping data in the reservoir. It only applies to sliding +time-based reservoir types. + [[mimetype]] === Section mimetype |