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

Adding log generator script and container file #254

Merged
merged 2 commits into from
Mar 30, 2021

Conversation

dry923
Copy link
Member

@dry923 dry923 commented Feb 18, 2021

Depends-On: 545

Description

Adding a log generator workload that will generate X messages of Y size (in bytes) per second/minute over a duration of Z minutes. If provided it will also check the backed log aggregator to confirm it received the expected number of messages. Supported backends are elasticsearch and AWS cloudwatch.

NOTE: This requires a backend storage to be deployed if we want to create a valid ci test for this.

benchmark-operator PR: cloud-bulldozer/benchmark-operator#545

@comet-perf-ci
Copy link
Collaborator

Can one of the admins verify this patch?

@dry923 dry923 changed the title Adding log generator script and container file [DRAFT] Adding log generator script and container file Feb 18, 2021
@jtaleric
Copy link
Member

I like the idea of having this part of snafu/benchmark-wrapper, here are some more ideas for this work -

  1. Add method to "check", the expected number of logs have landed in the expected back-end. Today, it is Elastic, tomorrow CloudWatch?
  2. Index results from the execution of the workload -- How rate, message size, back-end, and messages received
  3. This can easily be scaled with benchmark-operator. We might want to consider the 1:N log-generator server and log-generator workers.

@dry923 dry923 force-pushed the log_generator branch 5 times, most recently from 7742a7c to 5cd571c Compare March 8, 2021 17:11
@dry923 dry923 force-pushed the log_generator branch 5 times, most recently from 6d7fb4f to 89b943d Compare March 18, 2021 13:13
@dry923 dry923 requested a review from rsevilla87 March 18, 2021 13:14
@dry923
Copy link
Member Author

dry923 commented Mar 18, 2021

@chaitanyaenr @jtaleric @rsevilla87 out of draft and good to review please.

@dry923 dry923 changed the title [DRAFT] Adding log generator script and container file Adding log generator script and container file Mar 18, 2021
@dry923 dry923 added the enhancement New feature or request label Mar 18, 2021
self._wait_for_pods(my_redis,channel)

timestamp = time.strftime("%Y-%m-%dT%H:%M:%S")
start_time = time.time()
Copy link
Member

Choose a reason for hiding this comment

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

Maybe it's better to use datetime.datetime.now() ?, I'm suggesting this because this way you can subtract dates natively (w/o converting them to epoch)

start_time = datetime.datetime.now()
message_count = self._run_log_test()
end_time = datetime.datetime.now()
elapsed_time = (end_time - start_time).total_seconds()

Copy link
Member Author

Choose a reason for hiding this comment

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

@rsevilla87 fair point. It functionally works out the same though in terms of the end result. I'll play around with it after the demo today since I don't want to break it prior :-D

@rsevilla87
Copy link
Member

/rerun all

@rsevilla87
Copy link
Member

rsevilla87 commented Mar 24, 2021

@dry923 I wonder if we should execute all pod synchronization from here rather than benchmark-operator. Looking at other more complex cases like uperf I think we should standardize the place where we perform this kind of operations.

@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb FAIL 00:12:21
snafu/smallfile_wrapper FAIL 00:05:21
snafu/flent_wrapper FAIL 00:06:49
snafu/scale_openshift_wrapper FAIL 00:03:29
snafu/sysbench PASS 00:01:52
snafu/ycsb_wrapper FAIL 00:10:13
snafu/stressng_wrapper FAIL 00:11:17
snafu/fio_wrapper FAIL 00:05:28
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper FAIL 00:05:27
snafu/iperf FAIL 00:07:15
snafu/vegeta_wrapper FAIL 00:11:39
snafu/fs_drift_wrapper FAIL 00:05:05
snafu/pgbench_wrapper FAIL 00:04:40

@dry923
Copy link
Member Author

dry923 commented Mar 26, 2021

@dry923 I wonder if we should execute all pod synchronization from here rather than benchmark-operator. Looking at other more complex cases like uperf I think we should standardize the place where we perform this kind of operations.

@rsevilla87 updated the operator PR to include managing the syncing of the pods (see: https://github.com/dry923/ripsaw/blob/da1b75beafd66f0b9265bdaca97118923fc31c8c/roles/log_generator/templates/log_generator.yml#L75). Do you think its worth leaving the code in here as well in case it is used outside the operator?

@dry923
Copy link
Member Author

dry923 commented Mar 26, 2021

@dry923 I wonder if we should execute all pod synchronization from here rather than benchmark-operator. Looking at other more complex cases like uperf I think we should standardize the place where we perform this kind of operations.

@rsevilla87 updated the operator PR to include managing the syncing of the pods (see: https://github.com/dry923/ripsaw/blob/da1b75beafd66f0b9265bdaca97118923fc31c8c/roles/log_generator/templates/log_generator.yml#L75). Do you think its worth leaving the code in here as well in case it is used outside the operator?

@rsevilla87 removed code from the wrapper

@dry923 dry923 requested a review from rsevilla87 March 26, 2021 15:46
@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb FAIL 00:12:15
snafu/smallfile_wrapper FAIL 00:05:08
snafu/flent_wrapper FAIL 00:05:50
snafu/scale_openshift_wrapper FAIL 00:03:21
snafu/sysbench PASS 00:01:51
snafu/ycsb_wrapper FAIL 00:09:47
snafu/stressng_wrapper FAIL 00:11:15
snafu/fio_wrapper FAIL 00:05:41
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper FAIL 00:05:33
snafu/iperf PASS 00:07:01
snafu/vegeta_wrapper FAIL 00:11:36
snafu/fs_drift_wrapper FAIL 00:05:10
snafu/pgbench_wrapper FAIL 00:04:26

@dry923 dry923 force-pushed the log_generator branch 2 times, most recently from 5c3d7c6 to 04de932 Compare March 29, 2021 18:20
@dry923
Copy link
Member Author

dry923 commented Mar 29, 2021

/rerun all

@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb PASS 00:06:37
snafu/smallfile_wrapper PASS 00:06:51
snafu/flent_wrapper PASS 00:11:15
snafu/scale_openshift_wrapper FAIL 00:03:30
snafu/sysbench PASS 00:01:55
snafu/ycsb_wrapper PASS 00:06:15
snafu/stressng_wrapper PASS 00:03:56
snafu/fio_wrapper PASS 00:20:18
snafu/log_generator_wrapper PASS 00:04:11
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper FAIL 00:19:59
snafu/iperf PASS 00:07:51
snafu/vegeta_wrapper PASS 00:06:15
snafu/fs_drift_wrapper PASS 00:06:25
snafu/pgbench_wrapper PASS 00:04:49

@jtaleric
Copy link
Member

/rerun all

@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb PASS 00:07:40
snafu/smallfile_wrapper PASS 00:06:50
snafu/flent_wrapper PASS 00:10:40
snafu/scale_openshift_wrapper FAIL 00:03:24
snafu/sysbench PASS 00:01:52
snafu/ycsb_wrapper PASS 00:05:54
snafu/stressng_wrapper PASS 00:03:52
snafu/fio_wrapper PASS 00:20:50
snafu/log_generator_wrapper PASS 00:04:13
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper PASS 00:27:44
snafu/iperf PASS 00:06:57
snafu/vegeta_wrapper PASS 00:06:04
snafu/fs_drift_wrapper PASS 00:06:30
snafu/pgbench_wrapper PASS 00:04:54

@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb PASS 00:06:45
snafu/smallfile_wrapper PASS 00:07:00
snafu/flent_wrapper PASS 00:12:11
snafu/scale_openshift_wrapper PASS 00:10:11
snafu/sysbench PASS 00:01:53
snafu/ycsb_wrapper PASS 00:05:54
snafu/stressng_wrapper PASS 00:03:53
snafu/fio_wrapper FAIL 00:17:02
snafu/log_generator_wrapper PASS 00:04:30
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper FAIL 00:20:02
snafu/iperf PASS 00:07:11
snafu/vegeta_wrapper FAIL 00:11:44
snafu/fs_drift_wrapper PASS 00:06:15
snafu/pgbench_wrapper PASS 00:04:38

@dry923
Copy link
Member Author

dry923 commented Mar 30, 2021

/rerun all

@comet-perf-ci
Copy link
Collaborator

Results for SNAFU CI Test

Test Result Runtime
snafu/hammerdb PASS 00:07:10
snafu/smallfile_wrapper PASS 00:06:51
snafu/flent_wrapper PASS 00:10:39
snafu/scale_openshift_wrapper PASS 00:07:42
snafu/sysbench PASS 00:01:49
snafu/ycsb_wrapper PASS 00:05:39
snafu/stressng_wrapper PASS 00:03:44
snafu/fio_wrapper PASS 00:20:50
snafu/log_generator_wrapper PASS 00:04:13
snafu/upgrade_openshift_wrapper PASS 00:00:00
snafu/uperf_wrapper PASS 00:27:56
snafu/iperf PASS 00:07:02
snafu/vegeta_wrapper PASS 00:06:05
snafu/fs_drift_wrapper PASS 00:06:22
snafu/pgbench_wrapper PASS 00:04:25

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.

LGTM!

Copy link
Member

@rsevilla87 rsevilla87 left a comment

Choose a reason for hiding this comment

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

LGTM!

@rsevilla87 rsevilla87 merged commit 2f5fee3 into cloud-bulldozer:master Mar 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ok to test Kick off our CI framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants