Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document how query performance works #16123

Closed
noahtalerman opened this issue Jan 16, 2024 · 2 comments
Closed

Document how query performance works #16123

noahtalerman opened this issue Jan 16, 2024 · 2 comments
Assignees
Labels
customer-blanco #g-endpoint-ops Endpoint ops product group :product Product Design department (shows up on 🦢 Drafting board) story A user story defining an entire feature

Comments

@noahtalerman
Copy link
Member

noahtalerman commented Jan 16, 2024

Add this to FAQ

Problem

Fleet surfaces query performance in the UI and API.

In the UI, for each query, Fleet displays "Minimal," "Considerable," and "Excessive" as the performance impact w/ simple text to explain what each mean.

In the API, Fleet displays percentiles for system time and user time. Fleet uses this data to determine the simple text in the UI:

Screenshot 2024-01-16 at 9 23 07 AM

The formula Fleet uses to determine the simple text is undocumented. It's also unclear in the API what each value actually means.

This makes it difficult for endpoint operators to explain performance impact to other folks who run queries in Fleet at their organization.

@noahtalerman noahtalerman added customer-blanco ~feature fest Will be reviewed at next Feature Fest labels Jan 16, 2024
@noahtalerman noahtalerman added story A user story defining an entire feature :product Product Design department (shows up on 🦢 Drafting board) #g-endpoint-ops Endpoint ops product group and removed ~feature fest Will be reviewed at next Feature Fest labels Jan 29, 2024
rachaelshaw added a commit that referenced this issue Feb 2, 2024
Proposing this as a potential resolution for
#16123.
 
The only place we talk about performance impact in the docs is
[here](https://fleetdm.com/docs/get-started/faq#will-fleet-slow-down-my-servers-what-about-my-employee-laptops),
and it feels too high-level to include these details.

Since that FAQ section links to this article for more information about
performance impact, this seems like the most appropriate place to
document that info without adding surface area to the conceptual docs.

Code for displaying performance impact:
https://github.com/fleetdm/fleet/blob/7da9019f4d06fe088fca8dab1bb39e30a42d04bb/frontend/utilities/helpers.tsx#L691-L706
@rachaelshaw
Copy link
Member

@pintomi1989 we updated this article to include more details about the data used to display performance impact in the UI. You can find it under "See an indication of a query’s performance impact from Fleet UI":

The level of performance impact is derived from a query's stats object, by totaling up milliseconds stats.system_time_p50 and stats.user_time_p50:

  • Minimal: less than 2000
  • Considerable: 2000-3999
  • Excessive: 4000+

@fleet-release
Copy link
Contributor

Queries swift as wind,
Documentation now guides.
Through clouds, clarity shines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer-blanco #g-endpoint-ops Endpoint ops product group :product Product Design department (shows up on 🦢 Drafting board) story A user story defining an entire feature
Development

No branches or pull requests

3 participants