fleet icon indicating copy to clipboard operation
fleet copied to clipboard

Improve benchmark report output

Open manno opened this issue 9 months ago • 0 comments

  • Remove tests that didn't show any variation
    • create-1-bundle
    • create-1-gitrepo-1-big-bundle
    • create-1-gitrepo-1-bundle
  • Add new "150 bundles" test for targeting phase
  • Improve the output by adding descriptions.
  • Hide the details behind the --verbose flag
  • Move dump output to --debug.
  • Tests are now normal go code so they can be compiled into a binary
  • Use templates to generate the big test assets
  • Embed the test assets
  • Add new run command to run the tests and report on them

Example Output:

# Description of Setup

> This section contains information about the setup used for the current sample. Like the k8s version, the node resources and the images available to the node.

Node Resources
==============
CPU, Memory, Pods
2, 8123856Ki, 110
2, 8123856Ki, 110
2, 8123856Ki, 110

Images
======
docker.io/curlimages/curl:latest, docker.io/rancher/fleet-agent:dev, docker.io/rancher/fleet:dev, docker.io/rancher/klipper-helm:v0.9.3-build20241008, docker.io/rancher/klipper-lb:v0.4.9, docker.io/rancher/local-path-provisioner:v0.0.30, docker.io/rancher/mirrored-coredns-coredns:1.12.0, docker.io/rancher/mirrored-library-traefik:2.11.18, docker.io/rancher/mirrored-metrics-server:v0.7.2, docker.io/rancher/mirrored-pause:3.6

Kubernetes Version
==================
Client Version: v1.32.2
Kustomize Version: v5.5.0
Server Version: v1.31.5+k3s1


Population Size
===============
Reports in "db/": 5

# Results for Current Sample

> These measurements were taken before and after the experiments.

Measurement            | Value      | Unit
================================================
CPU                    | 418.6      | seconds
------------------------------------------------
CRDCount               | 35         | CRDs
------------------------------------------------
ClusterCount           | 1          | clusters
------------------------------------------------
GCDuration             | 12.5       | seconds
------------------------------------------------
Mem                    | -3         | MB
------------------------------------------------
NetworkRX              | 1975733318 | bytes
------------------------------------------------
NetworkTX              | 425863067  | bytes
------------------------------------------------
NodeCount              | 3          | nodes
------------------------------------------------
RESTClientDELETE200    | 153        | requests
------------------------------------------------
RESTClientDELETE404    | 13476      | requests
------------------------------------------------
RESTClientDELETE500    | 2          | requests
------------------------------------------------
RESTClientGET200       | 678        | requests
------------------------------------------------
RESTClientGET404       | 1          | requests
------------------------------------------------
RESTClientPATCH200     | 34         | requests
------------------------------------------------
RESTClientPATCH500     | 28         | requests
------------------------------------------------
RESTClientPOST201      | 409        | requests
------------------------------------------------
RESTClientPOST409      | 125        | requests
------------------------------------------------
RESTClientPUT200       | 7496       | requests
------------------------------------------------
RESTClientPUT409       | 492        | requests
------------------------------------------------
RESTClientPUT<error>   | 1          | requests
------------------------------------------------
ReconcileErrors        | 2284       | reconciles
------------------------------------------------
ReconcileRequeue       | 8146       | reconciles
------------------------------------------------
ReconcileSuccess       | 24723      | reconciles
------------------------------------------------
ReconcileTime          | 47621.4    | seconds
------------------------------------------------
ResourceCount          | -261       | resources
------------------------------------------------
SumCPU                 | 6          | cores
------------------------------------------------
SumMem                 | 23800      | MB
------------------------------------------------
SumPods                | 330        | pods
------------------------------------------------
TotalDuration          | 314.877    |
------------------------------------------------
WorkqueueAdds          | 35153      | items
------------------------------------------------
WorkqueueQueueDuration | 36901.8    | seconds
------------------------------------------------
WorkqueueRetries       | 10430      | items
------------------------------------------------
WorkqueueWorkDuration  | 47645.5    | seconds

# Summary for each Experiment

> The duration of each experiment is compared to the population's data.

Experiment                               | Duration | Mean Duration |
============================================================================
create-1-bundledeployment-10-resources   | 9.90s    | 9.56s         | worse
----------------------------------------------------------------------------
create-1-gitrepo-50-bundle               | 16.61s   | 11.49s        | worse
----------------------------------------------------------------------------
create-150-bundle                        | 37.72s   | 31.63s        | worse
----------------------------------------------------------------------------
create-50-bundle                         | 11.77s   | 7.85s         | worse
----------------------------------------------------------------------------
create-50-bundledeployment-500-resources | 157.28s  | 176.68s       | better
----------------------------------------------------------------------------
create-50-gitrepo-50-bundle              | 81.60s   | 59.21s        | worse

# Final Score

b-2025-04-25_12:08:24.json: 0.60
Move the report "b-2025-04-25_12:08:24.json" to the "db/" folder, if you want to compare future benchmark against it.

manno avatar Apr 11 '25 14:04 manno