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

Visualization of performance tests results #13002

Closed
4 tasks
nader-ziada opened this issue Jun 7, 2022 · 15 comments
Closed
4 tasks

Visualization of performance tests results #13002

nader-ziada opened this issue Jun 7, 2022 · 15 comments
Assignees
Labels
area/test-and-release It flags unit/e2e/conformance/perf test issues for product features kind/feature Well-understood/specified features, ready for coding. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@nader-ziada
Copy link
Member

/area test-and-release

Describe the feature

Background:

  • The old Knative performance testing framework was based on Mako, which is not open to accept data from non-Google developers, making it not possible for community members to run benchmark tests.
  • This got replaced with some perf tests running on kperf and the old suite using Mako running as well but using a side-car stub to collect the data instead of sending it to Mako backend.
  • These two methods collect data in files, but do not provide a graphical representation of the data.

The feature request now is to have a graphical representation on the continuously collected data

  • Have a central location the prow test jobs can send the data to.
  • Run nightly jobs to collect the results.
  • Build a dashboard to show performance results over time.
  • Document the performance tests and what measurements are captured in each test
@nader-ziada nader-ziada added the kind/feature Well-understood/specified features, ready for coding. label Jun 7, 2022
@knative-prow knative-prow bot added the area/test-and-release It flags unit/e2e/conformance/perf test issues for product features label Jun 7, 2022
@nader-ziada
Copy link
Member Author

/assign

@nader-ziada
Copy link
Member Author

The approach I'm planning currently is add the data points in an influxdb instance and then have a grafana dashboard showing the results

This is an example of how the dashboard could look like, still working on a POC locally
example-dashboard

If folks have comments or feedback about the approach or the selected tools, please comment on the issue here

@psschwei
Copy link
Contributor

Where's the db / dashboard going to live?

@nader-ziada
Copy link
Member Author

Where's the db / dashboard going to live?

somewhere in knative gcp project I guess, I need to figure this out with productivity wg

@daisy-ycguo
Copy link
Member

@nader-ziada how is it going? I think we could request a server at CNCF cluster and host the performance dashboard there.

And I think the dashboard could be a part of kperf project. Maybe we can create an issue at kperf and track the progress there.

@nader-ziada
Copy link
Member Author

There is a community cluster in the knative project that is meant to host the influxdb and dashboard, currently working on it here #13192

@psschwei
Copy link
Contributor

asks for a username/password

@nader-ziada
Copy link
Member Author

nader-ziada commented Sep 19, 2022

asks for a username/password

knative/knative
not sure how to make it public

@dprotaso
Copy link
Member

You can setup a domain name ie. perf.knative.dev and point it to your dashboard

https://github.com/knative/test-infra/blob/main/infra/gcp/dns/dns.tf

@nader-ziada
Copy link
Member Author

You can setup a domain name ie. perf.knative.dev and point it to your dashboard

https://github.com/knative/test-infra/blob/main/infra/gcp/dns/dns.tf

knative/test-infra#3584

@dprotaso
Copy link
Member

Playing with the dashboard - it's a bit cumbersome.

Questions/thoughts

  1. If I run the performance test on a PR how do I visualize the metrics for just that single run?
  2. We need to label the axes and have better names for the lines in the graph
  3. Is there a way to toggle on/off a specific series. For example in the above mako link just deployment latency.
  4. Graphs load slow - not sure what to do here - maybe split up the dashboard so it's not loading data for four graphs
  5. Is there a way to filter data based on tags in the grafana UI - ie. if we start doing perf tests on release branches and different k8s versions how would I do that.

@nader-ziada
Copy link
Member Author

thanks for the feedback, will investigate how to do these changes on the dashboard

@dprotaso
Copy link
Member

Also wondering if there's a way to drop the interpolation between the successive runs - it seems a bit noisy

Image

@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2023
@dprotaso dprotaso moved this from In Progress to Done in Serving API Roadmap Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/test-and-release It flags unit/e2e/conformance/perf test issues for product features kind/feature Well-understood/specified features, ready for coding. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
Archived in project
Development

No branches or pull requests

4 participants