redisbench-admin 0.11.44__py3-none-any.whl → 0.11.45__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.
@@ -170,7 +170,7 @@ def get_final_benchmark_config(default_kpis, default_remote, stream, usecase_fil
170
170
  # Merge dbconfig from defaults
171
171
  dbconfig_keyname = "dbconfig"
172
172
  if default_dbconfig is not None:
173
- merge_default_and_specific_properties_dict_type(
173
+ merge_dbconfig_properties(
174
174
  benchmark_config, default_dbconfig, dbconfig_keyname, usecase_filename
175
175
  )
176
176
  test_name = benchmark_config["name"]
@@ -186,6 +186,56 @@ def get_final_benchmark_config(default_kpis, default_remote, stream, usecase_fil
186
186
  return result, benchmark_config, test_name
187
187
 
188
188
 
189
+ def merge_dbconfig_properties(
190
+ benchmark_config, default_dbconfig, dbconfig_keyname, usecase_filename
191
+ ):
192
+ """
193
+ Merge dbconfig properties from defaults with benchmark-specific dbconfig.
194
+ Handles both list and dict formats for dbconfig sections.
195
+ """
196
+ if dbconfig_keyname not in benchmark_config:
197
+ # No local dbconfig, use defaults entirely
198
+ benchmark_config[dbconfig_keyname] = default_dbconfig
199
+ logging.info(
200
+ f"Using exclusively default '{dbconfig_keyname}' properties from {usecase_filename}"
201
+ )
202
+ else:
203
+ # Merge defaults with local dbconfig
204
+ local_dbconfig = benchmark_config[dbconfig_keyname]
205
+
206
+ # Convert both to list format for consistent merging
207
+ if isinstance(default_dbconfig, dict):
208
+ default_list = [default_dbconfig]
209
+ else:
210
+ default_list = default_dbconfig
211
+
212
+ if isinstance(local_dbconfig, dict):
213
+ local_list = [local_dbconfig]
214
+ else:
215
+ local_list = local_dbconfig
216
+
217
+ # Merge: defaults first, then local (local takes precedence for conflicts)
218
+ merged_list = []
219
+
220
+ # Add all default items
221
+ for item in default_list:
222
+ merged_list.append(item)
223
+
224
+ # Add local items
225
+ for item in local_list:
226
+ merged_list.append(item)
227
+
228
+ # Convert back to original format if local was dict
229
+ if isinstance(local_dbconfig, dict) and len(merged_list) == 1:
230
+ benchmark_config[dbconfig_keyname] = merged_list[0]
231
+ else:
232
+ benchmark_config[dbconfig_keyname] = merged_list
233
+
234
+ logging.info(
235
+ f"Merged default and local '{dbconfig_keyname}' properties for {usecase_filename}"
236
+ )
237
+
238
+
189
239
  def merge_default_and_specific_properties_dict_type(
190
240
  benchmark_config, default_properties, propertygroup_keyname, usecase_filename
191
241
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redisbench-admin
3
- Version: 0.11.44
3
+ Version: 0.11.45
4
4
  Summary: Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).
5
5
  Author: filipecosta90
6
6
  Author-email: filipecosta.90@gmail.com
@@ -224,7 +224,7 @@ redisbench_admin/run_remote/run_remote.py,sha256=dAR2HRA6pl4jFdRM6YF1iAsLfuy1TZ8
224
224
  redisbench_admin/run_remote/standalone.py,sha256=NF8Az9ZJfdRk6aP5_t8MxraUkpGRU_OYae3w93NngiA,32885
225
225
  redisbench_admin/run_remote/terraform.py,sha256=vV3eWXNwj7vsnFNqUgCir5ueZS4VYopEyzWiTtoSq0Q,4018
226
226
  redisbench_admin/utils/__init__.py,sha256=DtBXRp0Q01XgCFmY-1OIePMyyYihVNAjZ1Y8zwqSDN0,101
227
- redisbench_admin/utils/benchmark_config.py,sha256=MLszNOBS_a1LWf9uge7ugAosE6Uej5lPRMBEqndvDmI,22123
227
+ redisbench_admin/utils/benchmark_config.py,sha256=ldYxET3OPXHDOt2FNy9Sn0h0ICAP_EKSJ6NDH4C20wY,23837
228
228
  redisbench_admin/utils/local.py,sha256=zUvyVI9LZMT3qyxs1pO3mXL6Bt_1z9EZUGppaRcWNRA,3890
229
229
  redisbench_admin/utils/redisearch.py,sha256=lchUEzpt0zB1rHwlDlw9LLifAnxFWcLP-PePw7TjL-0,1602
230
230
  redisbench_admin/utils/redisgraph_benchmark_go.py,sha256=os7EJt6kBxsFJLKkSoANbjMT7-cEq4-Ns-49alk2Tf8,2048
@@ -235,8 +235,8 @@ redisbench_admin/utils/utils.py,sha256=XVSvo1_DdcYwk2jOxL3VPVPbnDnhGYt8ieYfANo6r
235
235
  redisbench_admin/watchdog/__init__.py,sha256=cD7zfXt0VEmy0b7452HvcAxX_9kVj6Vm213yNdUHP20,95
236
236
  redisbench_admin/watchdog/args.py,sha256=nKsG1G6ATOZlAMHMtT9u3kXxduKCbejSZ5x8oB_ynZ8,1312
237
237
  redisbench_admin/watchdog/watchdog.py,sha256=0wWYge3x_OMxWrzazNhJif2NK4tKsI963HVZqjczRag,6189
238
- redisbench_admin-0.11.44.dist-info/LICENSE,sha256=AAMtfs82zOOvmG68vILivm6lxi2rcOlGObmA8jzxQvw,10768
239
- redisbench_admin-0.11.44.dist-info/METADATA,sha256=jpLHzNuadbzVa7qFDcFA-bHUeRf5CBGDMiqCZKolHlw,5596
240
- redisbench_admin-0.11.44.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
241
- redisbench_admin-0.11.44.dist-info/entry_points.txt,sha256=UUawXk_AS-PlieKJ1QxPQXGsRLb6OW_F0MtmA1W0KE8,113
242
- redisbench_admin-0.11.44.dist-info/RECORD,,
238
+ redisbench_admin-0.11.45.dist-info/LICENSE,sha256=AAMtfs82zOOvmG68vILivm6lxi2rcOlGObmA8jzxQvw,10768
239
+ redisbench_admin-0.11.45.dist-info/METADATA,sha256=xYMHuGJD2qMM_tueilRsoyoLdqAK2Wb4LFJOryafgxg,5596
240
+ redisbench_admin-0.11.45.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
241
+ redisbench_admin-0.11.45.dist-info/entry_points.txt,sha256=UUawXk_AS-PlieKJ1QxPQXGsRLb6OW_F0MtmA1W0KE8,113
242
+ redisbench_admin-0.11.45.dist-info/RECORD,,