redisbench-admin 0.11.50__tar.gz → 0.11.51__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.50 → redisbench_admin-0.11.51}/PKG-INFO +1 -1
  2. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/pyproject.toml +1 -1
  3. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/cli.py +13 -6
  4. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/compare/args.py +0 -20
  5. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/compare/compare.py +23 -165
  6. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/export.py +0 -1
  7. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/daemon.py +2 -2
  8. redisbench_admin-0.11.51/redisbench_admin/run/modules.py +50 -0
  9. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/benchmark.py +0 -1
  10. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/run_local.py +0 -1
  11. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/args.py +1 -1
  12. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/remote_db.py +0 -114
  13. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/run_remote.py +1 -50
  14. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/standalone.py +11 -139
  15. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/benchmark_config.py +2 -74
  16. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/remote.py +2 -40
  17. redisbench_admin-0.11.50/redisbench_admin/run/modules.py +0 -137
  18. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/LICENSE +0 -0
  19. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/README.md +0 -0
  20. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/__init__.py +0 -0
  21. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/commands/__init__.py +0 -0
  22. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/commands/commands.json.py +0 -0
  23. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/compare/__init__.py +0 -0
  24. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/deploy/__init__.py +0 -0
  25. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/deploy/args.py +0 -0
  26. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/deploy/deploy.py +0 -0
  27. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/environments/__init__.py +0 -0
  28. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/environments/oss_cluster.py +0 -0
  29. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/environments/oss_standalone.py +0 -0
  30. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/__init__.py +0 -0
  31. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/args.py +0 -0
  32. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/common/__init__.py +0 -0
  33. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/common/common.py +0 -0
  34. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
  35. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
  36. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
  37. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
  38. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/pyperf/__init__.py +0 -0
  39. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
  40. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
  41. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
  42. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
  43. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/extract/__init__.py +0 -0
  44. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/extract/args.py +0 -0
  45. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/extract/extract.py +0 -0
  46. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/grafana_api/__init__.py +0 -0
  47. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/grafana_api/app.py +0 -0
  48. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/grafana_api/args.py +0 -0
  49. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/grafana_api/grafana_api.py +0 -0
  50. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/__init__.py +0 -0
  51. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/flamegraph.pl +0 -0
  52. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/perf.py +0 -0
  53. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
  54. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/pprof.py +0 -0
  55. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/profilers.py +0 -0
  56. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/profilers_local.py +0 -0
  57. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/profilers_schema.py +0 -0
  58. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
  59. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/profilers/vtune.py +0 -0
  60. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/__init__.py +0 -0
  61. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
  62. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
  63. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/__init__.py +0 -0
  64. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/ann.py +0 -0
  65. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/.dockerignore +0 -0
  66. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/.git +0 -0
  67. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/.github/workflows/benchmarks.yml +0 -0
  68. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/.gitignore +0 -0
  69. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/LICENSE +0 -0
  70. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/README.md +0 -0
  71. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/algos.yaml +0 -0
  72. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/algosP.yaml +0 -0
  73. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/__init__.py +0 -0
  74. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/__init__.py +0 -0
  75. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/annoy.py +0 -0
  76. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/balltree.py +0 -0
  77. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/base.py +0 -0
  78. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/bruteforce.py +0 -0
  79. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/ckdtree.py +0 -0
  80. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/datasketch.py +0 -0
  81. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/definitions.py +0 -0
  82. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/diskann.py +0 -0
  83. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dolphinnpy.py +0 -0
  84. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dummy_algo.py +0 -0
  85. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elasticsearch.py +0 -0
  86. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elastiknn.py +0 -0
  87. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss.py +0 -0
  88. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_gpu.py +0 -0
  89. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_hnsw.py +0 -0
  90. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/flann.py +0 -0
  91. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/hnswlib.py +0 -0
  92. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kdtree.py +0 -0
  93. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kgraph.py +0 -0
  94. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/lshf.py +0 -0
  95. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/milvus.py +0 -0
  96. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/mrpt.py +0 -0
  97. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/n2.py +0 -0
  98. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nearpy.py +0 -0
  99. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nmslib.py +0 -0
  100. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/onng_ngt.py +0 -0
  101. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/opensearchknn.py +0 -0
  102. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/panng_ngt.py +0 -0
  103. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pinecone.py +0 -0
  104. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/puffinn.py +0 -0
  105. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pynndescent.py +0 -0
  106. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/qg_ngt.py +0 -0
  107. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/redisearch.py +0 -0
  108. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/rpforest.py +0 -0
  109. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/scann.py +0 -0
  110. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/sptag.py +0 -0
  111. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/subprocess.py +0 -0
  112. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vald.py +0 -0
  113. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vecsim-hnsw.py +0 -0
  114. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vespa.py +0 -0
  115. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/constants.py +0 -0
  116. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/data.py +0 -0
  117. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/datasets.py +0 -0
  118. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/distance.py +0 -0
  119. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/main.py +0 -0
  120. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/__init__.py +0 -0
  121. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/metrics.py +0 -0
  122. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/plot_variants.py +0 -0
  123. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/utils.py +0 -0
  124. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/results.py +0 -0
  125. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/ann_benchmarks/runner.py +0 -0
  126. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/create_dataset.py +0 -0
  127. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/create_hybrid_dataset.py +0 -0
  128. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/create_text_to_image_ds.py +0 -0
  129. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/create_website.py +0 -0
  130. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile +0 -0
  131. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.annoy +0 -0
  132. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.datasketch +0 -0
  133. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann +0 -0
  134. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann_pq +0 -0
  135. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.dolphinn +0 -0
  136. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.elasticsearch +0 -0
  137. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.elastiknn +0 -0
  138. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.faiss +0 -0
  139. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.flann +0 -0
  140. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.hnswlib +0 -0
  141. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.kgraph +0 -0
  142. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.mih +0 -0
  143. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.milvus +0 -0
  144. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.mrpt +0 -0
  145. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.n2 +0 -0
  146. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.nearpy +0 -0
  147. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.ngt +0 -0
  148. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.nmslib +0 -0
  149. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.opensearchknn +0 -0
  150. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.puffinn +0 -0
  151. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.pynndescent +0 -0
  152. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.redisearch +0 -0
  153. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.rpforest +0 -0
  154. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.scann +0 -0
  155. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.scipy +0 -0
  156. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.sklearn +0 -0
  157. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.sptag +0 -0
  158. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.vald +0 -0
  159. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install/Dockerfile.vespa +0 -0
  160. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/install.py +0 -0
  161. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/logging.conf +0 -0
  162. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/multirun.py +0 -0
  163. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/plot.py +0 -0
  164. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/bf-runner +0 -0
  165. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/bf-runner.py +0 -0
  166. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/ext-add-query-metric.md +0 -0
  167. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/ext-batch-queries.md +0 -0
  168. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/ext-prepared-queries.md +0 -0
  169. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/ext-query-parameters.md +0 -0
  170. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/protocol/specification.md +0 -0
  171. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/requirements.txt +0 -0
  172. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/requirements_py38.txt +0 -0
  173. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/fashion-mnist-784-euclidean.png +0 -0
  174. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/gist-960-euclidean.png +0 -0
  175. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/glove-100-angular.png +0 -0
  176. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/glove-25-angular.png +0 -0
  177. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/lastfm-64-dot.png +0 -0
  178. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/mnist-784-euclidean.png +0 -0
  179. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/nytimes-256-angular.png +0 -0
  180. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/results/sift-128-euclidean.png +0 -0
  181. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/run.py +0 -0
  182. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/run_algorithm.py +0 -0
  183. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/templates/chartjs.template +0 -0
  184. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/templates/detail_page.html +0 -0
  185. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/templates/general.html +0 -0
  186. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/templates/latex.template +0 -0
  187. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/templates/summary.html +0 -0
  188. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/test/__init__.py +0 -0
  189. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/test/test-jaccard.py +0 -0
  190. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ann/pkg/test/test-metrics.py +0 -0
  191. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/args.py +0 -0
  192. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/cluster.py +0 -0
  193. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/common.py +0 -0
  194. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ftsb/__init__.py +0 -0
  195. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ftsb/ftsb.py +0 -0
  196. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/git.py +0 -0
  197. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/grafana.py +0 -0
  198. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
  199. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
  200. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/metrics.py +0 -0
  201. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
  202. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
  203. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
  204. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
  205. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/redistimeseries.py +0 -0
  206. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/run.py +0 -0
  207. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/s3.py +0 -0
  208. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ssh.py +0 -0
  209. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
  210. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
  211. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ycsb/__init__.py +0 -0
  212. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run/ycsb/ycsb.py +0 -0
  213. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/__init__.py +0 -0
  214. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/async_env.py +0 -0
  215. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/async_terraform.py +0 -0
  216. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/log.py +0 -0
  217. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/render_files.py +0 -0
  218. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_async/run_async.py +0 -0
  219. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/__init__.py +0 -0
  220. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/args.py +0 -0
  221. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/local_client.py +0 -0
  222. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/local_db.py +0 -0
  223. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_local/local_helpers.py +0 -0
  224. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/__init__.py +0 -0
  225. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/consts.py +0 -0
  226. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/log.py +0 -0
  227. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/notifications.py +0 -0
  228. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/remote_client.py +0 -0
  229. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/remote_env.py +0 -0
  230. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/remote_failures.py +0 -0
  231. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/remote_helpers.py +0 -0
  232. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/run_remote/terraform.py +0 -0
  233. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/__init__.py +0 -0
  234. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/local.py +0 -0
  235. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/redisearch.py +0 -0
  236. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
  237. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/results.py +0 -0
  238. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/ssh.py +0 -0
  239. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/utils/utils.py +0 -0
  240. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/watchdog/__init__.py +0 -0
  241. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/watchdog/args.py +0 -0
  242. {redisbench_admin-0.11.50 → redisbench_admin-0.11.51}/redisbench_admin/watchdog/watchdog.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redisbench-admin
3
- Version: 0.11.50
3
+ Version: 0.11.51
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "redisbench-admin"
3
- version = "0.11.50"
3
+ version = "0.11.51"
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"
@@ -36,15 +36,22 @@ LOG_FORMAT = "%(asctime)s %(levelname)-4s %(message)s"
36
36
  LOG_DATEFMT = "%Y-%m-%d %H:%M:%S"
37
37
 
38
38
 
39
- def populate_with_poetry_data():
39
+ def populate_with_project_data():
40
40
  project_name = "redisbench-admin"
41
41
  project_version = __version__
42
42
  project_description = None
43
43
  try:
44
- poetry_data = toml.load("pyproject.toml")["tool"]["poetry"]
45
- project_name = poetry_data["name"]
46
- project_version = poetry_data["version"]
47
- project_description = poetry_data["description"]
44
+ pyproject_toml = toml.load("pyproject.toml")
45
+ if 'project' in pyproject_toml:
46
+ project_data = pyproject_toml["project"]
47
+ project_name = project_data["name"]
48
+ project_version = project_data["version"]
49
+ project_description = project_data.get("description")
50
+ else:
51
+ poetry_data = pyproject_toml["tool"]["poetry"]
52
+ project_name = poetry_data["name"]
53
+ project_version = poetry_data["version"]
54
+ project_description = poetry_data["description"]
48
55
  except FileNotFoundError:
49
56
  pass
50
57
 
@@ -59,7 +66,7 @@ def main():
59
66
  )
60
67
  sys.exit(1)
61
68
  requested_tool = sys.argv[1]
62
- project_name, project_description, project_version = populate_with_poetry_data()
69
+ project_name, project_description, project_version = populate_with_project_data()
63
70
  parser = argparse.ArgumentParser(
64
71
  description=project_description,
65
72
  formatter_class=argparse.ArgumentDefaultsHelpFormatter,
@@ -114,26 +114,6 @@ def create_compare_arguments(parser):
114
114
  type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
115
115
  default=START_TIME_NOW_UTC,
116
116
  )
117
- parser.add_argument(
118
- "--from-date-baseline",
119
- type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
120
- default=None,
121
- )
122
- parser.add_argument(
123
- "--to-date-baseline",
124
- type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
125
- default=None,
126
- )
127
- parser.add_argument(
128
- "--from-date-comparison",
129
- type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
130
- default=None,
131
- )
132
- parser.add_argument(
133
- "--to-date-comparison",
134
- type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
135
- default=None,
136
- )
137
117
  parser.add_argument(
138
118
  "--metric_mode",
139
119
  type=str,
@@ -314,10 +314,6 @@ def compare_command_logic(args, project_name, project_version):
314
314
  first_n_baseline,
315
315
  first_n_comparison,
316
316
  grafana_link_base,
317
- args.from_date_baseline,
318
- args.to_date_baseline,
319
- args.from_date_comparison,
320
- args.to_date_comparison,
321
317
  )
322
318
  comment_body = ""
323
319
  if total_comparison_points > 0:
@@ -597,99 +593,24 @@ def compute_regression_table(
597
593
  first_n_baseline=-1,
598
594
  first_n_comparison=-1,
599
595
  grafana_link_base=None,
600
- from_date_baseline=None,
601
- to_date_baseline=None,
602
- from_date_comparison=None,
603
- to_date_comparison=None,
604
596
  ):
605
597
  START_TIME_NOW_UTC, _, _ = get_start_time_vars()
606
598
  START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=31)
607
-
608
- # Handle separate baseline and comparison date ranges (takes precedence if defined)
609
- if (
610
- from_date_baseline is not None
611
- or to_date_baseline is not None
612
- or from_date_comparison is not None
613
- or to_date_comparison is not None
614
- ):
615
- # Use separate date ranges for baseline and comparison
616
- from_date_baseline = (
617
- from_date_baseline
618
- if from_date_baseline is not None
619
- else START_TIME_LAST_MONTH_UTC
620
- )
621
- to_date_baseline = (
622
- to_date_baseline if to_date_baseline is not None else START_TIME_NOW_UTC
623
- )
624
- from_date_comparison = (
625
- from_date_comparison
626
- if from_date_comparison is not None
627
- else START_TIME_LAST_MONTH_UTC
628
- )
629
- to_date_comparison = (
630
- to_date_comparison if to_date_comparison is not None else START_TIME_NOW_UTC
631
- )
632
-
633
- from_ts_ms_baseline = int(from_date_baseline.timestamp() * 1000)
634
- to_ts_ms_baseline = int(to_date_baseline.timestamp() * 1000)
635
- from_ts_ms_comparison = int(from_date_comparison.timestamp() * 1000)
636
- to_ts_ms_comparison = int(to_date_comparison.timestamp() * 1000)
637
-
638
- from_human_str_baseline = humanize.naturaltime(
639
- dt.datetime.utcfromtimestamp(from_ts_ms_baseline / 1000)
640
- )
641
- to_human_str_baseline = humanize.naturaltime(
642
- dt.datetime.utcfromtimestamp(to_ts_ms_baseline / 1000)
643
- )
644
- from_human_str_comparison = humanize.naturaltime(
645
- dt.datetime.utcfromtimestamp(from_ts_ms_comparison / 1000)
646
- )
647
- to_human_str_comparison = humanize.naturaltime(
648
- dt.datetime.utcfromtimestamp(to_ts_ms_comparison / 1000)
649
- )
650
-
651
- logging.info(
652
- "Using separate time ranges - Baseline: {} to {}, Comparison: {} to {}".format(
653
- from_human_str_baseline,
654
- to_human_str_baseline,
655
- from_human_str_comparison,
656
- to_human_str_comparison,
657
- )
658
- )
659
-
660
- # Use baseline range for legacy compatibility (will be overridden in data queries)
661
- from_ts_ms = from_ts_ms_baseline
662
- to_ts_ms = to_ts_ms_baseline
663
-
664
- # Set legacy variables for table headers (show separate ranges info)
665
- from_human_str = f"Baseline: {from_human_str_baseline} to {to_human_str_baseline}, Comparison: {from_human_str_comparison} to {to_human_str_comparison}"
666
- to_human_str = to_human_str_baseline
667
- else:
668
- # Use legacy single date range for both baseline and comparison
669
- if from_date is None:
670
- from_date = START_TIME_LAST_MONTH_UTC
671
- if to_date is None:
672
- to_date = START_TIME_NOW_UTC
673
- if from_ts_ms is None:
674
- from_ts_ms = int(from_date.timestamp() * 1000)
675
- if to_ts_ms is None:
676
- to_ts_ms = int(to_date.timestamp() * 1000)
677
-
678
- # Use same range for both baseline and comparison
679
- from_ts_ms_baseline = from_ts_ms
680
- to_ts_ms_baseline = to_ts_ms
681
- from_ts_ms_comparison = from_ts_ms
682
- to_ts_ms_comparison = to_ts_ms
683
-
684
- from_human_str = humanize.naturaltime(
685
- dt.datetime.utcfromtimestamp(from_ts_ms / 1000)
686
- )
687
- to_human_str = humanize.naturaltime(
688
- dt.datetime.utcfromtimestamp(to_ts_ms / 1000)
689
- )
690
- logging.info(
691
- "Using a time-delta from {} to {}".format(from_human_str, to_human_str)
692
- )
599
+ if from_date is None:
600
+ from_date = START_TIME_LAST_MONTH_UTC
601
+ if to_date is None:
602
+ to_date = START_TIME_NOW_UTC
603
+ if from_ts_ms is None:
604
+ from_ts_ms = int(from_date.timestamp() * 1000)
605
+ if to_ts_ms is None:
606
+ to_ts_ms = int(to_date.timestamp() * 1000)
607
+ from_human_str = humanize.naturaltime(
608
+ dt.datetime.utcfromtimestamp(from_ts_ms / 1000)
609
+ )
610
+ to_human_str = humanize.naturaltime(dt.datetime.utcfromtimestamp(to_ts_ms / 1000))
611
+ logging.info(
612
+ "Using a time-delta from {} to {}".format(from_human_str, to_human_str)
613
+ )
693
614
  baseline_str, by_str_baseline, comparison_str, by_str_comparison = get_by_strings(
694
615
  baseline_branch,
695
616
  comparison_branch,
@@ -773,10 +694,6 @@ def compute_regression_table(
773
694
  comparison_tag,
774
695
  from_date,
775
696
  to_date,
776
- from_ts_ms_baseline,
777
- to_ts_ms_baseline,
778
- from_ts_ms_comparison,
779
- to_ts_ms_comparison,
780
697
  )
781
698
  logging.info(
782
699
  "Printing differential analysis between {} and {}".format(
@@ -1027,56 +944,7 @@ def from_rts_to_regression_table(
1027
944
  comparison_tag=None,
1028
945
  from_date=None,
1029
946
  to_date=None,
1030
- from_ts_ms_baseline=None,
1031
- to_ts_ms_baseline=None,
1032
- from_ts_ms_comparison=None,
1033
- to_ts_ms_comparison=None,
1034
947
  ):
1035
- # Use separate timestamp ranges if provided, otherwise use legacy single range
1036
- if (
1037
- from_ts_ms_baseline is not None
1038
- and to_ts_ms_baseline is not None
1039
- and from_ts_ms_comparison is not None
1040
- and to_ts_ms_comparison is not None
1041
- ):
1042
- # Use separate ranges for baseline and comparison
1043
- baseline_from_ts = from_ts_ms_baseline
1044
- baseline_to_ts = to_ts_ms_baseline
1045
- comparison_from_ts = from_ts_ms_comparison
1046
- comparison_to_ts = to_ts_ms_comparison
1047
- baseline_from_human = humanize.naturaltime(
1048
- dt.datetime.utcfromtimestamp(baseline_from_ts / 1000)
1049
- )
1050
- baseline_to_human = humanize.naturaltime(
1051
- dt.datetime.utcfromtimestamp(baseline_to_ts / 1000)
1052
- )
1053
- comparison_from_human = humanize.naturaltime(
1054
- dt.datetime.utcfromtimestamp(comparison_from_ts / 1000)
1055
- )
1056
- comparison_to_human = humanize.naturaltime(
1057
- dt.datetime.utcfromtimestamp(comparison_to_ts / 1000)
1058
- )
1059
- logging.info(
1060
- "Using separate timestamp ranges - Baseline: {} to {}, Comparison: {} to {}".format(
1061
- baseline_from_human, baseline_to_human, comparison_from_human, comparison_to_human
1062
- )
1063
- )
1064
- else:
1065
- # Use legacy single range for both
1066
- baseline_from_ts = from_ts_ms
1067
- baseline_to_ts = to_ts_ms
1068
- comparison_from_ts = from_ts_ms
1069
- comparison_to_ts = to_ts_ms
1070
- from_human = humanize.naturaltime(
1071
- dt.datetime.utcfromtimestamp(from_ts_ms / 1000)
1072
- )
1073
- to_human = humanize.naturaltime(dt.datetime.utcfromtimestamp(to_ts_ms / 1000))
1074
- logging.info(
1075
- "Using single timestamp range for both baseline and comparison: {} to {}".format(
1076
- from_human, to_human
1077
- )
1078
- )
1079
-
1080
948
  print_all = print_regressions_only is False and print_improvements_only is False
1081
949
  table = []
1082
950
  detected_regressions = []
@@ -1177,7 +1045,7 @@ def from_rts_to_regression_table(
1177
1045
  try:
1178
1046
  for ts_name_baseline in baseline_timeseries:
1179
1047
  datapoints_inner = rts.ts().revrange(
1180
- ts_name_baseline, baseline_from_ts, baseline_to_ts
1048
+ ts_name_baseline, from_ts_ms, to_ts_ms
1181
1049
  )
1182
1050
  baseline_datapoints.extend(datapoints_inner)
1183
1051
  (
@@ -1196,7 +1064,7 @@ def from_rts_to_regression_table(
1196
1064
  )
1197
1065
  for ts_name_comparison in comparison_timeseries:
1198
1066
  datapoints_inner = rts.ts().revrange(
1199
- ts_name_comparison, comparison_from_ts, comparison_to_ts
1067
+ ts_name_comparison, from_ts_ms, to_ts_ms
1200
1068
  )
1201
1069
  comparison_datapoints.extend(datapoints_inner)
1202
1070
 
@@ -1665,11 +1533,9 @@ def check_client_side_latency(
1665
1533
  comparison_ts = comparison_client_ts[0]
1666
1534
 
1667
1535
  # Get client-side latency data
1668
- baseline_client_data = rts.ts().revrange(
1669
- baseline_ts, baseline_from_ts, baseline_to_ts
1670
- )
1536
+ baseline_client_data = rts.ts().revrange(baseline_ts, from_ts_ms, to_ts_ms)
1671
1537
  comparison_client_data = rts.ts().revrange(
1672
- comparison_ts, comparison_from_ts, comparison_to_ts
1538
+ comparison_ts, from_ts_ms, to_ts_ms
1673
1539
  )
1674
1540
 
1675
1541
  if len(baseline_client_data) == 0 or len(comparison_client_data) == 0:
@@ -2012,15 +1878,11 @@ def perform_variance_and_p99_analysis(
2012
1878
  comparison_p99_data = []
2013
1879
 
2014
1880
  for ts_name in baseline_ts_list:
2015
- datapoints = rts.ts().revrange(
2016
- ts_name, baseline_from_ts, baseline_to_ts
2017
- )
1881
+ datapoints = rts.ts().revrange(ts_name, from_ts_ms, to_ts_ms)
2018
1882
  baseline_p99_data.extend(datapoints)
2019
1883
 
2020
1884
  for ts_name in comparison_ts_list:
2021
- datapoints = rts.ts().revrange(
2022
- ts_name, comparison_from_ts, comparison_to_ts
2023
- )
1885
+ datapoints = rts.ts().revrange(ts_name, from_ts_ms, to_ts_ms)
2024
1886
  comparison_p99_data.extend(datapoints)
2025
1887
 
2026
1888
  if len(baseline_p99_data) < 3 or len(comparison_p99_data) < 3:
@@ -2368,15 +2230,11 @@ def check_latency_for_unstable_throughput(
2368
2230
  comparison_latency_data = []
2369
2231
 
2370
2232
  for ts_name in baseline_ts_list:
2371
- datapoints = rts.ts().revrange(
2372
- ts_name, baseline_from_ts, baseline_to_ts
2373
- )
2233
+ datapoints = rts.ts().revrange(ts_name, from_ts_ms, to_ts_ms)
2374
2234
  baseline_latency_data.extend(datapoints)
2375
2235
 
2376
2236
  for ts_name in comparison_ts_list:
2377
- datapoints = rts.ts().revrange(
2378
- ts_name, comparison_from_ts, comparison_to_ts
2379
- )
2237
+ datapoints = rts.ts().revrange(ts_name, from_ts_ms, to_ts_ms)
2380
2238
  comparison_latency_data.extend(datapoints)
2381
2239
 
2382
2240
  if len(baseline_latency_data) == 0 or len(comparison_latency_data) == 0:
@@ -76,7 +76,6 @@ def export_command_logic(args, project_name, project_version):
76
76
  exporter_timemetric_path,
77
77
  _,
78
78
  _,
79
- _,
80
79
  ) = get_defaults(exporter_spec_file)
81
80
  arch = args.architecture
82
81
  logging.info("Using the following architecture on the timeseries: {}".format(arch))
@@ -16,7 +16,7 @@ import botocore
16
16
  import daemonize
17
17
  from flask import Flask, request
18
18
 
19
- from redisbench_admin.cli import populate_with_poetry_data
19
+ from redisbench_admin.cli import populate_with_project_data
20
20
  from redisbench_admin.profilers.perf import Perf
21
21
  from redisbench_admin.profilers.perf_daemon_caller import PERF_DAEMON_LOGNAME
22
22
  from redisbench_admin.profilers.profilers_local import local_profilers_platform_checks
@@ -282,7 +282,7 @@ class PerfDaemon:
282
282
 
283
283
 
284
284
  def main():
285
- _, project_description, project_version = populate_with_poetry_data()
285
+ _, project_description, project_version = populate_with_project_data()
286
286
  project_name = "perf-daemon"
287
287
  parser = argparse.ArgumentParser(
288
288
  description=project_description,
@@ -0,0 +1,50 @@
1
+ # BSD 3-Clause License
2
+ #
3
+ # Copyright (c) 2021., Redis Labs Modules
4
+ # All rights reserved.
5
+ #
6
+ import logging
7
+ import os
8
+
9
+
10
+ def redis_modules_check(local_module_files):
11
+ status = True
12
+ error_message = ""
13
+ if local_module_files is not None:
14
+ logging.info(
15
+ "Using the following module artifacts: {}".format(local_module_files)
16
+ )
17
+ for local_module_file in local_module_files:
18
+ if type(local_module_file) is str:
19
+ logging.info(
20
+ "Checking if module artifact {} exists...".format(local_module_file)
21
+ )
22
+ error_message, status = exists_check(
23
+ error_message, local_module_file, status
24
+ )
25
+ if type(local_module_file) is list:
26
+ for inner_local_module_file in local_module_file:
27
+ logging.info(
28
+ "Checking if module artifact {} exists...".format(
29
+ inner_local_module_file
30
+ )
31
+ )
32
+ error_message, status = exists_check(
33
+ error_message, inner_local_module_file, status
34
+ )
35
+
36
+ return status, error_message
37
+
38
+
39
+ def exists_check(error_message, local_module_file, status):
40
+ if os.path.exists(local_module_file) is False:
41
+ error_message = "Specified module artifact does not exist: {}".format(
42
+ local_module_file
43
+ )
44
+ logging.error(error_message)
45
+ status = False
46
+ else:
47
+ logging.info(
48
+ "Confirmed that module artifact: '{}' exists!".format(local_module_file)
49
+ )
50
+ return error_message, status
@@ -41,7 +41,6 @@ class BenchmarkClass:
41
41
  self.exporter_timemetric_path,
42
42
  self.default_specs,
43
43
  self.clusterconfig,
44
- _,
45
44
  ) = prepare_benchmark_definitions(args)
46
45
 
47
46
  def populate_remote_envs_timeout(self):
@@ -149,7 +149,6 @@ def run_local_command_logic(args, project_name, project_version):
149
149
  exporter_timemetric_path,
150
150
  default_specs,
151
151
  clusterconfig,
152
- _,
153
152
  ) = prepare_benchmark_definitions(args)
154
153
 
155
154
  return_code = 0
@@ -148,7 +148,7 @@ def create_run_remote_arguments(parser):
148
148
  "--spin-test",
149
149
  default=False,
150
150
  action="store_true",
151
- help="Setup standalone Redis server, run INFO SERVER, print output as markdown and exit (reads install_steps from defaults.yml)",
151
+ help="Setup standalone Redis server, run INFO SERVER, print output as markdown and exit",
152
152
  )
153
153
 
154
154
  return parser
@@ -105,8 +105,6 @@ def remote_db_spin(
105
105
  continue_on_module_check_error=False,
106
106
  keyspace_check_timeout=60,
107
107
  architecture="x86_64",
108
- custom_redis_server_path=None,
109
- custom_redis_conf_path=None,
110
108
  ):
111
109
  (
112
110
  _,
@@ -116,116 +114,6 @@ def remote_db_spin(
116
114
  modules_configuration_parameters_map,
117
115
  ) = extract_redis_dbconfig_parameters(benchmark_config, "dbconfig")
118
116
 
119
- # Execute install_steps from dbconfig and clientconfig if present
120
- from redisbench_admin.run_remote.standalone import execute_install_steps
121
-
122
- if benchmark_config is not None:
123
- execute_install_steps(
124
- benchmark_config, server_public_ip, username, private_key, db_ssh_port
125
- )
126
-
127
- # Copy custom Redis files to remote host if provided
128
- remote_redis_server_path = None
129
- remote_redis_conf_path = None
130
-
131
- if custom_redis_server_path or custom_redis_conf_path:
132
- from redisbench_admin.utils.remote import copy_file_to_remote_setup
133
- import os
134
-
135
- if custom_redis_conf_path:
136
- # Convert relative paths to absolute paths
137
- custom_redis_conf_path = os.path.abspath(
138
- os.path.expanduser(custom_redis_conf_path)
139
- )
140
-
141
- if not os.path.exists(custom_redis_conf_path):
142
- logging.error(
143
- f"❌ Custom redis.conf file not found: {custom_redis_conf_path}"
144
- )
145
- return_code = 1
146
- return (None, None, None, [], [], return_code, None, None)
147
-
148
- remote_redis_conf_path = "/tmp/redis.conf"
149
- logging.info(
150
- f"📁 Copying custom redis.conf from {custom_redis_conf_path} to {remote_redis_conf_path}"
151
- )
152
-
153
- copy_result = copy_file_to_remote_setup(
154
- server_public_ip,
155
- username,
156
- private_key,
157
- custom_redis_conf_path,
158
- remote_redis_conf_path,
159
- None,
160
- db_ssh_port,
161
- False, # don't continue on error
162
- )
163
-
164
- if not copy_result:
165
- logging.error("❌ Failed to copy redis.conf to remote host")
166
- return_code = 1
167
- return (None, None, None, [], [], return_code, None, None)
168
- else:
169
- logging.info(
170
- f"✅ Successfully copied redis.conf to {remote_redis_conf_path}"
171
- )
172
-
173
- if custom_redis_server_path:
174
- # Convert relative paths to absolute paths
175
- custom_redis_server_path = os.path.abspath(
176
- os.path.expanduser(custom_redis_server_path)
177
- )
178
-
179
- if not os.path.exists(custom_redis_server_path):
180
- logging.error(
181
- f"❌ Custom redis-server binary not found: {custom_redis_server_path}"
182
- )
183
- return_code = 1
184
- return (None, None, None, [], [], return_code, None, None)
185
-
186
- remote_redis_server_path = "/tmp/redis-server"
187
- logging.info(
188
- f"📁 Copying custom redis-server binary from {custom_redis_server_path} to {remote_redis_server_path}"
189
- )
190
-
191
- copy_result = copy_file_to_remote_setup(
192
- server_public_ip,
193
- username,
194
- private_key,
195
- custom_redis_server_path,
196
- remote_redis_server_path,
197
- None,
198
- db_ssh_port,
199
- False, # don't continue on error
200
- )
201
-
202
- if not copy_result:
203
- logging.error("❌ Failed to copy redis-server binary to remote host")
204
- return_code = 1
205
- return (None, None, None, [], [], return_code, None, None)
206
-
207
- # Make the binary executable
208
- chmod_commands = [f"chmod +x {remote_redis_server_path}"]
209
- chmod_results = execute_remote_commands(
210
- server_public_ip, username, private_key, chmod_commands, db_ssh_port
211
- )
212
-
213
- recv_exit_status, stdout, stderr = chmod_results[0]
214
- if recv_exit_status != 0:
215
- logging.warning(
216
- f"⚠️ Failed to make redis-server binary executable: {stderr}"
217
- )
218
- else:
219
- logging.info(
220
- f"✅ Successfully copied and made executable: {remote_redis_server_path}"
221
- )
222
-
223
- # Update the custom paths to use the remote paths
224
- if remote_redis_server_path:
225
- custom_redis_server_path = remote_redis_server_path
226
- if remote_redis_conf_path:
227
- custom_redis_conf_path = remote_redis_conf_path
228
-
229
117
  full_logfiles = []
230
118
  cluster_enabled = False
231
119
  if setup_type == "oss-cluster":
@@ -319,8 +207,6 @@ def remote_db_spin(
319
207
  db_ssh_port,
320
208
  modules_configuration_parameters_map,
321
209
  redis_7,
322
- custom_redis_server_path,
323
- custom_redis_conf_path,
324
210
  )
325
211
  full_logfiles.append(full_logfile)
326
212
  local_redis_conn, ssh_tunnel = ssh_tunnel_redisconn(
@@ -4,7 +4,6 @@
4
4
  # All rights reserved.
5
5
  #
6
6
  import logging
7
- import os
8
7
  import random
9
8
  import string
10
9
  import sys
@@ -35,7 +34,7 @@ from redisbench_admin.run.common import (
35
34
  )
36
35
  from redisbench_admin.run.git import git_vars_crosscheck
37
36
  from redisbench_admin.run.grafana import generate_artifacts_table_grafana_redis
38
- from redisbench_admin.run.modules import redis_modules_check, redis_files_check
37
+ from redisbench_admin.run.modules import redis_modules_check
39
38
  from redisbench_admin.run.redistimeseries import (
40
39
  timeseries_test_sucess_flow,
41
40
  timeseries_test_failure_flow,
@@ -229,25 +228,6 @@ def run_remote_command_logic(args, project_name, project_version):
229
228
  )
230
229
  )
231
230
 
232
- # Validate Redis server binary and config file paths early
233
- redis_files_check_status, redis_error_message = redis_files_check(
234
- args.redis_server_binary, args.redis_conf
235
- )
236
- if redis_files_check_status is False:
237
- if webhook_notifications_active:
238
- failure_reason = redis_error_message
239
- generate_failure_notification(
240
- webhook_client_slack,
241
- ci_job_name,
242
- ci_job_link,
243
- failure_reason,
244
- tf_github_org,
245
- tf_github_repo,
246
- tf_github_branch,
247
- None,
248
- )
249
- exit(1)
250
-
251
231
  common_properties_log(
252
232
  tf_bin_path,
253
233
  tf_github_actor,
@@ -290,31 +270,6 @@ def run_remote_command_logic(args, project_name, project_version):
290
270
  logging.error("❌ --spin-test requires server_public_ip in --inventory")
291
271
  exit(1)
292
272
 
293
- # Load benchmark config from defaults.yml
294
- benchmark_config = None
295
-
296
- # Try to load defaults.yml
297
- defaults_file = (
298
- args.defaults_filename
299
- if hasattr(args, "defaults_filename")
300
- else "defaults.yml"
301
- )
302
- if os.path.exists(defaults_file):
303
- try:
304
- import yaml
305
-
306
- with open(defaults_file, "r") as config_file:
307
- defaults_config = yaml.safe_load(config_file)
308
- if defaults_config:
309
- benchmark_config = defaults_config
310
- logging.info(f"📋 Loaded configuration from {defaults_file}")
311
- except Exception as e:
312
- logging.warning(f"⚠️ Failed to load defaults config: {e}")
313
- else:
314
- logging.info(
315
- f"📋 No {defaults_file} found - proceeding without install_steps"
316
- )
317
-
318
273
  # Run spin test
319
274
  success = spin_test_standalone_redis(
320
275
  server_public_ip=server_public_ip,
@@ -327,7 +282,6 @@ def run_remote_command_logic(args, project_name, project_version):
327
282
  modules_configuration_parameters_map=None,
328
283
  custom_redis_conf_path=args.redis_conf,
329
284
  custom_redis_server_path=args.redis_server_binary,
330
- benchmark_config=benchmark_config,
331
285
  )
332
286
 
333
287
  exit(0 if success else 1)
@@ -339,7 +293,6 @@ def run_remote_command_logic(args, project_name, project_version):
339
293
  exporter_timemetric_path,
340
294
  default_specs,
341
295
  clusterconfig,
342
- _,
343
296
  ) = prepare_benchmark_definitions(args)
344
297
 
345
298
  return_code = 0
@@ -685,8 +638,6 @@ def run_remote_command_logic(args, project_name, project_version):
685
638
  continue_on_module_check_error,
686
639
  60,
687
640
  architecture,
688
- args.redis_server_binary,
689
- args.redis_conf,
690
641
  )
691
642
  if benchmark_type == "read-only":
692
643
  ro_benchmark_set(