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

Previous version comparison and baseline updates #86

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

paigerube14
Copy link
Collaborator

@paigerube14 paigerube14 commented Jan 3, 2025

Type of change

  • Refactor
  • New feature
  • Bug fix
  • Optimization
  • Documentation Update

Description

In this PR I have added a way for us to compare data on with the most recent run (or specified uuid) to a previous release

I also updated the code that if a baseline uuid is given we do not need to call to get the metadata specified as a user would expect only the data of the uuid and baseline uuid to be defined in their output

Related Tickets & Documents

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.

Testing

orion cmd --config configs/small-scale-cluster-density.yaml --previous-version

A change that might still be needed past this is adding in a column into the base information of the run to show the version

@paigerube14
Copy link
Collaborator Author

See this test run: https://jenkins-csb-openshift-qe-mastern.dno.corp.redhat.com/job/scale-ci/job/paige-e2e-multibranch/job/orion/110/console

The main updates that I was trying to do with refactoring is that when the uuid and baseline are defined we don't want to do elastic calls to check if the run was success. If we specify the uuid/baseline uuid we don't want to filter them out and just use them as the base to run comparisons

Copy link
Member

@jtaleric jtaleric left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition @paigerube14 !

@jtaleric
Copy link
Member

Nice addition @paigerube14 !

I am debugging this issue :

2025-01-20 11:17:48,024 - Orion      - DEBUG - file: utils.py - line: 63 -                                     uuid                 timestamp  kubelet_avg
12  b0dd73bc-364a-4246-897c-2669fc4c24c2  2025-01-06T02:15:11.405Z    28.266122
8   3ccc72d0-cabc-4be8-85ce-3884ea7f0fd1  2025-01-06T02:25:29.272Z    31.189572
17  0c62d887-e136-433e-9359-12b5c6a30ec4  2025-01-06T16:04:48.931Z    26.825694
15  e33d7f01-5c2b-4b43-99cd-d6145ff80eba  2025-01-07T00:25:16.856Z    30.413580
18  be10f5e0-e31b-4978-ba6d-a4d0bf2f7e51  2025-01-07T20:45:55.705Z    26.354167
6   2ffbfbda-5268-4d65-90ca-d251393d2c59  2025-01-08T04:21:03.936Z    28.819753
16  05442cdb-2440-4c2a-8232-43257d3d2f08  2025-01-08T10:48:02.071Z    26.961806
3   b80b1384-eae3-4ab5-a1c8-9444491a117c  2025-01-08T23:05:47.052Z    27.441667
19  c2ad1d71-00bf-454b-938f-c07ce0f12247  2025-01-09T07:59:37.283Z    26.989583
5   2848daab-dd86-436e-bd5a-f9730c63b982  2025-01-10T01:36:52.278Z    27.966049
4   06b71c97-5c65-420f-ae71-e1b9b2b938c5  2025-01-10T10:06:41.167Z    29.081482
14  c6b1363d-a5c4-4f76-9a9c-7f93ecf17204  2025-01-10T16:57:00.799Z    28.118519
10  7ab36259-a003-4dba-afec-7e1ed5404d7d  2025-01-11T03:12:59.894Z    29.130864
11  86864f20-db96-4f33-87d0-cc39b0d4599d  2025-01-13T09:36:52.235Z    26.780247
13  b896d44e-811d-4009-9f76-a5ed892000be  2025-01-13T14:04:58.752Z    28.369753
2   8c66a201-ef50-4d50-a293-37d34ae85bb5  2025-01-16T06:53:07.314Z    25.485000
21  e9790d6d-78e6-4509-b693-1da3edcd8acc  2025-01-16T22:12:20.608Z    27.861111
0   74549b90-e996-4b71-a8ba-6d9a0acc4999  2025-01-17T04:31:35.039Z    26.386667
20  dda08504-ebeb-4c81-a6b5-e4ce9200ec94  2025-01-18T11:15:52.936Z    26.132639
7   3780ee97-71ff-4e3a-9cad-bcf5e53a88f5  2025-01-18T19:53:28.160Z    27.493827
1   8aa6f509-0984-4e35-9939-a2dfe4b17bb9  2025-01-19T21:23:01.729Z    28.746667
9   5a8ae391-48ed-42e7-8f53-ced56c906575  2025-01-20T12:29:05.981Z    28.226543
2025-01-20 11:17:48,031 - Orion      - ERROR - file: orion.py - line: 132 - Terminating test

running
version=4.18 es_metadata_index=perf_scale_ci-* es_benchmark_index=ripsaw-kube-burner-* orion cmd --config examples/trt-external-payload-node-density.yaml --lookback 15d --previous-version --debug

@jtaleric jtaleric self-requested a review January 20, 2025 16:21
pkg/utils.py Outdated Show resolved Hide resolved
elif not uuids:
runs = match.getResults("", uuids, fingerprint_index, {})
# get metadata of one run
metadata = get_metadata_with_uuid(options["uuid"], match)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if uuid is not specified in the options? We have a null check for this in the below code block but not here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if baseline is specified uuid has to be specified. Its required from the variable options

if len(last_version_run) > 0:
# get latest uuid as the "uuid" to compare against
last_uuid_run = last_version_run[-1]
runs.append(last_uuid_run)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we only appending one uuid from the current version? Do we plan to use this only in CMR? Can't we do all runs from previous version vs current version comparison?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any of the algorithms should work as this is just gathering the UUIDs before it performs hunter or cmr, etc.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future, we can maybe add in an option of how many current UUIDs to add when comparing with the previous UUID data. For now I just put one so that we could compare and see if any large changes in data points

@paigerube14 paigerube14 force-pushed the previous branch 2 times, most recently from a75214d to 5501712 Compare January 21, 2025 19:04
rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED

Signed-off-by: Paige Patton <[email protected]>
@paigerube14
Copy link
Collaborator Author

Nice addition @paigerube14 !

I am debugging this issue

@jtaleric I am seeing that message every time I run no matter if I run with previous or not

% version=4.18 es_metadata_index=perf_scale_ci-* es_benchmark_index=ripsaw-kube-burner-* orion cmd --config examples/trt-external-payload-node-density.yaml --lookback 15d  --debug
....
26  c0ddff2b-ac6a-4d86-94df-52b467bff927  2025-01-21T03:54:51.472Z    26.035417
9   6c4a6f96-9c81-4b9e-8f32-18793a6668c2  2025-01-21T09:04:10.432Z    27.140741
21  2fb77959-f270-41f2-b576-0ae76d02f7fb  2025-01-21T16:27:40.917Z    26.418750
2025-01-21 14:34:00,656 - Orion      - ERROR - file: orion.py - line: 132 - Terminating testNone

pkg/utils.py Outdated
runs = match.get_uuid_by_metadata(metadata, fingerprint_index, lookback_date=start_timestamp, lookback_size=options['lookback_size'])
if len(last_version_run) > 0:
# get latest uuid as the "uuid" to compare against
last_uuid_run = last_version_run[-1]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thinking here might be better to get the last (0) of the specified version. If not, when giving the 15 day lookback it'll select the oldest UUID. Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[RFE] Analysis of a version
3 participants