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

don't report on replicasets from probe #2662

Closed
rade opened this issue Jun 29, 2017 · 5 comments
Closed

don't report on replicasets from probe #2662

rade opened this issue Jun 29, 2017 · 5 comments
Assignees
Labels
chore Related to fix/refinement/improvement of end user or new/existing developer functionality performance Excessive resource usage and latency; usually a bug or chore
Milestone

Comments

@rade
Copy link
Member

rade commented Jun 29, 2017

In #2661 we removed replicasets from the display, instead adding deployments as direct parents of pods. Once we are sure that is the right way to go we should in fact remove replicasets from the probes, performing the mapping to deployments there, and convert old reports to the new format in report.Upgrade() for backward compatibility.

That should improve performance in several ways:

  • reduced report size, and hence probe report writing, app report reading, and app report storage performance - replicasets constitute a monotonically growing data set, since during normal operation the replicasets of old deployment generations are never removed
  • improved rendering performance since we no longer need to do the mapping there
@rade rade added chore Related to fix/refinement/improvement of end user or new/existing developer functionality performance Excessive resource usage and latency; usually a bug or chore labels Jun 29, 2017
@rade rade added this to the Backlog milestone Aug 14, 2017
@rade
Copy link
Member Author

rade commented Nov 30, 2017

I've looked at a recent set of reports from one of our clusters. These contain nearly 2500 replicasets. And they do get reported by every node. That means that overall they are the most numerous report entity.

@rade
Copy link
Member Author

rade commented Nov 30, 2017

remove replicasets from the probes, performing the mapping to deployments there

It would be lovely if the probes were able to do that w/o retrieving all replicasets, which is what they do now.

and convert old reports to the new format in report.Upgrade() for backward compatibility.

We can probably leave that for later. By my reading of selectPodsWithDeployments.Render(), it will Just Work. OTOH, moving that code into Report.Upgrade() shouldn't be hard either.

@rbruggem rbruggem self-assigned this Dec 1, 2017
@bboreham
Copy link
Collaborator

bboreham commented Dec 1, 2017

btw report.Upgrade() currently does a copy on every call, which is expensive in the common case that it doesn't need upgrading. Can we have a version number or something like that so we can easily tell which is which?

@rade
Copy link
Member Author

rade commented Dec 1, 2017

Can we have a version number or something like that so we can easily tell which is which?

File an issue.

@rade
Copy link
Member Author

rade commented Dec 5, 2017

report.Upgrade() currently does a copy on every call, which is expensive in the common case that it doesn't need upgrading

Filed #2959.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Related to fix/refinement/improvement of end user or new/existing developer functionality performance Excessive resource usage and latency; usually a bug or chore
Projects
None yet
Development

No branches or pull requests

3 participants