mirror of
https://github.com/fleetdm/fleet
synced 2026-05-22 16:39:01 +00:00
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #35376 # Details This PR updates the "list labels" (`GET /labels`) API by adding an optional `include_host_counts` parameter, which defaults to `true`. If explicitly set to `false`, the underlying db code will skip doing an expensive subquery which returns the number of hosts that are members of each label. The UI will now default to setting this to `false` in its calls, because: 1. This is an N+1 query pattern which scales poorly as the # of labels and hosts increases (see associated ticket as well as https://github.com/fleetdm/fleet/issues/4890) 1. _We don't use this data anywhere._ At least no where I could find in the front end or back end (besides a test specifically for this functionality). So we're doing this work for nothing. Since this is a public API we can't just [drop the functionality entirely](https://github.com/fleetdm/fleet/pull/35763) as that would be a breaking change. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [X] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements) ## Testing - [X] QA'd all new/changed functionality manually The only place that I could find that lists host counts for labels is the Packs UI, which uses a different endpoint and database method (`GET /targets` and `SearchLabels()`
1 line
No EOL
86 B
Text
1 line
No EOL
86 B
Text
- Made returning host_count optional in the "List Labels" API, to improve performance. |