Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Show stats of all index sets without pagination #4211
Add information and stats about all indices on the "Index Sets" page without accounting for pagination. The reason for this is, that finding out the total size of all indices can be really annoying if you have a lot of index sets. See also #4204.
This change was initiated by customer request #1503.
This introduces a new REST API endpoint at "/system/indices/index_sets/stats" to retrieve global, aggregated stats without pagination or other information about the index sets.
How Has This Been Tested?
Tested on a local setup and also a v2.3.1 with about 500GB of data in over 400 indices and 3 index sets. The performance impact to calculate the stats with an initial concern but my benchmarks showed that it only adds about 300ms to the Index Sets page load time, which is acceptable IMO. Adding a caching layer or getting creative with the already computed
Types of changes
I'm not really comfortable with this approach, because it causes one elasticsearch query for each configured index set (via the index wildcard).
I would much rather get the indices stats for multiple index sets in parallel short of storing this information in the database for read-only indices and only asking for the latest deflector stats whenever necessary.
LGTM in general, I added two inline comments which might improve the code a bit.