redisbench-admin 0.10.20__tar.gz → 0.10.22__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 (243) hide show
  1. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/PKG-INFO +1 -1
  2. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/pyproject.toml +1 -1
  3. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/compare/compare.py +1 -1
  4. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/args.py +8 -1
  5. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_local/args.py +9 -0
  6. redisbench_admin-0.10.22/redisbench_admin/run_local/local_db.py +216 -0
  7. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_local/run_local.py +54 -7
  8. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/args.py +0 -7
  9. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/remote.py +2 -2
  10. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/setup.py +1 -1
  11. redisbench_admin-0.10.20/redisbench_admin/run_local/local_db.py +0 -185
  12. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/LICENSE +0 -0
  13. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/README.md +0 -0
  14. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/__init__.py +0 -0
  15. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/cli.py +0 -0
  16. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/commands/__init__.py +0 -0
  17. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/commands/commands.json.py +0 -0
  18. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/compare/__init__.py +0 -0
  19. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/compare/args.py +0 -0
  20. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/deploy/__init__.py +0 -0
  21. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/deploy/args.py +0 -0
  22. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/deploy/deploy.py +0 -0
  23. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/environments/__init__.py +0 -0
  24. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/environments/oss_cluster.py +0 -0
  25. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/environments/oss_standalone.py +0 -0
  26. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/__init__.py +0 -0
  27. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/args.py +0 -0
  28. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/common/__init__.py +0 -0
  29. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/common/common.py +0 -0
  30. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/export.py +0 -0
  31. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
  32. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
  33. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
  34. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
  35. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/pyperf/__init__.py +0 -0
  36. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
  37. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
  38. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
  39. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
  40. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/extract/__init__.py +0 -0
  41. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/extract/args.py +0 -0
  42. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/extract/extract.py +0 -0
  43. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/grafana_api/__init__.py +0 -0
  44. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/grafana_api/app.py +0 -0
  45. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/grafana_api/args.py +0 -0
  46. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/grafana_api/grafana_api.py +0 -0
  47. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/__init__.py +0 -0
  48. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/daemon.py +0 -0
  49. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/flamegraph.pl +0 -0
  50. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/perf.py +0 -0
  51. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
  52. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/pprof.py +0 -0
  53. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/profilers.py +0 -0
  54. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/profilers_local.py +0 -0
  55. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/profilers_schema.py +0 -0
  56. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
  57. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/profilers/vtune.py +0 -0
  58. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/__init__.py +0 -0
  59. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
  60. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
  61. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/__init__.py +0 -0
  62. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/ann.py +0 -0
  63. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/.dockerignore +0 -0
  64. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/.git +0 -0
  65. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/.github/workflows/benchmarks.yml +0 -0
  66. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/.gitignore +0 -0
  67. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/LICENSE +0 -0
  68. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/README.md +0 -0
  69. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/algos.yaml +0 -0
  70. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/algosP.yaml +0 -0
  71. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/__init__.py +0 -0
  72. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/__init__.py +0 -0
  73. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/annoy.py +0 -0
  74. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/balltree.py +0 -0
  75. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/base.py +0 -0
  76. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/bruteforce.py +0 -0
  77. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/ckdtree.py +0 -0
  78. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/datasketch.py +0 -0
  79. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/definitions.py +0 -0
  80. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/diskann.py +0 -0
  81. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dolphinnpy.py +0 -0
  82. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dummy_algo.py +0 -0
  83. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elasticsearch.py +0 -0
  84. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elastiknn.py +0 -0
  85. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss.py +0 -0
  86. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_gpu.py +0 -0
  87. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_hnsw.py +0 -0
  88. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/flann.py +0 -0
  89. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/hnswlib.py +0 -0
  90. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kdtree.py +0 -0
  91. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kgraph.py +0 -0
  92. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/lshf.py +0 -0
  93. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/milvus.py +0 -0
  94. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/mrpt.py +0 -0
  95. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/n2.py +0 -0
  96. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nearpy.py +0 -0
  97. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nmslib.py +0 -0
  98. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/onng_ngt.py +0 -0
  99. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/opensearchknn.py +0 -0
  100. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/panng_ngt.py +0 -0
  101. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pinecone.py +0 -0
  102. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/puffinn.py +0 -0
  103. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pynndescent.py +0 -0
  104. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/qg_ngt.py +0 -0
  105. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/redisearch.py +0 -0
  106. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/rpforest.py +0 -0
  107. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/scann.py +0 -0
  108. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/sptag.py +0 -0
  109. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/subprocess.py +0 -0
  110. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vald.py +0 -0
  111. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vecsim-hnsw.py +0 -0
  112. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vespa.py +0 -0
  113. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/constants.py +0 -0
  114. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/data.py +0 -0
  115. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/datasets.py +0 -0
  116. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/distance.py +0 -0
  117. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/main.py +0 -0
  118. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/__init__.py +0 -0
  119. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/metrics.py +0 -0
  120. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/plot_variants.py +0 -0
  121. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/utils.py +0 -0
  122. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/results.py +0 -0
  123. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/ann_benchmarks/runner.py +0 -0
  124. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/create_dataset.py +0 -0
  125. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/create_hybrid_dataset.py +0 -0
  126. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/create_text_to_image_ds.py +0 -0
  127. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/create_website.py +0 -0
  128. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile +0 -0
  129. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.annoy +0 -0
  130. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.datasketch +0 -0
  131. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann +0 -0
  132. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann_pq +0 -0
  133. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.dolphinn +0 -0
  134. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.elasticsearch +0 -0
  135. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.elastiknn +0 -0
  136. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.faiss +0 -0
  137. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.flann +0 -0
  138. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.hnswlib +0 -0
  139. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.kgraph +0 -0
  140. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.mih +0 -0
  141. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.milvus +0 -0
  142. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.mrpt +0 -0
  143. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.n2 +0 -0
  144. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.nearpy +0 -0
  145. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.ngt +0 -0
  146. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.nmslib +0 -0
  147. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.opensearchknn +0 -0
  148. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.puffinn +0 -0
  149. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.pynndescent +0 -0
  150. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.redisearch +0 -0
  151. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.rpforest +0 -0
  152. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.scann +0 -0
  153. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.scipy +0 -0
  154. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.sklearn +0 -0
  155. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.sptag +0 -0
  156. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.vald +0 -0
  157. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install/Dockerfile.vespa +0 -0
  158. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/install.py +0 -0
  159. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/logging.conf +0 -0
  160. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/multirun.py +0 -0
  161. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/plot.py +0 -0
  162. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/bf-runner +0 -0
  163. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/bf-runner.py +0 -0
  164. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/ext-add-query-metric.md +0 -0
  165. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/ext-batch-queries.md +0 -0
  166. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/ext-prepared-queries.md +0 -0
  167. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/ext-query-parameters.md +0 -0
  168. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/protocol/specification.md +0 -0
  169. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/requirements.txt +0 -0
  170. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/requirements_py38.txt +0 -0
  171. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/fashion-mnist-784-euclidean.png +0 -0
  172. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/gist-960-euclidean.png +0 -0
  173. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/glove-100-angular.png +0 -0
  174. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/glove-25-angular.png +0 -0
  175. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/lastfm-64-dot.png +0 -0
  176. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/mnist-784-euclidean.png +0 -0
  177. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/nytimes-256-angular.png +0 -0
  178. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/results/sift-128-euclidean.png +0 -0
  179. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/run.py +0 -0
  180. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/run_algorithm.py +0 -0
  181. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/templates/chartjs.template +0 -0
  182. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/templates/detail_page.html +0 -0
  183. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/templates/general.html +0 -0
  184. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/templates/latex.template +0 -0
  185. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/templates/summary.html +0 -0
  186. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/test/__init__.py +0 -0
  187. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/test/test-jaccard.py +0 -0
  188. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ann/pkg/test/test-metrics.py +0 -0
  189. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/cluster.py +0 -0
  190. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/common.py +0 -0
  191. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ftsb/__init__.py +0 -0
  192. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ftsb/ftsb.py +0 -0
  193. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/git.py +0 -0
  194. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/grafana.py +0 -0
  195. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
  196. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
  197. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/metrics.py +0 -0
  198. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/modules.py +0 -0
  199. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
  200. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
  201. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
  202. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
  203. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/redistimeseries.py +0 -0
  204. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/run.py +0 -0
  205. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/s3.py +0 -0
  206. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ssh.py +0 -0
  207. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
  208. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
  209. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ycsb/__init__.py +0 -0
  210. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run/ycsb/ycsb.py +0 -0
  211. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/__init__.py +0 -0
  212. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/async_env.py +0 -0
  213. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/async_terraform.py +0 -0
  214. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/benchmark.py +0 -0
  215. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/log.py +0 -0
  216. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/render_files.py +0 -0
  217. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_async/run_async.py +0 -0
  218. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_local/__init__.py +0 -0
  219. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_local/local_client.py +0 -0
  220. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_local/local_helpers.py +0 -0
  221. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/__init__.py +0 -0
  222. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/consts.py +0 -0
  223. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/log.py +0 -0
  224. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/notifications.py +0 -0
  225. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/remote_client.py +0 -0
  226. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/remote_db.py +0 -0
  227. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/remote_env.py +0 -0
  228. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/remote_failures.py +0 -0
  229. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/remote_helpers.py +0 -0
  230. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/run_remote.py +0 -0
  231. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/standalone.py +0 -0
  232. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/run_remote/terraform.py +0 -0
  233. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/__init__.py +0 -0
  234. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/benchmark_config.py +0 -0
  235. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/local.py +0 -0
  236. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/redisearch.py +0 -0
  237. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
  238. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/results.py +0 -0
  239. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/ssh.py +0 -0
  240. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/utils/utils.py +0 -0
  241. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/watchdog/__init__.py +0 -0
  242. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/redisbench_admin/watchdog/args.py +0 -0
  243. {redisbench_admin-0.10.20 → redisbench_admin-0.10.22}/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.10.20
3
+ Version: 0.10.22
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.10.20"
3
+ version = "0.10.22"
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"
@@ -722,7 +722,7 @@ def from_rts_to_regression_table(
722
722
  total_comparison_points = 0
723
723
  noise_waterline = 3
724
724
  progress = tqdm(unit="benchmark time-series", total=len(test_names))
725
- at_comparison=0
725
+ at_comparison = 0
726
726
  for test_name in test_names:
727
727
  multi_value_baseline = check_multi_value_filter(baseline_str)
728
728
  multi_value_comparison = check_multi_value_filter(comparison_str)
@@ -40,9 +40,10 @@ COMMANDSTATS_ENABLED = bool(int(os.getenv("COMMANDSTATS_ENABLED", 1)))
40
40
  PROFILERS = os.getenv("PROFILERS", PROFILERS_DEFAULT)
41
41
  MAX_PROFILERS_PER_TYPE = int(os.getenv("MAX_PROFILERS", 1))
42
42
  PROFILE_FREQ = os.getenv("PROFILE_FREQ", PROFILE_FREQ_DEFAULT)
43
- KEEP_ENV = bool(os.getenv("KEEP_ENV", False))
43
+ KEEP_ENV = bool(int(os.getenv("KEEP_ENV", "0")))
44
44
  ALLOWED_TOOLS_DEFAULT = "memtier_benchmark,redis-benchmark,redisgraph-benchmark-go,ycsb,go-ycsb,tsbs_run_queries_redistimeseries,tsbs_load_redistimeseries,ftsb_redisearch,aibench_run_inference_redisai_vision,ann-benchmarks"
45
45
  ALLOWED_BENCH_TOOLS = os.getenv("ALLOWED_BENCH_TOOLS", ALLOWED_TOOLS_DEFAULT)
46
+ SKIP_DB_SETUP = bool(int(os.getenv("SKIP_DB_SETUP", "0")))
46
47
 
47
48
 
48
49
  def common_run_args(parser):
@@ -53,6 +54,12 @@ def common_run_args(parser):
53
54
  action="store_true",
54
55
  help="Keep environment and topology up after benchmark.",
55
56
  )
57
+ parser.add_argument(
58
+ "--skip-db-setup",
59
+ type=bool,
60
+ default=SKIP_DB_SETUP,
61
+ help="skip db setup/teardown steps. Usefull when you want to target an existing DB",
62
+ )
56
63
  parser.add_argument(
57
64
  "--fail_fast",
58
65
  required=False,
@@ -3,13 +3,22 @@
3
3
  # Copyright (c) 2021., Redis Labs Modules
4
4
  # All rights reserved.
5
5
  #
6
+ import os
6
7
 
7
8
  from redisbench_admin.run.args import common_run_args
8
9
  from redisbench_admin.run.common import REDIS_BINARY
9
10
 
11
+ FLUSHALL_AT_START = bool(int(os.getenv("FLUSHALL_AT_START", "0")))
12
+
10
13
 
11
14
  def create_run_local_arguments(parser):
12
15
  parser = common_run_args(parser)
13
16
  parser.add_argument("--port", type=int, default=6379)
14
17
  parser.add_argument("--redis-binary", type=str, default=REDIS_BINARY)
18
+ parser.add_argument(
19
+ "--flushall_on_every_test_start",
20
+ type=bool,
21
+ default=FLUSHALL_AT_START,
22
+ help="At the start of every test send a FLUSHALL",
23
+ )
15
24
  return parser
@@ -0,0 +1,216 @@
1
+ # BSD 3-Clause License
2
+ #
3
+ # Copyright (c) 2021., Redis Labs Modules
4
+ # All rights reserved.
5
+ #
6
+ import logging
7
+ import tempfile
8
+ import datetime
9
+
10
+ import redis
11
+
12
+ from redisbench_admin.run.run import calculate_client_tool_duration_and_check
13
+ from redisbench_admin.run_local.local_helpers import (
14
+ check_benchmark_binaries_local_requirements,
15
+ run_local_benchmark,
16
+ )
17
+
18
+ from redisbench_admin.environments.oss_cluster import (
19
+ spin_up_local_redis_cluster,
20
+ setup_redis_cluster_from_conns,
21
+ )
22
+ from redisbench_admin.environments.oss_standalone import spin_up_local_redis
23
+ from redisbench_admin.run.cluster import cluster_init_steps
24
+ from redisbench_admin.run.common import (
25
+ run_redis_pre_steps,
26
+ check_dbconfig_tool_requirement,
27
+ prepare_benchmark_parameters,
28
+ dbconfig_keyspacelen_check,
29
+ )
30
+ from redisbench_admin.utils.benchmark_config import extract_redis_dbconfig_parameters
31
+ from redisbench_admin.utils.local import (
32
+ check_dataset_local_requirements,
33
+ is_process_alive,
34
+ )
35
+
36
+
37
+ def local_db_spin(
38
+ binary,
39
+ args,
40
+ benchmark_config,
41
+ clusterconfig,
42
+ dbdir_folder,
43
+ dirname,
44
+ local_module_file,
45
+ redis_processes,
46
+ required_modules,
47
+ setup_type,
48
+ shard_count,
49
+ flushall_on_every_test_start=False,
50
+ ):
51
+ redis_conns = []
52
+ artifact_version = "n/a"
53
+ result = True
54
+ temporary_dir = tempfile.mkdtemp()
55
+ cluster_api_enabled = False
56
+ if setup_type == "oss-cluster":
57
+ cluster_api_enabled = True
58
+ dataset, dataset_name, _, _ = check_dataset_local_requirements(
59
+ benchmark_config,
60
+ temporary_dir,
61
+ dirname,
62
+ "./datasets",
63
+ "dbconfig",
64
+ shard_count,
65
+ cluster_api_enabled,
66
+ )
67
+
68
+ if args.skip_db_setup:
69
+ logging.info("Skipping DB Setup...")
70
+ if dataset is not None:
71
+ logging.info("Given this benchmark requires an RDB load will skip it...")
72
+ result = False
73
+ return (
74
+ result,
75
+ artifact_version,
76
+ cluster_api_enabled,
77
+ redis_conns,
78
+ redis_processes,
79
+ )
80
+ else:
81
+ # setup Redis
82
+ # copy the rdb to DB machine
83
+ redis_7 = args.redis_7
84
+ logging.info(
85
+ "Using local temporary dir to spin up Redis Instance. Path: {}".format(
86
+ temporary_dir
87
+ )
88
+ )
89
+ if dbdir_folder is not None:
90
+ from distutils.dir_util import copy_tree
91
+
92
+ copy_tree(dbdir_folder, temporary_dir)
93
+ logging.info(
94
+ "Copied entire content of {} into temporary path: {}".format(
95
+ dbdir_folder, temporary_dir
96
+ )
97
+ )
98
+ (
99
+ _,
100
+ _,
101
+ redis_configuration_parameters,
102
+ dataset_load_timeout_secs,
103
+ modules_configuration_parameters_map,
104
+ ) = extract_redis_dbconfig_parameters(benchmark_config, "dbconfig")
105
+
106
+ logging.info(
107
+ "Using a dataset load timeout of {} seconds.".format(
108
+ dataset_load_timeout_secs
109
+ )
110
+ )
111
+
112
+ if setup_type == "oss-cluster":
113
+ cluster_api_enabled = True
114
+ shard_host = "127.0.0.1"
115
+ redis_processes, redis_conns = spin_up_local_redis_cluster(
116
+ binary,
117
+ temporary_dir,
118
+ shard_count,
119
+ shard_host,
120
+ args.port,
121
+ local_module_file,
122
+ redis_configuration_parameters,
123
+ dataset_load_timeout_secs,
124
+ modules_configuration_parameters_map,
125
+ redis_7,
126
+ )
127
+
128
+ status = setup_redis_cluster_from_conns(
129
+ redis_conns, shard_count, shard_host, args.port
130
+ )
131
+ if status is False:
132
+ raise Exception("Redis cluster setup failed. Failing test.")
133
+
134
+ if setup_type == "oss-standalone":
135
+ redis_processes = spin_up_local_redis(
136
+ binary,
137
+ args.port,
138
+ temporary_dir,
139
+ local_module_file,
140
+ redis_configuration_parameters,
141
+ dbdir_folder,
142
+ dataset_load_timeout_secs,
143
+ modules_configuration_parameters_map,
144
+ redis_7,
145
+ )
146
+ if setup_type == "oss-cluster":
147
+ for shardn, redis_process in enumerate(redis_processes):
148
+ logging.info(
149
+ "Checking if shard #{} process with pid={} is alive".format(
150
+ shardn + 1, redis_process.pid
151
+ )
152
+ )
153
+ if is_process_alive(redis_process) is False:
154
+ raise Exception("Redis process is not alive. Failing test.")
155
+ cluster_init_steps(clusterconfig, redis_conns, local_module_file)
156
+
157
+ if setup_type == "oss-standalone":
158
+ r = redis.Redis(port=args.port)
159
+ r.ping()
160
+ r.client_setname("redisbench-admin-standalone")
161
+ redis_conns.append(r)
162
+
163
+ if dataset is None:
164
+ if flushall_on_every_test_start:
165
+ logging.info("Will flush all data at test start...")
166
+ for shard_n, shard_conn in enumerate(redis_conns):
167
+ logging.info(f"Flushing all in shard {shard_n}...")
168
+ shard_conn.flushall()
169
+
170
+ if check_dbconfig_tool_requirement(benchmark_config):
171
+ logging.info("Detected the requirements to load data via client tool")
172
+ local_benchmark_output_filename = "{}/load-data.txt".format(temporary_dir)
173
+ (
174
+ benchmark_tool,
175
+ full_benchmark_path,
176
+ benchmark_tool_workdir,
177
+ ) = check_benchmark_binaries_local_requirements(
178
+ benchmark_config, args.allowed_tools, "./binaries", "dbconfig"
179
+ )
180
+
181
+ # prepare the benchmark command
182
+ command, command_str = prepare_benchmark_parameters(
183
+ benchmark_config,
184
+ full_benchmark_path,
185
+ args.port,
186
+ "localhost",
187
+ local_benchmark_output_filename,
188
+ False,
189
+ benchmark_tool_workdir,
190
+ cluster_api_enabled,
191
+ "dbconfig",
192
+ )
193
+
194
+ # run the benchmark
195
+ load_via_benchmark_start_time = datetime.datetime.now()
196
+ run_local_benchmark(benchmark_tool, command)
197
+ load_via_benchmark_end_time = datetime.datetime.now()
198
+ load_via_benchmark_duration_seconds = calculate_client_tool_duration_and_check(
199
+ load_via_benchmark_end_time, load_via_benchmark_start_time
200
+ )
201
+ logging.info(
202
+ "Loading data via benchmark tool took {} secs.".format(
203
+ load_via_benchmark_duration_seconds
204
+ )
205
+ )
206
+
207
+ dbconfig_keyspacelen_check(
208
+ benchmark_config,
209
+ redis_conns,
210
+ )
211
+
212
+ artifact_version = run_redis_pre_steps(
213
+ benchmark_config, redis_conns[0], required_modules
214
+ )
215
+
216
+ return result, artifact_version, cluster_api_enabled, redis_conns, redis_processes
@@ -11,6 +11,7 @@ import sys
11
11
  import datetime
12
12
  import traceback
13
13
  import redis
14
+ from redisbench_admin.run.git import git_vars_crosscheck
14
15
 
15
16
  import redisbench_admin.run.metrics
16
17
  from redisbench_admin.profilers.perf import PERF_CALLGRAPH_MODE
@@ -30,7 +31,10 @@ from redisbench_admin.run.metrics import (
30
31
  from_info_to_overall_shard_cpu,
31
32
  collect_cpu_data,
32
33
  )
33
- from redisbench_admin.run.redistimeseries import datasink_profile_tabular_data
34
+ from redisbench_admin.run.redistimeseries import (
35
+ datasink_profile_tabular_data,
36
+ timeseries_test_sucess_flow,
37
+ )
34
38
  from redisbench_admin.run.run import (
35
39
  calculate_client_tool_duration_and_check,
36
40
  define_benchmark_plan,
@@ -49,6 +53,7 @@ from redisbench_admin.profilers.profilers_local import (
49
53
  from redisbench_admin.utils.benchmark_config import (
50
54
  prepare_benchmark_definitions,
51
55
  results_dict_kpi_check,
56
+ get_metadata_tags,
52
57
  )
53
58
  from redisbench_admin.utils.local import (
54
59
  get_local_run_full_filename,
@@ -67,20 +72,28 @@ def run_local_command_logic(args, project_name, project_version):
67
72
  project_name=project_name, project_version=project_version
68
73
  )
69
74
  )
75
+ tf_github_org = args.github_org
76
+ tf_github_actor = args.github_actor
77
+ tf_github_repo = args.github_repo
78
+ tf_github_sha = args.github_sha
79
+ tf_github_branch = args.github_branch
80
+
70
81
  (
82
+ github_actor,
83
+ github_branch,
71
84
  github_org_name,
72
85
  github_repo_name,
73
86
  github_sha,
74
- github_actor,
75
- github_branch,
76
- github_branch_detached,
77
- ) = extract_git_vars()
87
+ ) = git_vars_crosscheck(
88
+ tf_github_actor, tf_github_branch, tf_github_org, tf_github_repo, tf_github_sha
89
+ )
78
90
 
79
91
  dbdir_folder = args.dbdir_folder
80
92
  os.path.abspath(".")
81
93
  required_modules = args.required_module
82
94
  profilers_enabled = args.enable_profilers
83
95
  s3_bucket_name = args.s3_bucket_name
96
+ flushall_on_every_test_start = args.flushall_on_every_test_start
84
97
  profilers_list = []
85
98
  if profilers_enabled:
86
99
  profilers_list = args.profilers.split(",")
@@ -125,7 +138,7 @@ def run_local_command_logic(args, project_name, project_version):
125
138
  _,
126
139
  benchmark_definitions,
127
140
  default_metrics,
128
- _,
141
+ exporter_timemetric_path,
129
142
  default_specs,
130
143
  clusterconfig,
131
144
  ) = prepare_benchmark_definitions(args)
@@ -189,6 +202,8 @@ def run_local_command_logic(args, project_name, project_version):
189
202
  if " " in binary:
190
203
  binary = binary.split(" ")
191
204
  (
205
+ result_db_spin,
206
+ artifact_version,
192
207
  cluster_api_enabled,
193
208
  redis_conns,
194
209
  redis_processes,
@@ -204,7 +219,13 @@ def run_local_command_logic(args, project_name, project_version):
204
219
  required_modules,
205
220
  setup_type,
206
221
  shard_count,
222
+ flushall_on_every_test_start,
207
223
  )
224
+ if result_db_spin is False:
225
+ logging.warning(
226
+ "Skipping this test given DB spin stage failed..."
227
+ )
228
+ continue
208
229
  if benchmark_type == "read-only":
209
230
  logging.info(
210
231
  "Given the benchmark for this setup is ready-only we will prepare to reuse it on the next read-only benchmarks (if any )."
@@ -352,6 +373,7 @@ def run_local_command_logic(args, project_name, project_version):
352
373
  s3_bucket_name,
353
374
  test_name,
354
375
  )
376
+
355
377
  if (
356
378
  profilers_enabled
357
379
  and args.push_results_redistimeseries
@@ -377,7 +399,7 @@ def run_local_command_logic(args, project_name, project_version):
377
399
  start_time_str,
378
400
  stdout,
379
401
  )
380
-
402
+ results_dict = {}
381
403
  with open(
382
404
  local_benchmark_output_filename, "r"
383
405
  ) as json_file:
@@ -395,6 +417,31 @@ def run_local_command_logic(args, project_name, project_version):
395
417
  return_code = results_dict_kpi_check(
396
418
  benchmark_config, results_dict, return_code
397
419
  )
420
+
421
+ metadata_tags = get_metadata_tags(benchmark_config)
422
+ (
423
+ _,
424
+ branch_target_tables,
425
+ ) = timeseries_test_sucess_flow(
426
+ args.push_results_redistimeseries,
427
+ artifact_version,
428
+ benchmark_config,
429
+ benchmark_duration_seconds,
430
+ 0,
431
+ default_metrics,
432
+ setup_name,
433
+ setup_type,
434
+ exporter_timemetric_path,
435
+ results_dict,
436
+ rts,
437
+ start_time_ms,
438
+ test_name,
439
+ github_branch,
440
+ github_org_name,
441
+ github_repo_name,
442
+ tf_triggering_env,
443
+ )
444
+
398
445
  if setup_details["env"] is None:
399
446
  if args.keep_env_and_topo is False:
400
447
  for conn in redis_conns:
@@ -21,7 +21,6 @@ TF_OVERRIDE_NAME = os.getenv("TF_OVERRIDE_NAME", None)
21
21
  REMOTE_DB_PORT = int(os.getenv("REMOTE_DB_PORT", "6379"))
22
22
  REMOTE_DB_PASS = os.getenv("REMOTE_DB_PASS", None)
23
23
  REMOTE_PRIVATE_KEYNAME = os.getenv("REMOTE_PRIVATE_KEYNAME", DEFAULT_PRIVATE_KEY)
24
- REMOTE_SKIP_DB_SETUP = bool(int(os.getenv("REMOTE_SKIP_DB_SETUP", "0")))
25
24
  FLUSHALL_AT_START = bool(int(os.getenv("FLUSHALL_AT_START", "0")))
26
25
  FLUSHALL_AT_END = bool(int(os.getenv("FLUSHALL_AT_END", "0")))
27
26
  IGNORE_KEYSPACE_ERRORS = bool(int(os.getenv("IGNORE_KEYSPACE_ERRORS", "0")))
@@ -60,12 +59,6 @@ def create_run_remote_arguments(parser):
60
59
  )
61
60
  parser.add_argument("--db_port", type=int, default=REMOTE_DB_PORT)
62
61
  parser.add_argument("--db_pass", type=str, default=REMOTE_DB_PASS)
63
- parser.add_argument(
64
- "--skip-db-setup",
65
- type=bool,
66
- default=REMOTE_SKIP_DB_SETUP,
67
- help="skip db setup/teardown steps. Usefull when you want to target an existing DB",
68
- )
69
62
  parser.add_argument(
70
63
  "--flushall_on_every_test_start",
71
64
  type=bool,
@@ -30,7 +30,7 @@ from redisbench_admin.utils.utils import (
30
30
  )
31
31
 
32
32
  # environment variables
33
- PERFORMANCE_RTS_PUSH = bool(os.getenv("PUSH_RTS", False))
33
+ PERFORMANCE_RTS_PUSH = bool(int(os.getenv("PUSH_RTS", "0")))
34
34
  PERFORMANCE_RTS_AUTH = os.getenv("PERFORMANCE_RTS_AUTH", None)
35
35
  PERFORMANCE_RTS_USER = os.getenv("PERFORMANCE_RTS_USER", None)
36
36
  PERFORMANCE_RTS_HOST = os.getenv("PERFORMANCE_RTS_HOST", "localhost")
@@ -51,7 +51,7 @@ def get_git_root(path):
51
51
 
52
52
  def view_bar_simple(a, b):
53
53
  res = a / int(b) * 100
54
- sys.stdout.write("\r Complete precent: %.2f %%" % res)
54
+ sys.stdout.write("\r Complete percent: %.2f %%" % res)
55
55
  sys.stdout.flush()
56
56
 
57
57
 
@@ -82,7 +82,7 @@ entry_points = \
82
82
 
83
83
  setup_kwargs = {
84
84
  'name': 'redisbench-admin',
85
- 'version': '0.10.20',
85
+ 'version': '0.10.22',
86
86
  'description': 'Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).',
87
87
  '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',
88
88
  'author': 'filipecosta90',
@@ -1,185 +0,0 @@
1
- # BSD 3-Clause License
2
- #
3
- # Copyright (c) 2021., Redis Labs Modules
4
- # All rights reserved.
5
- #
6
- import logging
7
- import tempfile
8
- import datetime
9
-
10
- import redis
11
-
12
- from redisbench_admin.run.run import calculate_client_tool_duration_and_check
13
- from redisbench_admin.run_local.local_helpers import (
14
- check_benchmark_binaries_local_requirements,
15
- run_local_benchmark,
16
- )
17
-
18
- from redisbench_admin.environments.oss_cluster import (
19
- spin_up_local_redis_cluster,
20
- setup_redis_cluster_from_conns,
21
- )
22
- from redisbench_admin.environments.oss_standalone import spin_up_local_redis
23
- from redisbench_admin.run.cluster import cluster_init_steps
24
- from redisbench_admin.run.common import (
25
- run_redis_pre_steps,
26
- check_dbconfig_tool_requirement,
27
- prepare_benchmark_parameters,
28
- dbconfig_keyspacelen_check,
29
- )
30
- from redisbench_admin.utils.benchmark_config import extract_redis_dbconfig_parameters
31
- from redisbench_admin.utils.local import (
32
- check_dataset_local_requirements,
33
- is_process_alive,
34
- )
35
-
36
-
37
- def local_db_spin(
38
- binary,
39
- args,
40
- benchmark_config,
41
- clusterconfig,
42
- dbdir_folder,
43
- dirname,
44
- local_module_file,
45
- redis_processes,
46
- required_modules,
47
- setup_type,
48
- shard_count,
49
- ):
50
- # setup Redis
51
- # copy the rdb to DB machine
52
- temporary_dir = tempfile.mkdtemp()
53
- redis_7 = args.redis_7
54
- logging.info(
55
- "Using local temporary dir to spin up Redis Instance. Path: {}".format(
56
- temporary_dir
57
- )
58
- )
59
- if dbdir_folder is not None:
60
- from distutils.dir_util import copy_tree
61
-
62
- copy_tree(dbdir_folder, temporary_dir)
63
- logging.info(
64
- "Copied entire content of {} into temporary path: {}".format(
65
- dbdir_folder, temporary_dir
66
- )
67
- )
68
- (
69
- _,
70
- _,
71
- redis_configuration_parameters,
72
- dataset_load_timeout_secs,
73
- modules_configuration_parameters_map,
74
- ) = extract_redis_dbconfig_parameters(benchmark_config, "dbconfig")
75
- cluster_api_enabled = False
76
- logging.info(
77
- "Using a dataset load timeout of {} seconds.".format(dataset_load_timeout_secs)
78
- )
79
- redis_conns = []
80
- if setup_type == "oss-cluster":
81
- cluster_api_enabled = True
82
- shard_host = "127.0.0.1"
83
- redis_processes, redis_conns = spin_up_local_redis_cluster(
84
- binary,
85
- temporary_dir,
86
- shard_count,
87
- shard_host,
88
- args.port,
89
- local_module_file,
90
- redis_configuration_parameters,
91
- dataset_load_timeout_secs,
92
- modules_configuration_parameters_map,
93
- redis_7,
94
- )
95
-
96
- status = setup_redis_cluster_from_conns(
97
- redis_conns, shard_count, shard_host, args.port
98
- )
99
- if status is False:
100
- raise Exception("Redis cluster setup failed. Failing test.")
101
-
102
- dataset, dataset_name, _, _ = check_dataset_local_requirements(
103
- benchmark_config,
104
- temporary_dir,
105
- dirname,
106
- "./datasets",
107
- "dbconfig",
108
- shard_count,
109
- cluster_api_enabled,
110
- )
111
- if setup_type == "oss-standalone":
112
- redis_processes = spin_up_local_redis(
113
- binary,
114
- args.port,
115
- temporary_dir,
116
- local_module_file,
117
- redis_configuration_parameters,
118
- dbdir_folder,
119
- dataset_load_timeout_secs,
120
- modules_configuration_parameters_map,
121
- redis_7,
122
- )
123
-
124
- r = redis.Redis(port=args.port)
125
- r.ping()
126
- r.client_setname("redisbench-admin-stadalone")
127
- redis_conns.append(r)
128
- if setup_type == "oss-cluster":
129
- for shardn, redis_process in enumerate(redis_processes):
130
- logging.info(
131
- "Checking if shard #{} process with pid={} is alive".format(
132
- shardn + 1, redis_process.pid
133
- )
134
- )
135
- if is_process_alive(redis_process) is False:
136
- raise Exception("Redis process is not alive. Failing test.")
137
-
138
- if setup_type == "oss-cluster":
139
- cluster_init_steps(clusterconfig, redis_conns, local_module_file)
140
-
141
- if check_dbconfig_tool_requirement(benchmark_config):
142
- logging.info("Detected the requirements to load data via client tool")
143
- local_benchmark_output_filename = "{}/load-data.txt".format(temporary_dir)
144
- (
145
- benchmark_tool,
146
- full_benchmark_path,
147
- benchmark_tool_workdir,
148
- ) = check_benchmark_binaries_local_requirements(
149
- benchmark_config, args.allowed_tools, "./binaries", "dbconfig"
150
- )
151
-
152
- # prepare the benchmark command
153
- command, command_str = prepare_benchmark_parameters(
154
- benchmark_config,
155
- full_benchmark_path,
156
- args.port,
157
- "localhost",
158
- local_benchmark_output_filename,
159
- False,
160
- benchmark_tool_workdir,
161
- cluster_api_enabled,
162
- "dbconfig",
163
- )
164
-
165
- # run the benchmark
166
- load_via_benchmark_start_time = datetime.datetime.now()
167
- run_local_benchmark(benchmark_tool, command)
168
- load_via_benchmark_end_time = datetime.datetime.now()
169
- load_via_benchmark_duration_seconds = calculate_client_tool_duration_and_check(
170
- load_via_benchmark_end_time, load_via_benchmark_start_time
171
- )
172
- logging.info(
173
- "Loading data via benchmark tool took {} secs.".format(
174
- load_via_benchmark_duration_seconds
175
- )
176
- )
177
-
178
- dbconfig_keyspacelen_check(
179
- benchmark_config,
180
- redis_conns,
181
- )
182
-
183
- run_redis_pre_steps(benchmark_config, redis_conns[0], required_modules)
184
-
185
- return cluster_api_enabled, redis_conns, redis_processes