redis-benchmarks-specification 0.1.224__py3-none-any.whl → 0.1.225__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of redis-benchmarks-specification might be problematic. Click here for more details.

@@ -123,6 +123,12 @@ def create_compare_arguments(parser):
123
123
  parser.add_argument("--simple-table", type=bool, default=False)
124
124
  parser.add_argument("--use_metric_context_path", type=bool, default=False)
125
125
  parser.add_argument("--testname_regex", type=str, default=".*", required=False)
126
+ parser.add_argument(
127
+ "--regression_str", type=str, default="REGRESSION", required=False
128
+ )
129
+ parser.add_argument(
130
+ "--improvement_str", type=str, default="IMPROVEMENT", required=False
131
+ )
126
132
  parser.add_argument(
127
133
  "--regressions-percent-lower-limit",
128
134
  type=float,
@@ -285,7 +285,7 @@ def compare_command_logic(args, project_name, project_version):
285
285
  detected_regressions,
286
286
  table_output,
287
287
  total_improvements,
288
- total_regressions,
288
+ regressions_list,
289
289
  total_stable,
290
290
  total_unstable,
291
291
  total_comparison_points,
@@ -328,7 +328,10 @@ def compare_command_logic(args, project_name, project_version):
328
328
  comparison_target_branch,
329
329
  baseline_github_org,
330
330
  comparison_github_org,
331
+ args.regression_str,
332
+ args.improvement_str,
331
333
  )
334
+ total_regressions = len(regressions_list)
332
335
  prepare_regression_comment(
333
336
  auto_approve,
334
337
  baseline_branch,
@@ -355,6 +358,7 @@ def compare_command_logic(args, project_name, project_version):
355
358
  total_unstable,
356
359
  verbose,
357
360
  args.regressions_percent_lower_limit,
361
+ regressions_list,
358
362
  )
359
363
  return (
360
364
  detected_regressions,
@@ -393,6 +397,7 @@ def prepare_regression_comment(
393
397
  total_unstable,
394
398
  verbose,
395
399
  regressions_percent_lower_limit,
400
+ regressions_list=[],
396
401
  ):
397
402
  if total_comparison_points > 0:
398
403
  comment_body = "### Automated performance analysis summary\n\n"
@@ -423,6 +428,14 @@ def prepare_regression_comment(
423
428
  comparison_summary += "- Detected a total of {} regressions bellow the regression water line {}.\n".format(
424
429
  total_regressions, regressions_percent_lower_limit
425
430
  )
431
+ if len(regressions_list) > 0:
432
+ regression_values = [l[1] for l in regressions_list]
433
+ regression_df = pd.DataFrame(regression_values)
434
+ median_regression = round(float(regression_df.median().iloc[0]), 2)
435
+ max_regression = round(float(regression_df.max().iloc[0]), 2)
436
+ min_regression = round(float(regression_df.min().iloc[0]), 2)
437
+
438
+ comparison_summary += f" - Median/Common-Case regression was {median_regression}%% and ranged from [{min_regression},{max_regression}] %%.\n"
426
439
 
427
440
  comment_body += comparison_summary
428
441
  comment_body += "\n"
@@ -561,6 +574,8 @@ def compute_regression_table(
561
574
  comparison_target_branch=None,
562
575
  baseline_github_org="redis",
563
576
  comparison_github_org="redis",
577
+ regression_str="REGRESSION",
578
+ improvement_str="IMPROVEMENT",
564
579
  ):
565
580
  START_TIME_NOW_UTC, _, _ = get_start_time_vars()
566
581
  START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=31)
@@ -665,6 +680,8 @@ def compute_regression_table(
665
680
  comparison_github_repo,
666
681
  baseline_github_org,
667
682
  comparison_github_org,
683
+ regression_str,
684
+ improvement_str,
668
685
  )
669
686
  logging.info(
670
687
  "Printing differential analysis between {} and {}".format(
@@ -697,7 +714,7 @@ def compute_regression_table(
697
714
  writer_regressions.dump(mystdout, False)
698
715
  table_output += mystdout.getvalue()
699
716
  table_output += "\n\n"
700
- test_names_str = "|".join(regressions_list)
717
+ test_names_str = "|".join([l[0] for l in regressions_list])
701
718
  table_output += f"Regressions test regexp names: {test_names_str}\n\n"
702
719
  mystdout.close()
703
720
  sys.stdout = old_stdout
@@ -750,7 +767,7 @@ def compute_regression_table(
750
767
  detected_regressions,
751
768
  table_output,
752
769
  total_improvements,
753
- total_regressions,
770
+ regressions_list,
754
771
  total_stable,
755
772
  total_unstable,
756
773
  total_comparison_points,
@@ -919,6 +936,8 @@ def from_rts_to_regression_table(
919
936
  comparison_github_repo="redis",
920
937
  baseline_github_org="redis",
921
938
  comparison_github_org="redis",
939
+ regression_str="REGRESSION",
940
+ improvement_str="IMPROVEMENT",
922
941
  ):
923
942
  print_all = print_regressions_only is False and print_improvements_only is False
924
943
  table_full = []
@@ -1103,27 +1122,27 @@ def from_rts_to_regression_table(
1103
1122
  if baseline_v != "N/A" or comparison_v != "N/A":
1104
1123
  detected_regression = False
1105
1124
  detected_improvement = False
1106
- if percentage_change < 0.0 and not unstable:
1125
+ if percentage_change < 0.0:
1107
1126
  if -waterline >= percentage_change:
1108
1127
  detected_regression = True
1109
1128
  total_regressions = total_regressions + 1
1110
- note = note + " REGRESSION"
1129
+ note = note + f" {regression_str}"
1111
1130
  detected_regressions.append(test_name)
1112
1131
  elif percentage_change < -noise_waterline:
1113
1132
  if simplify_table is False:
1114
- note = note + " potential REGRESSION"
1133
+ note = note + f" potential {regression_str}"
1115
1134
  else:
1116
1135
  if simplify_table is False:
1117
1136
  note = note + " No Change"
1118
1137
 
1119
- if percentage_change > 0.0 and not unstable:
1138
+ if percentage_change > 0.0:
1120
1139
  if percentage_change > waterline:
1121
1140
  detected_improvement = True
1122
1141
  total_improvements = total_improvements + 1
1123
- note = note + " IMPROVEMENT"
1142
+ note = note + f" {improvement_str}"
1124
1143
  elif percentage_change > noise_waterline:
1125
1144
  if simplify_table is False:
1126
- note = note + " potential IMPROVEMENT"
1145
+ note = note + f" potential {improvement_str}"
1127
1146
  else:
1128
1147
  if simplify_table is False:
1129
1148
  note = note + " No Change"
@@ -1147,7 +1166,7 @@ def from_rts_to_regression_table(
1147
1166
  test_link,
1148
1167
  )
1149
1168
  if detected_regression:
1150
- regressions_list.append(test_name)
1169
+ regressions_list.append([test_name, percentage_change])
1151
1170
  table_regressions.append(line)
1152
1171
 
1153
1172
  if detected_improvement:
@@ -1375,7 +1375,7 @@ def process_self_contained_coordinator_stream(
1375
1375
  detected_regressions,
1376
1376
  table_output,
1377
1377
  total_improvements,
1378
- total_regressions,
1378
+ regressions_list,
1379
1379
  total_stable,
1380
1380
  total_unstable,
1381
1381
  total_comparison_points,
@@ -1409,6 +1409,7 @@ def process_self_contained_coordinator_stream(
1409
1409
  use_metric_context_path,
1410
1410
  running_platform,
1411
1411
  )
1412
+ total_regressions = len(regressions_list)
1412
1413
  auto_approve = True
1413
1414
  grafana_link_base = "https://benchmarksredisio.grafana.net/d/1fWbtb7nz/experimental-oss-spec-benchmarks"
1414
1415
 
@@ -1438,6 +1439,7 @@ def process_self_contained_coordinator_stream(
1438
1439
  total_unstable,
1439
1440
  verbose,
1440
1441
  regressions_percent_lower_limit,
1442
+ regressions_list,
1441
1443
  )
1442
1444
  logging.info(
1443
1445
  f"Added test named {test_name} to the completed test list in key {stream_test_list_completed}"
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10
3
+ description: Runs memtier_benchmark, for a keyspace length of 1M keys loading SETs with 100 integer elements.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 1g
12
+ tested-commands:
13
+ - sadd
14
+ redis-topologies:
15
+ - oss-standalone
16
+ build-variants:
17
+ - gcc:8.5.0-amd64-debian-buster-default
18
+ - dockerhub
19
+ clientconfig:
20
+ run_image: redislabs/memtier_benchmark:edge
21
+ tool: memtier_benchmark
22
+ arguments: --pipeline 10 --test-time 180 -c 50 -t 4 --command "SADD __key__ 436858 768277 10664 860016 865292 841848 313147 896678 386308 977048 203069 283373 593503 457419 169542 391186 130304 916639 453967 273773 589383 657683 182813 641487 580095 195884 372142 774005 768470 95729 556839 771113 432139 613472 528415 174665 155343 215707 753892 81624 199200 877732 358153 337683 24664 481128 356011 28176 535519 724263 780697 435661 3623 6998 985912 696150 913066 171765 808279 608289 187563 300496 104333 684239 434669 111037 928553 714514 606168 190478 772363 393219 243921 549032 624950 743846 957491 864902 345918 846332 42207 243593 125622 915607 523476 226892 773003 840853 792775 582050 702242 194856 270254 617201 454742 543414 960526 136178 43558 172112" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --hide-histogram
23
+ resources:
24
+ requests:
25
+ cpus: '4'
26
+ memory: 4g
27
+
28
+ tested-groups:
29
+ - set
30
+ priority: 12
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-1Mkeys-load-set-intset-with-100-elements
3
+ description: Runs memtier_benchmark, for a keyspace length of 1M keys loading SETs with 100 integer elements.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 1g
12
+ tested-commands:
13
+ - sadd
14
+ redis-topologies:
15
+ - oss-standalone
16
+ build-variants:
17
+ - gcc:8.5.0-amd64-debian-buster-default
18
+ - dockerhub
19
+ clientconfig:
20
+ run_image: redislabs/memtier_benchmark:edge
21
+ tool: memtier_benchmark
22
+ arguments: --test-time 180 -c 50 -t 4 --command "SADD __key__ 436858 768277 10664 860016 865292 841848 313147 896678 386308 977048 203069 283373 593503 457419 169542 391186 130304 916639 453967 273773 589383 657683 182813 641487 580095 195884 372142 774005 768470 95729 556839 771113 432139 613472 528415 174665 155343 215707 753892 81624 199200 877732 358153 337683 24664 481128 356011 28176 535519 724263 780697 435661 3623 6998 985912 696150 913066 171765 808279 608289 187563 300496 104333 684239 434669 111037 928553 714514 606168 190478 772363 393219 243921 549032 624950 743846 957491 864902 345918 846332 42207 243593 125622 915607 523476 226892 773003 840853 792775 582050 702242 194856 270254 617201 454742 543414 960526 136178 43558 172112" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --hide-histogram
23
+ resources:
24
+ requests:
25
+ cpus: '4'
26
+ memory: 4g
27
+
28
+ tested-groups:
29
+ - set
30
+ priority: 12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redis-benchmarks-specification
3
- Version: 0.1.224
3
+ Version: 0.1.225
4
4
  Summary: The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
5
5
  Author: filipecosta90
6
6
  Author-email: filipecosta.90@gmail.com
@@ -19,8 +19,8 @@ redis_benchmarks_specification/__common__/runner.py,sha256=7DBI09eu_4RibK6MwcYyI
19
19
  redis_benchmarks_specification/__common__/spec.py,sha256=eTF5559epBB0FrJPx-jRDQVeP_ZVOgyC7Vjxr2xk6fo,3262
20
20
  redis_benchmarks_specification/__common__/timeseries.py,sha256=_LJFtC5sVP7DTaLZaIzv5g7wRxPTQZRwFIYvWX4p4N8,50533
21
21
  redis_benchmarks_specification/__compare__/__init__.py,sha256=DtBXRp0Q01XgCFmY-1OIePMyyYihVNAjZ1Y8zwqSDN0,101
22
- redis_benchmarks_specification/__compare__/args.py,sha256=L7Ap7A7qRv8ebIehDSleeXhK2UgWHL2YXeVyIFpRW-k,6299
23
- redis_benchmarks_specification/__compare__/compare.py,sha256=UiW4nbox4n4xneG8fWIfTkbnpRi9zbpDOiMiEaGgCMU,45899
22
+ redis_benchmarks_specification/__compare__/args.py,sha256=-vQco6WG73DJtUFA7s-5bNk05vwHjOc94puVKZMZUYE,6513
23
+ redis_benchmarks_specification/__compare__/compare.py,sha256=XbHglfawnQhHUVu3KhL4npDzuu-blaTV5T3GFWJotkE,46845
24
24
  redis_benchmarks_specification/__init__.py,sha256=YQIEx2sLPPA0JR9OuCuMNMNtm-f_gqDKgzvNJnkGNKY,491
25
25
  redis_benchmarks_specification/__runner__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
26
26
  redis_benchmarks_specification/__runner__/args.py,sha256=lYvbPd_3ppHZv4f2sRwXcF-fcBrwRSn3H2RMmNVkojY,7221
@@ -34,7 +34,7 @@ redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py,sha256=s
34
34
  redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=Alf9Y1dfuOMoD4u_Dv3jTodkwZfSrlo2_YceevaWNFo,2757
35
35
  redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py,sha256=qB1rwqkROfuyFotB7MfUQiYS4Gzafd8dd2ca7lT4l2I,2909
36
36
  redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=FqVVvbXPsmq2I7pSH-JEklb1SDRdS7rG6ZHc6xTCUE0,28611
37
- redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=xyUex4kGWFP7vWtdrPQF92Pcs2ujCsTTPmtvTUMWFPg,74733
37
+ redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=qfK60P1pvYb1cDCiU6i_R0fYTL3D0TTFHwgl5pIGdVg,74844
38
38
  redis_benchmarks_specification/__setups__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  redis_benchmarks_specification/__setups__/topologies.py,sha256=xQ1IJkcTji_ZjLiJd3vOxZpvbNtBLZw9cPkw5hGJKHU,481
40
40
  redis_benchmarks_specification/__spec__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
@@ -83,6 +83,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hm
83
83
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml,sha256=Y0FiaI0e35wrz9Ddet0y0e0UKjfANJxjnx2SkwsVBYw,817
84
84
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml,sha256=uK2uepy114KHiu3M4-ezrrTPawUjnWg1PhFyiJIFTLQ,814
85
85
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml,sha256=ZN8tfGgk-3eXllIUgSAZkxZurFgZTXOkTyD6e0-0-to,820
86
+ redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml,sha256=Ne308Kylwr_y8qLPBB0MbDBhRWAWwcfBNyIMoaYBrTo,1482
87
+ redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml,sha256=NO2WjwdF5Nnur7yoODMQWFX_liGO9eRiG_iJ_PTPofw,1456
86
88
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml,sha256=1hAvDhK_AbJUTggts9yqnvjwuonV1h49_pVGD0whMgQ,879
87
89
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml,sha256=HD-42L4ubNCBx5qyKsC3tMU5f693Z-GjyHO7igyg7Oc,849
88
90
  redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml,sha256=XEv6OUKCkK-aCKRzYa5DVNwl6ir77J-eoEnuqaxSv8w,949
@@ -168,8 +170,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entr
168
170
  redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml,sha256=XAIFlbR6VJnmQRwedLGBGenbIsMC_I3uA35Mz_bkTTc,1028
169
171
  redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml,sha256=VIFNaaAqRQMeDvtXmKGDpJTnu658Lv5i_oAju5uSi_c,708
170
172
  redis_benchmarks_specification/test-suites/template.txt,sha256=d_edIE7Sxa5X7I2yG-Io0bPdbDIHR0oWFoCA3XUt_EU,435
171
- redis_benchmarks_specification-0.1.224.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
172
- redis_benchmarks_specification-0.1.224.dist-info/METADATA,sha256=xc_Fe0CVZl4pmny7ic9ZhtsaePCG3E0sapvX08_Oink,22726
173
- redis_benchmarks_specification-0.1.224.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
174
- redis_benchmarks_specification-0.1.224.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
175
- redis_benchmarks_specification-0.1.224.dist-info/RECORD,,
173
+ redis_benchmarks_specification-0.1.225.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
174
+ redis_benchmarks_specification-0.1.225.dist-info/METADATA,sha256=oy56bG7M57BjELEZ3rZcVwtCASeYVzdMwwW9DMXta_8,22726
175
+ redis_benchmarks_specification-0.1.225.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
176
+ redis_benchmarks_specification-0.1.225.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
177
+ redis_benchmarks_specification-0.1.225.dist-info/RECORD,,