redisbench-admin 0.11.0__tar.gz → 0.11.3__tar.gz

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.
Files changed (242) hide show
  1. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/PKG-INFO +12 -4
  2. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/README.md +6 -0
  3. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/pyproject.toml +9 -5
  4. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/compare/compare.py +3 -3
  5. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/common.py +33 -1
  6. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/run.py +37 -8
  7. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/run_remote.py +5 -3
  8. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/standalone.py +5 -1
  9. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/benchmark_config.py +6 -4
  10. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/remote.py +6 -2
  11. redisbench_admin-0.11.0/setup.py +0 -102
  12. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/LICENSE +0 -0
  13. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/__init__.py +0 -0
  14. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/cli.py +0 -0
  15. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/commands/__init__.py +0 -0
  16. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/commands/commands.json.py +0 -0
  17. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/compare/__init__.py +0 -0
  18. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/compare/args.py +0 -0
  19. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/deploy/__init__.py +0 -0
  20. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/deploy/args.py +0 -0
  21. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/deploy/deploy.py +0 -0
  22. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/environments/__init__.py +0 -0
  23. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/environments/oss_cluster.py +0 -0
  24. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/environments/oss_standalone.py +0 -0
  25. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/__init__.py +0 -0
  26. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/args.py +0 -0
  27. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/common/__init__.py +0 -0
  28. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/common/common.py +0 -0
  29. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/export.py +0 -0
  30. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
  31. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
  32. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
  33. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
  34. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/pyperf/__init__.py +0 -0
  35. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
  36. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
  37. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
  38. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
  39. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/extract/__init__.py +0 -0
  40. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/extract/args.py +0 -0
  41. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/extract/extract.py +0 -0
  42. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/grafana_api/__init__.py +0 -0
  43. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/grafana_api/app.py +0 -0
  44. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/grafana_api/args.py +0 -0
  45. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/grafana_api/grafana_api.py +0 -0
  46. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/__init__.py +0 -0
  47. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/daemon.py +0 -0
  48. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/flamegraph.pl +0 -0
  49. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/perf.py +0 -0
  50. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
  51. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/pprof.py +0 -0
  52. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/profilers.py +0 -0
  53. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/profilers_local.py +0 -0
  54. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/profilers_schema.py +0 -0
  55. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
  56. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/profilers/vtune.py +0 -0
  57. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/__init__.py +0 -0
  58. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
  59. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
  60. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/__init__.py +0 -0
  61. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/ann.py +0 -0
  62. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/.dockerignore +0 -0
  63. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/.git +0 -0
  64. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/.github/workflows/benchmarks.yml +0 -0
  65. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/.gitignore +0 -0
  66. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/LICENSE +0 -0
  67. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/README.md +0 -0
  68. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/algos.yaml +0 -0
  69. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/algosP.yaml +0 -0
  70. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/__init__.py +0 -0
  71. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/__init__.py +0 -0
  72. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/annoy.py +0 -0
  73. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/balltree.py +0 -0
  74. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/base.py +0 -0
  75. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/bruteforce.py +0 -0
  76. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/ckdtree.py +0 -0
  77. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/datasketch.py +0 -0
  78. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/definitions.py +0 -0
  79. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/diskann.py +0 -0
  80. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dolphinnpy.py +0 -0
  81. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dummy_algo.py +0 -0
  82. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elasticsearch.py +0 -0
  83. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elastiknn.py +0 -0
  84. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss.py +0 -0
  85. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_gpu.py +0 -0
  86. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_hnsw.py +0 -0
  87. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/flann.py +0 -0
  88. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/hnswlib.py +0 -0
  89. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kdtree.py +0 -0
  90. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kgraph.py +0 -0
  91. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/lshf.py +0 -0
  92. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/milvus.py +0 -0
  93. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/mrpt.py +0 -0
  94. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/n2.py +0 -0
  95. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nearpy.py +0 -0
  96. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nmslib.py +0 -0
  97. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/onng_ngt.py +0 -0
  98. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/opensearchknn.py +0 -0
  99. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/panng_ngt.py +0 -0
  100. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pinecone.py +0 -0
  101. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/puffinn.py +0 -0
  102. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pynndescent.py +0 -0
  103. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/qg_ngt.py +0 -0
  104. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/redisearch.py +0 -0
  105. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/rpforest.py +0 -0
  106. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/scann.py +0 -0
  107. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/sptag.py +0 -0
  108. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/subprocess.py +0 -0
  109. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vald.py +0 -0
  110. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vecsim-hnsw.py +0 -0
  111. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vespa.py +0 -0
  112. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/constants.py +0 -0
  113. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/data.py +0 -0
  114. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/datasets.py +0 -0
  115. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/distance.py +0 -0
  116. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/main.py +0 -0
  117. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/__init__.py +0 -0
  118. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/metrics.py +0 -0
  119. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/plot_variants.py +0 -0
  120. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/utils.py +0 -0
  121. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/results.py +0 -0
  122. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/ann_benchmarks/runner.py +0 -0
  123. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/create_dataset.py +0 -0
  124. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/create_hybrid_dataset.py +0 -0
  125. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/create_text_to_image_ds.py +0 -0
  126. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/create_website.py +0 -0
  127. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile +0 -0
  128. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.annoy +0 -0
  129. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.datasketch +0 -0
  130. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann +0 -0
  131. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann_pq +0 -0
  132. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.dolphinn +0 -0
  133. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.elasticsearch +0 -0
  134. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.elastiknn +0 -0
  135. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.faiss +0 -0
  136. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.flann +0 -0
  137. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.hnswlib +0 -0
  138. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.kgraph +0 -0
  139. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.mih +0 -0
  140. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.milvus +0 -0
  141. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.mrpt +0 -0
  142. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.n2 +0 -0
  143. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.nearpy +0 -0
  144. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.ngt +0 -0
  145. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.nmslib +0 -0
  146. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.opensearchknn +0 -0
  147. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.puffinn +0 -0
  148. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.pynndescent +0 -0
  149. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.redisearch +0 -0
  150. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.rpforest +0 -0
  151. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.scann +0 -0
  152. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.scipy +0 -0
  153. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.sklearn +0 -0
  154. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.sptag +0 -0
  155. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.vald +0 -0
  156. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install/Dockerfile.vespa +0 -0
  157. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/install.py +0 -0
  158. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/logging.conf +0 -0
  159. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/multirun.py +0 -0
  160. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/plot.py +0 -0
  161. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/bf-runner +0 -0
  162. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/bf-runner.py +0 -0
  163. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/ext-add-query-metric.md +0 -0
  164. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/ext-batch-queries.md +0 -0
  165. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/ext-prepared-queries.md +0 -0
  166. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/ext-query-parameters.md +0 -0
  167. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/protocol/specification.md +0 -0
  168. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/requirements.txt +0 -0
  169. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/requirements_py38.txt +0 -0
  170. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/fashion-mnist-784-euclidean.png +0 -0
  171. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/gist-960-euclidean.png +0 -0
  172. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/glove-100-angular.png +0 -0
  173. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/glove-25-angular.png +0 -0
  174. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/lastfm-64-dot.png +0 -0
  175. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/mnist-784-euclidean.png +0 -0
  176. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/nytimes-256-angular.png +0 -0
  177. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/results/sift-128-euclidean.png +0 -0
  178. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/run.py +0 -0
  179. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/run_algorithm.py +0 -0
  180. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/templates/chartjs.template +0 -0
  181. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/templates/detail_page.html +0 -0
  182. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/templates/general.html +0 -0
  183. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/templates/latex.template +0 -0
  184. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/templates/summary.html +0 -0
  185. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/test/__init__.py +0 -0
  186. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/test/test-jaccard.py +0 -0
  187. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ann/pkg/test/test-metrics.py +0 -0
  188. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/args.py +0 -0
  189. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/cluster.py +0 -0
  190. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ftsb/__init__.py +0 -0
  191. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ftsb/ftsb.py +0 -0
  192. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/git.py +0 -0
  193. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/grafana.py +0 -0
  194. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
  195. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
  196. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/metrics.py +0 -0
  197. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/modules.py +0 -0
  198. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
  199. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
  200. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
  201. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
  202. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/redistimeseries.py +0 -0
  203. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/s3.py +0 -0
  204. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ssh.py +0 -0
  205. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
  206. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
  207. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ycsb/__init__.py +0 -0
  208. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run/ycsb/ycsb.py +0 -0
  209. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/__init__.py +0 -0
  210. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/async_env.py +0 -0
  211. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/async_terraform.py +0 -0
  212. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/benchmark.py +0 -0
  213. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/log.py +0 -0
  214. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/render_files.py +0 -0
  215. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_async/run_async.py +0 -0
  216. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/__init__.py +0 -0
  217. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/args.py +0 -0
  218. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/local_client.py +0 -0
  219. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/local_db.py +0 -0
  220. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/local_helpers.py +0 -0
  221. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_local/run_local.py +0 -0
  222. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/__init__.py +0 -0
  223. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/args.py +0 -0
  224. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/consts.py +0 -0
  225. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/log.py +0 -0
  226. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/notifications.py +0 -0
  227. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/remote_client.py +0 -0
  228. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/remote_db.py +0 -0
  229. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/remote_env.py +0 -0
  230. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/remote_failures.py +0 -0
  231. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/remote_helpers.py +0 -0
  232. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/run_remote/terraform.py +0 -0
  233. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/__init__.py +0 -0
  234. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/local.py +0 -0
  235. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/redisearch.py +0 -0
  236. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
  237. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/results.py +0 -0
  238. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/ssh.py +0 -0
  239. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/utils/utils.py +0 -0
  240. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/watchdog/__init__.py +0 -0
  241. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/watchdog/args.py +0 -0
  242. {redisbench_admin-0.11.0 → redisbench_admin-0.11.3}/redisbench_admin/watchdog/watchdog.py +0 -0
@@ -1,20 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redisbench-admin
3
- Version: 0.11.0
3
+ Version: 0.11.3
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
7
- Requires-Python: >=3.10.0,<4.0.0
7
+ Requires-Python: >=3.9.0,<4.0.0
8
8
  Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
9
10
  Classifier: Programming Language :: Python :: 3.10
10
11
  Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
11
13
  Requires-Dist: Flask (>=2.0.1,<3.0.0)
12
14
  Requires-Dist: Flask-HTTPAuth (>=4.4.0,<5.0.0)
13
15
  Requires-Dist: GitPython (>=3.1.12,<4.0.0)
14
16
  Requires-Dist: Jinja2 (>=3.0.3,<4.0.0)
15
17
  Requires-Dist: PyYAML (>=6.0,<7.0)
16
18
  Requires-Dist: boto3 (>=1.13.24,<2.0.0)
17
- Requires-Dist: certifi (>=2021.10.8,<2022.0.0)
19
+ Requires-Dist: certifi (>=2021.10.8,<2025.0.0)
18
20
  Requires-Dist: daemonize (>=2.5.0,<3.0.0)
19
21
  Requires-Dist: flask-restx (>=0.5.1,<0.6.0)
20
22
  Requires-Dist: humanize (>=2.4.0,<3.0.0)
@@ -22,7 +24,7 @@ Requires-Dist: jsonpath_ng (>=1.5.2,<2.0.0)
22
24
  Requires-Dist: matplotlib (>=3.1.2,<4.0.0)
23
25
  Requires-Dist: numpy (>=2.0.0,<3.0.0)
24
26
  Requires-Dist: pandas (>=2.1.2,<3.0.0)
25
- Requires-Dist: paramiko (>=2.7.2,<3.0.0)
27
+ Requires-Dist: paramiko (>=2.7.2,<4.0.0)
26
28
  Requires-Dist: psutil (>=5.6.6,<6.0.0)
27
29
  Requires-Dist: pyWorkFlow (>=0.0.2,<0.0.3)
28
30
  Requires-Dist: py_cpuinfo (>=5.0.0,<6.0.0)
@@ -156,6 +158,12 @@ To run a specific test:
156
158
  $ tox -- tests/test_redistimeseries.py
157
159
  ```
158
160
 
161
+ To run a specific test with verbose logging:
162
+
163
+ ```sh
164
+ # tox -- -vv --log-cli-level=INFO tests/test_run.py
165
+ ```
166
+
159
167
  ## License
160
168
 
161
169
  redisbench-admin is distributed under the BSD3 license - see [LICENSE](LICENSE)
@@ -113,6 +113,12 @@ To run a specific test:
113
113
  $ tox -- tests/test_redistimeseries.py
114
114
  ```
115
115
 
116
+ To run a specific test with verbose logging:
117
+
118
+ ```sh
119
+ # tox -- -vv --log-cli-level=INFO tests/test_run.py
120
+ ```
121
+
116
122
  ## License
117
123
 
118
124
  redisbench-admin is distributed under the BSD3 license - see [LICENSE](LICENSE)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "redisbench-admin"
3
- version = "0.11.0"
3
+ version = "0.11.3"
4
4
  description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )."
5
5
  authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
6
6
  readme = "README.md"
@@ -10,14 +10,14 @@ redisbench-admin = "redisbench_admin.cli:main"
10
10
  perf-daemon = "redisbench_admin.profilers.daemon:main"
11
11
 
12
12
  [tool.poetry.dependencies]
13
- python = "^3.10.0"
13
+ python = "^3.9.0"
14
14
  humanize = "^2.4.0"
15
15
  requests = "^2.32.3"
16
16
  py_cpuinfo = "^5.0.0"
17
17
  boto3 = "^1.13.24"
18
18
  tqdm = "^4.46.1"
19
19
  toml = "^0.10.1"
20
- paramiko = "^2.7.2"
20
+ paramiko = ">=2.7.2,<4.0.0"
21
21
  jsonpath_ng = "^1.5.2"
22
22
  pysftp = "^0.2.9"
23
23
  python_terraform = "^0.10.1"
@@ -40,17 +40,21 @@ watchdog = "^2.1.6"
40
40
  redis = "^4.2.2"
41
41
  slack-sdk = "^3.15.2"
42
42
  slack-bolt = "^1.13.0"
43
- certifi = "^2021.10.8"
43
+ certifi = ">=2021.10.8,<2025.0.0"
44
44
  pygithub = "^1.57"
45
45
 
46
46
  [tool.poetry.dev-dependencies]
47
47
  pytest = "^4.6"
48
48
  pytest-cov = "^2.9.0"
49
49
  codecov = "2.1.13"
50
- black = "22.3.0"
50
+ black = "24.3.0"
51
51
  flake8 = "^5.0.0"
52
52
  tox-poetry-installer = {extras = ["poetry"], version = "^0.10.3"}
53
53
 
54
+ [tool.poetry.group.dev.dependencies]
55
+ tox-poetry-installer = {extras = ["poetry"], version = "^0.10.3"}
56
+ docker = "^7.1.0"
57
+
54
58
  [build-system]
55
59
  requires = ["poetry_core>=1.0.0"]
56
60
  build-backend = "poetry.core.masonry.api"
@@ -653,7 +653,7 @@ def get_by_strings(
653
653
  comparison_str = comparison_branch
654
654
 
655
655
  if baseline_tag is not None:
656
- if comparison_covered:
656
+ if baseline_covered:
657
657
  logging.error(
658
658
  "--baseline-branch and --baseline-tag are mutually exclusive. Pick one..."
659
659
  )
@@ -1043,9 +1043,9 @@ def get_v_pct_change_and_largest_var(
1043
1043
  if last_n < 0 or (last_n > 0 and len(comparison_values) < last_n):
1044
1044
  comparison_values.append(tuple[1])
1045
1045
  comparison_df = pd.DataFrame(comparison_values)
1046
- comparison_median = float(comparison_df.median())
1046
+ comparison_median = float(comparison_df.median().iloc[0])
1047
1047
  comparison_v = comparison_median
1048
- comparison_std = float(comparison_df.std())
1048
+ comparison_std = float(comparison_df.std().iloc[0])
1049
1049
  if verbose:
1050
1050
  logging.info(
1051
1051
  "comparison_datapoints: {} value: {}; std-dev: {}; median: {}".format(
@@ -484,6 +484,36 @@ def extract_test_feasible_setups(
484
484
  for setup_name in feasible_setups_list:
485
485
  if default_specs is not None:
486
486
  feasible_setups_map[setup_name] = {}
487
+ # spec:
488
+ # setups:
489
+ # - name: oss-standalone
490
+ # type: oss-standalone
491
+ # redis_topology:
492
+ # primaries: 1
493
+ # replicas: 1
494
+ # placement: "sparse"
495
+ # resources:
496
+ # requests:
497
+ # cpus: "2"
498
+ # memory: "10g"
499
+ # - name: oss-standalone-threads-6
500
+ # type: oss-standalone
501
+ # redis_topology:
502
+ # primaries: 1
503
+ # replicas: 1
504
+ # placement: "sparse"
505
+ # resources:
506
+ # requests:
507
+ # cpus: "2"
508
+ # memory: "10g"
509
+ # dbconfig:
510
+ # module-configuration-parameters:
511
+ # redisearch:
512
+ # WORKERS: 6
513
+ # MIN_OPERATION_WORKERS: 6
514
+ # module-oss:
515
+ # WORKERS: 6
516
+ # MIN_OPERATION_WORKERS: 6
487
517
  if "setups" in default_specs:
488
518
  for setup in default_specs["setups"]:
489
519
  if setup_name == setup["name"]:
@@ -515,7 +545,9 @@ def extract_test_feasible_setups(
515
545
  feasible_setups_map[setup_name]
516
546
  )
517
547
  )
518
-
548
+ logging.info(
549
+ f"There a total of {len(feasible_setups_map.keys())} setups. Setups: {feasible_setups_map}"
550
+ )
519
551
  return feasible_setups_map
520
552
 
521
553
 
@@ -4,6 +4,7 @@
4
4
  # All rights reserved.
5
5
  #
6
6
  import logging
7
+ import copy
7
8
 
8
9
  from redisbench_admin.run.common import extract_test_feasible_setups
9
10
  from redisbench_admin.run_remote.consts import min_recommended_benchmark_duration
@@ -31,7 +32,7 @@ def calculate_client_tool_duration_and_check(
31
32
 
32
33
 
33
34
  def merge_dicts(dict1, dict2):
34
- result = dict1.copy() # Start with dict1's keys and values
35
+ result = copy.deepcopy(dict1) # Start with dict1's keys and values
35
36
  for key, value in dict2.items():
36
37
  if key in result:
37
38
  if isinstance(result[key], dict) and isinstance(value, dict):
@@ -56,8 +57,15 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
56
57
  benchmark_runs_plan[benchmark_type] = {}
57
58
 
58
59
  # extract dataset-name
59
- dbconfig_present, dataset_name, _, _, _ = extract_redis_dbconfig_parameters(
60
- benchmark_config, "dbconfig"
60
+ (
61
+ benchmark_contains_dbconfig,
62
+ dataset_name,
63
+ _,
64
+ _,
65
+ _,
66
+ ) = extract_redis_dbconfig_parameters(benchmark_config, "dbconfig")
67
+ logging.info(
68
+ f"Benchmark contains specific dbconfig on test {test_name}: {benchmark_contains_dbconfig}"
61
69
  )
62
70
  if dataset_name is None:
63
71
  dataset_name = test_name
@@ -74,6 +82,14 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
74
82
  )
75
83
 
76
84
  for setup_name, setup_settings in test_setups.items():
85
+ test_benchmark_config = copy.deepcopy(benchmark_config)
86
+ setup_contains_dbconfig = False
87
+ if "dbconfig" in setup_settings:
88
+ setup_contains_dbconfig = True
89
+ logging.info(
90
+ f"setup ({setup_name}): {setup_settings}. contains dbconfig {setup_contains_dbconfig}"
91
+ )
92
+
77
93
  if setup_name not in benchmark_runs_plan[benchmark_type][dataset_name]:
78
94
  benchmark_runs_plan[benchmark_type][dataset_name][setup_name] = {}
79
95
  benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
@@ -82,6 +98,7 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
82
98
  benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
83
99
  "benchmarks"
84
100
  ] = {}
101
+
85
102
  if (
86
103
  test_name
87
104
  in benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
@@ -94,13 +111,25 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
94
111
  )
95
112
  )
96
113
  else:
97
- # add benchmark
98
- if "dbconfig" in setup_settings:
99
- benchmark_config["dbconfig"] = merge_dicts(
100
- benchmark_config["dbconfig"], setup_settings["dbconfig"]
114
+ # check if we need to merge dbconfigs from the setup defaults
115
+ if setup_contains_dbconfig:
116
+ if "dbconfig" not in test_benchmark_config:
117
+ test_benchmark_config["dbconfig"] = {}
118
+ setup_dbconfig = setup_settings["dbconfig"]
119
+ benchmark_dbconfig = test_benchmark_config["dbconfig"]
120
+ logging.info(
121
+ f"Merging setup dbconfig: {setup_dbconfig}, with benchmark dbconfig {test_benchmark_config}"
101
122
  )
123
+ final_db_config = merge_dicts(benchmark_dbconfig, setup_dbconfig)
124
+ logging.info(f"FINAL DB CONFIG: {final_db_config}")
125
+ test_benchmark_config["dbconfig"] = final_db_config
126
+
127
+ logging.info(
128
+ f"final benchmark config for setup: {setup_name} and test: {test_name}. {test_benchmark_config}"
129
+ )
130
+ # add benchmark
102
131
  benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
103
132
  "benchmarks"
104
- ][test_name] = benchmark_config
133
+ ][test_name] = test_benchmark_config
105
134
 
106
135
  return benchmark_runs_plan
@@ -346,7 +346,10 @@ def run_remote_command_logic(args, project_name, project_version):
346
346
 
347
347
  # map from setup name to overall target-tables ( if any target is defined )
348
348
  overall_tables[setup_name] = {}
349
+ total_benchmarks = len(benchmarks_map.keys())
350
+ import tqdm
349
351
 
352
+ pbar = tqdm.tqdm(total=total_benchmarks, unit="benchmarks")
350
353
  for test_name, benchmark_config in benchmarks_map.items():
351
354
  if return_code != 0 and args.fail_fast:
352
355
  logging.warning(
@@ -371,9 +374,7 @@ def run_remote_command_logic(args, project_name, project_version):
371
374
  continue
372
375
  remote_perf = None
373
376
  logging.info(
374
- "Repetition {} of {}. Running test {}".format(
375
- repetition, BENCHMARK_REPETITIONS, test_name
376
- )
377
+ f"Repetition {repetition} of {BENCHMARK_REPETITIONS}. Running test {test_name}. Total benchmarks {total_benchmarks}"
377
378
  )
378
379
  (
379
380
  setup_name,
@@ -1092,6 +1093,7 @@ def run_remote_command_logic(args, project_name, project_version):
1092
1093
  f"Test {test_name} does not have remote config. Skipping test."
1093
1094
  )
1094
1095
 
1096
+ pbar.update()
1095
1097
  if len(benchmark_artifacts_links) > 0:
1096
1098
  writer = MarkdownTableWriter(
1097
1099
  table_name=benchmark_artifacts_table_name,
@@ -76,6 +76,7 @@ def remote_module_files_cp(
76
76
  ):
77
77
  remote_module_files = []
78
78
  if local_module_files is not None:
79
+ logging.info(f"local_module_files: {local_module_files}")
79
80
  for local_module_file in local_module_files:
80
81
  splitted_module_and_plugins = []
81
82
  if type(local_module_file) is str:
@@ -135,7 +136,10 @@ def remote_module_files_cp(
135
136
  if pos > 1:
136
137
  remote_module_files_in = remote_module_files_in + " "
137
138
  remote_module_files_in = remote_module_files_in + remote_module_file
138
- remote_module_files.append(remote_module_files_in)
139
+ logging.info(
140
+ f"appending to {remote_module_files} remote file {remote_module_files_in}"
141
+ )
142
+ remote_module_files.append(remote_module_files_in)
139
143
  logging.info(
140
144
  "There are a total of {} remote files {}".format(
141
145
  len(remote_module_files), remote_module_files
@@ -258,10 +258,12 @@ def extract_redis_dbconfig_parameters(benchmark_config, dbconfig_keyname):
258
258
  cp = benchmark_config[dbconfig_keyname]["configuration-parameters"]
259
259
  for k, v in cp.items():
260
260
  redis_configuration_parameters[k] = v
261
- if "dataset_load_timeout_secs" in cp:
262
- dataset_load_timeout_secs = cp["dataset_load_timeout_secs"]
263
- if "dataset_name" in cp:
264
- dataset_name = cp["dataset_name"]
261
+ if "dataset_load_timeout_secs" in benchmark_config[dbconfig_keyname]:
262
+ dataset_load_timeout_secs = benchmark_config[dbconfig_keyname][
263
+ "dataset_load_timeout_secs"
264
+ ]
265
+ if "dataset_name" in benchmark_config[dbconfig_keyname]:
266
+ dataset_name = benchmark_config[dbconfig_keyname]["dataset_name"]
265
267
 
266
268
  return (
267
269
  dbconfig_present,
@@ -544,11 +544,15 @@ def common_tf(branch, path, repo, temporary_dir=None, destroy=False):
544
544
  temporary_dir = tempfile.mkdtemp()
545
545
  if destroy is False:
546
546
  logging.info(
547
- "Fetching infrastructure definition from git repo {}/{} (branch={}). Using local dir {} to store state".format(
547
+ "Fetching infrastructure definition from git repo {}{} (branch={}). Using local dir {} to store state".format(
548
548
  repo, path, branch, temporary_dir
549
549
  )
550
550
  )
551
551
  git.Repo.clone_from(repo, temporary_dir, branch=branch, depth=1)
552
+ logging.info(f"ensuring folder exists: {temporary_dir}")
553
+ assert os.path.exists(temporary_dir) and os.path.isdir(
554
+ temporary_dir
555
+ ), f"Folder '{temporary_dir}' does not exist"
552
556
  terraform_working_dir = temporary_dir + path
553
557
  return terraform_working_dir
554
558
 
@@ -561,7 +565,7 @@ def check_remote_setup_spot_instance(
561
565
  contains_spot_instance = False
562
566
  for remote_setup_property in remote_setup_config:
563
567
  if "spot_instance" in remote_setup_property:
564
- spot_path = "/terraform/" + remote_setup_property["spot_instance"]
568
+ spot_path = "terraform/" + remote_setup_property["spot_instance"]
565
569
  contains_spot_instance = True
566
570
  logging.info(f"Detected spot instance config. Setup path: {spot_path}")
567
571
 
@@ -1,102 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- from setuptools import setup
3
-
4
- packages = \
5
- ['redisbench_admin',
6
- 'redisbench_admin.commands',
7
- 'redisbench_admin.compare',
8
- 'redisbench_admin.deploy',
9
- 'redisbench_admin.environments',
10
- 'redisbench_admin.export',
11
- 'redisbench_admin.export.common',
12
- 'redisbench_admin.export.google_benchmark',
13
- 'redisbench_admin.export.memtier_benchmark',
14
- 'redisbench_admin.export.pyperf',
15
- 'redisbench_admin.export.redis_benchmark',
16
- 'redisbench_admin.extract',
17
- 'redisbench_admin.grafana_api',
18
- 'redisbench_admin.profilers',
19
- 'redisbench_admin.run',
20
- 'redisbench_admin.run.aibench_run_inference_redisai_vision',
21
- 'redisbench_admin.run.ann',
22
- 'redisbench_admin.run.ann.pkg',
23
- 'redisbench_admin.run.ann.pkg.ann_benchmarks',
24
- 'redisbench_admin.run.ann.pkg.ann_benchmarks.algorithms',
25
- 'redisbench_admin.run.ann.pkg.ann_benchmarks.plotting',
26
- 'redisbench_admin.run.ann.pkg.protocol',
27
- 'redisbench_admin.run.ann.pkg.test',
28
- 'redisbench_admin.run.ftsb',
29
- 'redisbench_admin.run.memtier_benchmark',
30
- 'redisbench_admin.run.redis_benchmark',
31
- 'redisbench_admin.run.redisgraph_benchmark_go',
32
- 'redisbench_admin.run.tsbs_run_queries_redistimeseries',
33
- 'redisbench_admin.run.ycsb',
34
- 'redisbench_admin.run_async',
35
- 'redisbench_admin.run_local',
36
- 'redisbench_admin.run_remote',
37
- 'redisbench_admin.utils',
38
- 'redisbench_admin.watchdog']
39
-
40
- package_data = \
41
- {'': ['*'],
42
- 'redisbench_admin.run.ann.pkg': ['.github/workflows/*',
43
- 'install/*',
44
- 'results/*',
45
- 'templates/*']}
46
-
47
- install_requires = \
48
- ['Flask-HTTPAuth>=4.4.0,<5.0.0',
49
- 'Flask>=2.0.1,<3.0.0',
50
- 'GitPython>=3.1.12,<4.0.0',
51
- 'Jinja2>=3.0.3,<4.0.0',
52
- 'PyYAML>=6.0,<7.0',
53
- 'boto3>=1.13.24,<2.0.0',
54
- 'certifi>=2021.10.8,<2022.0.0',
55
- 'daemonize>=2.5.0,<3.0.0',
56
- 'flask-restx>=0.5.1,<0.6.0',
57
- 'humanize>=2.4.0,<3.0.0',
58
- 'jsonpath_ng>=1.5.2,<2.0.0',
59
- 'matplotlib>=3.1.2,<4.0.0',
60
- 'numpy>=2.0.0,<3.0.0',
61
- 'pandas>=2.1.2,<3.0.0',
62
- 'paramiko>=2.7.2,<3.0.0',
63
- 'psutil>=5.6.6,<6.0.0',
64
- 'pyWorkFlow>=0.0.2,<0.0.3',
65
- 'py_cpuinfo>=5.0.0,<6.0.0',
66
- 'pygithub>=1.57,<2.0',
67
- 'pysftp>=0.2.9,<0.3.0',
68
- 'pytablewriter[html]>=0.64.1,<0.65.0',
69
- 'python_terraform>=0.10.1,<0.11.0',
70
- 'redis>=4.2.2,<5.0.0',
71
- 'requests>=2.32.3,<3.0.0',
72
- 'slack-bolt>=1.13.0,<2.0.0',
73
- 'slack-sdk>=3.15.2,<4.0.0',
74
- 'sshtunnel>=0.4.0,<0.5.0',
75
- 'toml>=0.10.1,<0.11.0',
76
- 'tqdm>=4.46.1,<5.0.0',
77
- 'watchdog>=2.1.6,<3.0.0',
78
- 'wget>=3.2,<4.0']
79
-
80
- entry_points = \
81
- {'console_scripts': ['perf-daemon = redisbench_admin.profilers.daemon:main',
82
- 'redisbench-admin = redisbench_admin.cli:main']}
83
-
84
- setup_kwargs = {
85
- 'name': 'redisbench-admin',
86
- 'version': '0.11.0',
87
- 'description': 'Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).',
88
- 'long_description': '[![codecov](https://codecov.io/gh/redis-performance/redisbench-admin/branch/master/graph/badge.svg)](https://codecov.io/gh/redis-performance/redisbench-admin)\n![Actions](https://github.com/redis-performance/redisbench-admin/workflows/Run%20Tests/badge.svg?branch=master)\n![Actions](https://badge.fury.io/py/redisbench-admin.svg)\n\n# [redisbench-admin](https://github.com/redis-performance/redisbench-admin)\n\nRedis benchmark run helper can help you with the following tasks:\n\n- Setup abd teardown of benchmarking infrastructure specified\n on [redis-performance/testing-infrastructure](https://github.com/redis-performance/testing-infrastructure)\n- Setup and teardown of an Redis and Redis Modules DBs for benchmarking\n- Management of benchmark data and specifications across different setups\n- Running benchmarks and recording results\n- Exporting performance results in several formats (CSV, RedisTimeSeries, JSON)\n- Finding on-cpu, off-cpu, io, and threading performance problems by attaching profiling tools/probers ( perf (a.k.a. perf_events), bpf tooling, vtune )\n- **[SOON]** Finding performance problems by attaching telemetry probes\n\nCurrent supported benchmark tools:\n\n- [redis-benchmark](https://github.com/redis/redis)\n- [memtier_benchmark](https://github.com/RedisLabs/memtier_benchmark)\n- [redis-benchmark-go](https://github.com/redis-performance/redis-benchmark-go)\n- [YCSB](https://github.com/RediSearch/YCSB)\n- [tsbs](https://github.com/RedisTimeSeries/tsbs)\n- [redisgraph-benchmark-go](https://github.com/RedisGraph/redisgraph-benchmark-go)\n- [ftsb_redisearch](https://github.com/RediSearch/ftsb)\n- [ann-benchmarks](https://github.com/RedisAI/ann-benchmarks)\n\n## Installation\n\nInstallation is done using pip, the package installer for Python, in the following manner:\n\n```bash\npython3 -m pip install redisbench-admin\n```\n\n## Profiler daemon\n\nYou can use the profiler daemon by itself in the following manner. \nOn the target machine do as follow:\n\n```bash\npip3 install --upgrade pip\npip3 install redisbench-admin --ignore-installed PyYAML\n\n# install perf\napt install linux-tools-common linux-tools-generic linux-tools-`uname -r` -y\n\n# ensure perf is working\nperf --version\n\n# install awscli\nsnap install aws-cli --classic\n\n\n# configure aws\naws configure\n\n# start the perf-daemon\nperf-daemon start\nWARNING:root:Unable to detected github_actor. caught the following error: No section: \'user\'\nWritting log to /tmp/perf-daemon.log\nStarting perf-daemon. PID file /tmp/perfdaemon.pid. Daemon workdir: /root/RedisGraph\n\n# check daemon is working appropriatelly\ncurl localhost:5000/ping\n\n# start a profile\ncurl -X POST localhost:5000/profiler/perf/start/<pid to profile>\n\n# stop a profile\ncurl -X POST -d \'{"aws_access_key_id":$AWS_ACCESS_KEY_ID,"aws_secret_access_key":$AWS_SECRET_ACCESS_KEY}\' localhost:5000/profiler/perf/stop/<pid to profile>\n```\n\n\n## Development\n\n1. Install [pypoetry](https://python-poetry.org/) to manage your dependencies and trigger tooling.\n```sh\npip install poetry\n```\n\n2. Installing dependencies from lock file\n\n```\npoetry install\n```\n\n### Running formaters\n\n```sh\npoetry run black .\n```\n\n\n### Running linters\n\n```sh\npoetry run flake8\n```\n\n\n### Running tests\n\nA test suite is provided, and can be run with:\n\n```sh\n$ tox\n```\n\nTo run a specific test:\n```sh\n$ tox -- tests/test_redistimeseries.py\n```\n\n## License\n\nredisbench-admin is distributed under the BSD3 license - see [LICENSE](LICENSE)\n',
89
- 'author': 'filipecosta90',
90
- 'author_email': 'filipecosta.90@gmail.com',
91
- 'maintainer': 'None',
92
- 'maintainer_email': 'None',
93
- 'url': 'None',
94
- 'packages': packages,
95
- 'package_data': package_data,
96
- 'install_requires': install_requires,
97
- 'entry_points': entry_points,
98
- 'python_requires': '>=3.10.0,<4.0.0',
99
- }
100
-
101
-
102
- setup(**setup_kwargs)