redisbench-admin 0.10.29__tar.gz → 0.11.1__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.
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/PKG-INFO +14 -9
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/README.md +6 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/pyproject.toml +14 -9
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/compare/compare.py +0 -1
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/deploy/deploy.py +9 -1
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/export.py +7 -1
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/perf.py +24 -24
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/common.py +57 -7
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/run.py +47 -3
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/async_terraform.py +10 -2
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/render_files.py +3 -3
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/run_local.py +13 -15
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/run_remote.py +12 -12
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/terraform.py +5 -1
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/benchmark_config.py +13 -10
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/remote.py +27 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/.dockerignore +0 -2
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/.git +0 -1
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/.github/workflows/benchmarks.yml +0 -100
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/.gitignore +0 -21
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/LICENSE +0 -21
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/README.md +0 -157
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/algos.yaml +0 -1294
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/algosP.yaml +0 -67
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/__init__.py +0 -2
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/annoy.py +0 -26
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/balltree.py +0 -22
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/base.py +0 -36
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/bruteforce.py +0 -110
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/ckdtree.py +0 -17
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/datasketch.py +0 -29
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/definitions.py +0 -187
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/diskann.py +0 -190
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dolphinnpy.py +0 -31
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dummy_algo.py +0 -25
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elasticsearch.py +0 -107
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elastiknn.py +0 -124
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss.py +0 -124
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_gpu.py +0 -61
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_hnsw.py +0 -39
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/flann.py +0 -27
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/hnswlib.py +0 -36
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kdtree.py +0 -22
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kgraph.py +0 -39
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/lshf.py +0 -25
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/milvus.py +0 -99
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/mrpt.py +0 -41
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/n2.py +0 -28
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nearpy.py +0 -48
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nmslib.py +0 -74
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/onng_ngt.py +0 -100
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/opensearchknn.py +0 -107
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/panng_ngt.py +0 -79
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pinecone.py +0 -39
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/puffinn.py +0 -45
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pynndescent.py +0 -115
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/qg_ngt.py +0 -102
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/redisearch.py +0 -90
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/rpforest.py +0 -20
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/scann.py +0 -34
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/sptag.py +0 -28
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/subprocess.py +0 -246
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vald.py +0 -149
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vecsim-hnsw.py +0 -43
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vespa.py +0 -47
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/constants.py +0 -1
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/data.py +0 -48
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/datasets.py +0 -620
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/distance.py +0 -53
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/main.py +0 -325
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/__init__.py +0 -2
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/metrics.py +0 -183
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/plot_variants.py +0 -17
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/utils.py +0 -165
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/results.py +0 -71
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/runner.py +0 -333
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/create_dataset.py +0 -12
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/create_hybrid_dataset.py +0 -147
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/create_text_to_image_ds.py +0 -117
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/create_website.py +0 -272
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile +0 -11
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.annoy +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.datasketch +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann +0 -29
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann_pq +0 -31
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.dolphinn +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.elasticsearch +0 -45
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.elastiknn +0 -61
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.faiss +0 -18
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.flann +0 -10
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.hnswlib +0 -10
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.kgraph +0 -6
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.mih +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.milvus +0 -27
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.mrpt +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.n2 +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.nearpy +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.ngt +0 -13
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.nmslib +0 -10
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.opensearchknn +0 -43
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.puffinn +0 -6
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.pynndescent +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.redisearch +0 -18
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.rpforest +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.scann +0 -5
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.scipy +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.sklearn +0 -4
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.sptag +0 -30
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.vald +0 -8
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install/Dockerfile.vespa +0 -17
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/install.py +0 -70
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/logging.conf +0 -34
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/multirun.py +0 -298
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/plot.py +0 -159
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/bf-runner +0 -10
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/bf-runner.py +0 -204
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/ext-add-query-metric.md +0 -51
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/ext-batch-queries.md +0 -77
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/ext-prepared-queries.md +0 -77
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/ext-query-parameters.md +0 -47
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/protocol/specification.md +0 -194
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/requirements.txt +0 -14
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/requirements_py38.txt +0 -11
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/fashion-mnist-784-euclidean.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/gist-960-euclidean.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/glove-100-angular.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/glove-25-angular.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/lastfm-64-dot.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/mnist-784-euclidean.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/nytimes-256-angular.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/results/sift-128-euclidean.png +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/run.py +0 -12
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/run_algorithm.py +0 -3
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/templates/chartjs.template +0 -102
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/templates/detail_page.html +0 -23
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/templates/general.html +0 -58
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/templates/latex.template +0 -30
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/templates/summary.html +0 -60
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/test/__init__.py +0 -0
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/test/test-jaccard.py +0 -19
- redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/test/test-metrics.py +0 -99
- redisbench_admin-0.10.29/redisbench_admin/run/ycsb/__init__.py +0 -0
- redisbench_admin-0.10.29/setup.py +0 -101
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/LICENSE +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/cli.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/commands/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/commands/commands.json.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/compare/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/compare/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/deploy/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/deploy/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/environments/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/environments/oss_cluster.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/environments/oss_standalone.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/common/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/common/common.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/pyperf/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/extract/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/extract/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/extract/extract.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/grafana_api/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/grafana_api/app.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/grafana_api/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/grafana_api/grafana_api.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/daemon.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/flamegraph.pl +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/pprof.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/profilers.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/profilers_local.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/profilers_schema.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/profilers/vtune.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ann/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ann/ann.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/cluster.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ftsb/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ftsb/ftsb.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/git.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/grafana.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/metrics.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/modules.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/redistimeseries.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/s3.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ssh.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
- {redisbench_admin-0.10.29/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms → redisbench_admin-0.11.1/redisbench_admin/run/ycsb}/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run/ycsb/ycsb.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/async_env.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/benchmark.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/log.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/run_async.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/local_client.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/local_db.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/local_helpers.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/consts.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/log.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/notifications.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/remote_client.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/remote_db.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/remote_env.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/remote_failures.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/remote_helpers.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/standalone.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/local.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/redisearch.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/results.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/ssh.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/utils/utils.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/watchdog/__init__.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/watchdog/args.py +0 -0
- {redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/watchdog/watchdog.py +0 -0
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redisbench-admin
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Summary: Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).
|
|
5
5
|
Author: filipecosta90
|
|
6
6
|
Author-email: filipecosta.90@gmail.com
|
|
7
|
-
Requires-Python: >=3.
|
|
7
|
+
Requires-Python: >=3.10.0,<4.0.0
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
12
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
12
|
Requires-Dist: Flask (>=2.0.1,<3.0.0)
|
|
15
13
|
Requires-Dist: Flask-HTTPAuth (>=4.4.0,<5.0.0)
|
|
16
14
|
Requires-Dist: GitPython (>=3.1.12,<4.0.0)
|
|
17
15
|
Requires-Dist: Jinja2 (>=3.0.3,<4.0.0)
|
|
18
16
|
Requires-Dist: PyYAML (>=6.0,<7.0)
|
|
19
17
|
Requires-Dist: boto3 (>=1.13.24,<2.0.0)
|
|
20
|
-
Requires-Dist: certifi (>=2021.10.8,<
|
|
18
|
+
Requires-Dist: certifi (>=2021.10.8,<2025.0.0)
|
|
21
19
|
Requires-Dist: daemonize (>=2.5.0,<3.0.0)
|
|
22
20
|
Requires-Dist: flask-restx (>=0.5.1,<0.6.0)
|
|
23
21
|
Requires-Dist: humanize (>=2.4.0,<3.0.0)
|
|
24
22
|
Requires-Dist: jsonpath_ng (>=1.5.2,<2.0.0)
|
|
25
23
|
Requires-Dist: matplotlib (>=3.1.2,<4.0.0)
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
24
|
+
Requires-Dist: numpy (>=2.0.0,<3.0.0)
|
|
25
|
+
Requires-Dist: pandas (>=2.1.2,<3.0.0)
|
|
26
|
+
Requires-Dist: paramiko (>=2.7.2,<4.0.0)
|
|
28
27
|
Requires-Dist: psutil (>=5.6.6,<6.0.0)
|
|
29
28
|
Requires-Dist: pyWorkFlow (>=0.0.2,<0.0.3)
|
|
30
29
|
Requires-Dist: py_cpuinfo (>=5.0.0,<6.0.0)
|
|
@@ -33,7 +32,7 @@ Requires-Dist: pysftp (>=0.2.9,<0.3.0)
|
|
|
33
32
|
Requires-Dist: pytablewriter[html] (>=0.64.1,<0.65.0)
|
|
34
33
|
Requires-Dist: python_terraform (>=0.10.1,<0.11.0)
|
|
35
34
|
Requires-Dist: redis (>=4.2.2,<5.0.0)
|
|
36
|
-
Requires-Dist: requests (>=2.
|
|
35
|
+
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
|
37
36
|
Requires-Dist: slack-bolt (>=1.13.0,<2.0.0)
|
|
38
37
|
Requires-Dist: slack-sdk (>=3.15.2,<4.0.0)
|
|
39
38
|
Requires-Dist: sshtunnel (>=0.4.0,<0.5.0)
|
|
@@ -158,6 +157,12 @@ To run a specific test:
|
|
|
158
157
|
$ tox -- tests/test_redistimeseries.py
|
|
159
158
|
```
|
|
160
159
|
|
|
160
|
+
To run a specific test with verbose logging:
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
# tox -- -vv --log-cli-level=INFO tests/test_run.py
|
|
164
|
+
```
|
|
165
|
+
|
|
161
166
|
## License
|
|
162
167
|
|
|
163
168
|
redisbench-admin is distributed under the BSD3 license - see [LICENSE](LICENSE)
|
|
@@ -113,6 +113,12 @@ To run a specific test:
|
|
|
113
113
|
$ tox -- tests/test_redistimeseries.py
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
+
To run a specific test with verbose logging:
|
|
117
|
+
|
|
118
|
+
```sh
|
|
119
|
+
# tox -- -vv --log-cli-level=INFO tests/test_run.py
|
|
120
|
+
```
|
|
121
|
+
|
|
116
122
|
## License
|
|
117
123
|
|
|
118
124
|
redisbench-admin is distributed under the BSD3 license - see [LICENSE](LICENSE)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "redisbench-admin"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.11.1"
|
|
4
4
|
description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )."
|
|
5
5
|
authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -10,14 +10,14 @@ redisbench-admin = "redisbench_admin.cli:main"
|
|
|
10
10
|
perf-daemon = "redisbench_admin.profilers.daemon:main"
|
|
11
11
|
|
|
12
12
|
[tool.poetry.dependencies]
|
|
13
|
-
python = "^3.
|
|
13
|
+
python = "^3.10.0"
|
|
14
14
|
humanize = "^2.4.0"
|
|
15
|
-
requests = "^2.
|
|
15
|
+
requests = "^2.32.3"
|
|
16
16
|
py_cpuinfo = "^5.0.0"
|
|
17
17
|
boto3 = "^1.13.24"
|
|
18
18
|
tqdm = "^4.46.1"
|
|
19
19
|
toml = "^0.10.1"
|
|
20
|
-
paramiko = "
|
|
20
|
+
paramiko = ">=2.7.2,<4.0.0"
|
|
21
21
|
jsonpath_ng = "^1.5.2"
|
|
22
22
|
pysftp = "^0.2.9"
|
|
23
23
|
python_terraform = "^0.10.1"
|
|
@@ -31,7 +31,8 @@ Flask = "^2.0.1"
|
|
|
31
31
|
flask-restx = "^0.5.1"
|
|
32
32
|
Flask-HTTPAuth = "^4.4.0"
|
|
33
33
|
daemonize = "^2.5.0"
|
|
34
|
-
pandas = "^1.
|
|
34
|
+
pandas = "^2.1.2"
|
|
35
|
+
numpy = "^2.0.0"
|
|
35
36
|
matplotlib = "^3.1.2"
|
|
36
37
|
psutil = "^5.6.6"
|
|
37
38
|
Jinja2 = "^3.0.3"
|
|
@@ -39,16 +40,20 @@ watchdog = "^2.1.6"
|
|
|
39
40
|
redis = "^4.2.2"
|
|
40
41
|
slack-sdk = "^3.15.2"
|
|
41
42
|
slack-bolt = "^1.13.0"
|
|
42
|
-
certifi = "
|
|
43
|
+
certifi = ">=2021.10.8,<2025.0.0"
|
|
43
44
|
pygithub = "^1.57"
|
|
44
45
|
|
|
45
46
|
[tool.poetry.dev-dependencies]
|
|
46
47
|
pytest = "^4.6"
|
|
47
48
|
pytest-cov = "^2.9.0"
|
|
48
|
-
codecov = "
|
|
49
|
-
black = "
|
|
49
|
+
codecov = "2.1.13"
|
|
50
|
+
black = "24.3.0"
|
|
50
51
|
flake8 = "^5.0.0"
|
|
51
|
-
tox-poetry-installer = {extras = ["poetry"], version = "^0.
|
|
52
|
+
tox-poetry-installer = {extras = ["poetry"], version = "^0.10.3"}
|
|
53
|
+
|
|
54
|
+
[tool.poetry.group.dev.dependencies]
|
|
55
|
+
tox-poetry-installer = {extras = ["poetry"], version = "^0.10.3"}
|
|
56
|
+
docker = "^7.1.0"
|
|
52
57
|
|
|
53
58
|
[build-system]
|
|
54
59
|
requires = ["poetry_core>=1.0.0"]
|
|
@@ -722,7 +722,6 @@ 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
|
|
726
725
|
for test_name in test_names:
|
|
727
726
|
multi_value_baseline = check_multi_value_filter(baseline_str)
|
|
728
727
|
multi_value_comparison = check_multi_value_filter(comparison_str)
|
|
@@ -73,7 +73,15 @@ def deploy_command_logic(args, project_name, project_version):
|
|
|
73
73
|
tf_triggering_env = "redisbench-admin-deploy"
|
|
74
74
|
logging.info("Setting an infra timeout of {} secs".format(infra_timeout_secs))
|
|
75
75
|
if args.destroy is False:
|
|
76
|
-
(
|
|
76
|
+
(
|
|
77
|
+
tf_return_code,
|
|
78
|
+
_,
|
|
79
|
+
_,
|
|
80
|
+
_,
|
|
81
|
+
_,
|
|
82
|
+
_,
|
|
83
|
+
_,
|
|
84
|
+
) = setup_remote_environment(
|
|
77
85
|
tf,
|
|
78
86
|
tf_github_sha,
|
|
79
87
|
tf_github_actor,
|
|
@@ -42,7 +42,13 @@ def export_command_logic(args, project_name, project_version):
|
|
|
42
42
|
deployment_name = args.deployment_name
|
|
43
43
|
deployment_type = args.deployment_type
|
|
44
44
|
results_format = args.results_format
|
|
45
|
-
(
|
|
45
|
+
(
|
|
46
|
+
_,
|
|
47
|
+
github_branch,
|
|
48
|
+
github_org,
|
|
49
|
+
github_repo,
|
|
50
|
+
_,
|
|
51
|
+
) = git_vars_crosscheck(
|
|
46
52
|
None, args.github_branch, args.github_org, args.github_repo, None
|
|
47
53
|
)
|
|
48
54
|
exporter_timemetric_path = None
|
|
@@ -400,9 +400,9 @@ class Perf:
|
|
|
400
400
|
"Main THREAD Flame Graph: " + use_case, details
|
|
401
401
|
)
|
|
402
402
|
if artifact_result is True:
|
|
403
|
-
outputs[
|
|
404
|
-
|
|
405
|
-
|
|
403
|
+
outputs["Main THREAD Flame Graph {}".format(identifier)] = (
|
|
404
|
+
flame_graph_output
|
|
405
|
+
)
|
|
406
406
|
result &= artifact_result
|
|
407
407
|
|
|
408
408
|
tid = self.pid
|
|
@@ -440,9 +440,9 @@ class Perf:
|
|
|
440
440
|
)
|
|
441
441
|
|
|
442
442
|
if artifact_result is True:
|
|
443
|
-
outputs[
|
|
444
|
-
|
|
445
|
-
|
|
443
|
+
outputs["perf report per dso,sym {}".format(identifier)] = (
|
|
444
|
+
perf_report_artifact
|
|
445
|
+
)
|
|
446
446
|
result &= artifact_result
|
|
447
447
|
|
|
448
448
|
# generate perf report per dso,sym
|
|
@@ -460,9 +460,9 @@ class Perf:
|
|
|
460
460
|
)
|
|
461
461
|
|
|
462
462
|
if artifact_result is True:
|
|
463
|
-
outputs[
|
|
464
|
-
|
|
465
|
-
|
|
463
|
+
outputs["perf report per dso,sym with callgraph {}".format(identifier)] = (
|
|
464
|
+
perf_report_artifact
|
|
465
|
+
)
|
|
466
466
|
result &= artifact_result
|
|
467
467
|
|
|
468
468
|
# generate perf report per dso,sym,srcline
|
|
@@ -487,9 +487,9 @@ class Perf:
|
|
|
487
487
|
)
|
|
488
488
|
|
|
489
489
|
if artifact_result is True:
|
|
490
|
-
outputs[
|
|
491
|
-
|
|
492
|
-
|
|
490
|
+
outputs["perf report per dso,sym,srcline {}".format(identifier)] = (
|
|
491
|
+
perf_report_artifact
|
|
492
|
+
)
|
|
493
493
|
result &= artifact_result
|
|
494
494
|
|
|
495
495
|
self.logger.info(
|
|
@@ -527,9 +527,9 @@ class Perf:
|
|
|
527
527
|
)
|
|
528
528
|
|
|
529
529
|
if artifact_result is True:
|
|
530
|
-
outputs[
|
|
531
|
-
|
|
532
|
-
|
|
530
|
+
outputs["perf report top self-cpu {}".format(identifier)] = (
|
|
531
|
+
perf_report_artifact
|
|
532
|
+
)
|
|
533
533
|
result &= artifact_result
|
|
534
534
|
|
|
535
535
|
# generate perf report --stdio report
|
|
@@ -546,9 +546,9 @@ class Perf:
|
|
|
546
546
|
)
|
|
547
547
|
|
|
548
548
|
if artifact_result is True:
|
|
549
|
-
outputs[
|
|
550
|
-
|
|
551
|
-
|
|
549
|
+
outputs["perf report top self-cpu (dso={})".format(binary)] = (
|
|
550
|
+
perf_report_artifact
|
|
551
|
+
)
|
|
552
552
|
result &= artifact_result
|
|
553
553
|
|
|
554
554
|
if self.callgraph_mode == "dwarf":
|
|
@@ -590,9 +590,9 @@ class Perf:
|
|
|
590
590
|
)
|
|
591
591
|
result &= artifact_result
|
|
592
592
|
if artifact_result is True:
|
|
593
|
-
outputs[
|
|
594
|
-
|
|
595
|
-
|
|
593
|
+
outputs["Top entries in text form by LOC"] = (
|
|
594
|
+
pprof_artifact_text_output
|
|
595
|
+
)
|
|
596
596
|
tabular_data_map["text-lines"] = tabular_data
|
|
597
597
|
self.logger.info("Generating pprof png output")
|
|
598
598
|
pprof_png_output = self.output + ".pprof.png"
|
|
@@ -604,9 +604,9 @@ class Perf:
|
|
|
604
604
|
self.output,
|
|
605
605
|
)
|
|
606
606
|
if artifact_result is True:
|
|
607
|
-
outputs[
|
|
608
|
-
|
|
609
|
-
|
|
607
|
+
outputs["Output graph image in PNG format"] = (
|
|
608
|
+
pprof_artifact_png_output
|
|
609
|
+
)
|
|
610
610
|
result &= artifact_result
|
|
611
611
|
|
|
612
612
|
# save stack collapsed
|
|
@@ -206,7 +206,10 @@ def prepare_benchmark_parameters_specif_tooling(
|
|
|
206
206
|
if isremote is True:
|
|
207
207
|
benchmark_tool = "/tmp/{}".format(benchmark_tool)
|
|
208
208
|
input_data_file = "/tmp/input.data"
|
|
209
|
-
(
|
|
209
|
+
(
|
|
210
|
+
command_arr,
|
|
211
|
+
command_str,
|
|
212
|
+
) = prepare_tsbs_benchmark_command(
|
|
210
213
|
benchmark_tool,
|
|
211
214
|
server_private_ip,
|
|
212
215
|
server_plaintext_port,
|
|
@@ -218,7 +221,10 @@ def prepare_benchmark_parameters_specif_tooling(
|
|
|
218
221
|
cluster_api_enabled,
|
|
219
222
|
)
|
|
220
223
|
if "memtier_benchmark" in benchmark_tool:
|
|
221
|
-
(
|
|
224
|
+
(
|
|
225
|
+
command_arr,
|
|
226
|
+
command_str,
|
|
227
|
+
) = prepare_memtier_benchmark_command(
|
|
222
228
|
benchmark_tool,
|
|
223
229
|
server_private_ip,
|
|
224
230
|
server_plaintext_port,
|
|
@@ -236,7 +242,10 @@ def prepare_benchmark_parameters_specif_tooling(
|
|
|
236
242
|
ann_path = stdout[0].strip() + "/run/ann/pkg/multirun.py"
|
|
237
243
|
logging.info("Remote ann-benchmark path: {}".format(ann_path))
|
|
238
244
|
|
|
239
|
-
(
|
|
245
|
+
(
|
|
246
|
+
command_arr,
|
|
247
|
+
command_str,
|
|
248
|
+
) = prepare_ann_benchmark_command(
|
|
240
249
|
server_private_ip,
|
|
241
250
|
server_plaintext_port,
|
|
242
251
|
cluster_api_enabled,
|
|
@@ -250,7 +259,10 @@ def prepare_benchmark_parameters_specif_tooling(
|
|
|
250
259
|
if isremote is True:
|
|
251
260
|
benchmark_tool = "/tmp/{}".format(benchmark_tool)
|
|
252
261
|
input_data_file = "/tmp/input.data"
|
|
253
|
-
(
|
|
262
|
+
(
|
|
263
|
+
command_arr,
|
|
264
|
+
command_str,
|
|
265
|
+
) = prepare_ftsb_benchmark_command(
|
|
254
266
|
benchmark_tool,
|
|
255
267
|
server_private_ip,
|
|
256
268
|
server_plaintext_port,
|
|
@@ -267,7 +279,10 @@ def prepare_benchmark_parameters_specif_tooling(
|
|
|
267
279
|
if isremote is True:
|
|
268
280
|
benchmark_tool = "/tmp/{}".format(benchmark_tool)
|
|
269
281
|
input_data_file = "/tmp/input.data"
|
|
270
|
-
(
|
|
282
|
+
(
|
|
283
|
+
command_arr,
|
|
284
|
+
command_str,
|
|
285
|
+
) = prepare_aibench_benchmark_command(
|
|
271
286
|
benchmark_tool,
|
|
272
287
|
server_private_ip,
|
|
273
288
|
server_plaintext_port,
|
|
@@ -484,6 +499,36 @@ def extract_test_feasible_setups(
|
|
|
484
499
|
for setup_name in feasible_setups_list:
|
|
485
500
|
if default_specs is not None:
|
|
486
501
|
feasible_setups_map[setup_name] = {}
|
|
502
|
+
# spec:
|
|
503
|
+
# setups:
|
|
504
|
+
# - name: oss-standalone
|
|
505
|
+
# type: oss-standalone
|
|
506
|
+
# redis_topology:
|
|
507
|
+
# primaries: 1
|
|
508
|
+
# replicas: 1
|
|
509
|
+
# placement: "sparse"
|
|
510
|
+
# resources:
|
|
511
|
+
# requests:
|
|
512
|
+
# cpus: "2"
|
|
513
|
+
# memory: "10g"
|
|
514
|
+
# - name: oss-standalone-threads-6
|
|
515
|
+
# type: oss-standalone
|
|
516
|
+
# redis_topology:
|
|
517
|
+
# primaries: 1
|
|
518
|
+
# replicas: 1
|
|
519
|
+
# placement: "sparse"
|
|
520
|
+
# resources:
|
|
521
|
+
# requests:
|
|
522
|
+
# cpus: "2"
|
|
523
|
+
# memory: "10g"
|
|
524
|
+
# dbconfig:
|
|
525
|
+
# module-configuration-parameters:
|
|
526
|
+
# redisearch:
|
|
527
|
+
# WORKERS: 6
|
|
528
|
+
# MIN_OPERATION_WORKERS: 6
|
|
529
|
+
# module-oss:
|
|
530
|
+
# WORKERS: 6
|
|
531
|
+
# MIN_OPERATION_WORKERS: 6
|
|
487
532
|
if "setups" in default_specs:
|
|
488
533
|
for setup in default_specs["setups"]:
|
|
489
534
|
if setup_name == setup["name"]:
|
|
@@ -515,7 +560,9 @@ def extract_test_feasible_setups(
|
|
|
515
560
|
feasible_setups_map[setup_name]
|
|
516
561
|
)
|
|
517
562
|
)
|
|
518
|
-
|
|
563
|
+
logging.info(
|
|
564
|
+
f"There a total of {len(feasible_setups_map.keys())} setups. Setups: {feasible_setups_map}"
|
|
565
|
+
)
|
|
519
566
|
return feasible_setups_map
|
|
520
567
|
|
|
521
568
|
|
|
@@ -731,7 +778,10 @@ def print_results_table_stdout(
|
|
|
731
778
|
metric_names=[],
|
|
732
779
|
):
|
|
733
780
|
# check which metrics to extract
|
|
734
|
-
(
|
|
781
|
+
(
|
|
782
|
+
_,
|
|
783
|
+
metrics,
|
|
784
|
+
) = merge_default_and_config_metrics(
|
|
735
785
|
benchmark_config,
|
|
736
786
|
default_metrics,
|
|
737
787
|
None,
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
import logging
|
|
7
|
+
import copy
|
|
7
8
|
|
|
8
9
|
from redisbench_admin.run.common import extract_test_feasible_setups
|
|
9
10
|
from redisbench_admin.run_remote.consts import min_recommended_benchmark_duration
|
|
@@ -30,6 +31,20 @@ def calculate_client_tool_duration_and_check(
|
|
|
30
31
|
return benchmark_duration_seconds
|
|
31
32
|
|
|
32
33
|
|
|
34
|
+
def merge_dicts(dict1, dict2):
|
|
35
|
+
result = copy.deepcopy(dict1) # Start with dict1's keys and values
|
|
36
|
+
for key, value in dict2.items():
|
|
37
|
+
if key in result:
|
|
38
|
+
if isinstance(result[key], dict) and isinstance(value, dict):
|
|
39
|
+
# Recursively merge nested dictionaries
|
|
40
|
+
result[key] = merge_dicts(result[key], value)
|
|
41
|
+
# If it's not a dict, we keep the value from dict1 (result)
|
|
42
|
+
else:
|
|
43
|
+
result[key] = value
|
|
44
|
+
print(f"merging dict1 {dict1} with with dict2 {dict2}. final {result}")
|
|
45
|
+
return result
|
|
46
|
+
|
|
47
|
+
|
|
33
48
|
def define_benchmark_plan(benchmark_definitions, default_specs):
|
|
34
49
|
benchmark_runs_plan = {}
|
|
35
50
|
for test_name, benchmark_config in benchmark_definitions.items():
|
|
@@ -42,8 +57,11 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
|
|
|
42
57
|
benchmark_runs_plan[benchmark_type] = {}
|
|
43
58
|
|
|
44
59
|
# extract dataset-name
|
|
45
|
-
|
|
46
|
-
benchmark_config, "dbconfig"
|
|
60
|
+
benchmark_contains_dbconfig, dataset_name, _, _, _ = (
|
|
61
|
+
extract_redis_dbconfig_parameters(benchmark_config, "dbconfig")
|
|
62
|
+
)
|
|
63
|
+
logging.info(
|
|
64
|
+
f"Benchmark contains specific dbconfig on test {test_name}: {benchmark_contains_dbconfig}"
|
|
47
65
|
)
|
|
48
66
|
if dataset_name is None:
|
|
49
67
|
dataset_name = test_name
|
|
@@ -60,6 +78,14 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
|
|
|
60
78
|
)
|
|
61
79
|
|
|
62
80
|
for setup_name, setup_settings in test_setups.items():
|
|
81
|
+
test_benchmark_config = copy.deepcopy(benchmark_config)
|
|
82
|
+
setup_contains_dbconfig = False
|
|
83
|
+
if "dbconfig" in setup_settings:
|
|
84
|
+
setup_contains_dbconfig = True
|
|
85
|
+
logging.info(
|
|
86
|
+
f"setup ({setup_name}): {setup_settings}. contains dbconfig {setup_contains_dbconfig}"
|
|
87
|
+
)
|
|
88
|
+
|
|
63
89
|
if setup_name not in benchmark_runs_plan[benchmark_type][dataset_name]:
|
|
64
90
|
benchmark_runs_plan[benchmark_type][dataset_name][setup_name] = {}
|
|
65
91
|
benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
|
|
@@ -68,6 +94,7 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
|
|
|
68
94
|
benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
|
|
69
95
|
"benchmarks"
|
|
70
96
|
] = {}
|
|
97
|
+
|
|
71
98
|
if (
|
|
72
99
|
test_name
|
|
73
100
|
in benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
|
|
@@ -80,8 +107,25 @@ def define_benchmark_plan(benchmark_definitions, default_specs):
|
|
|
80
107
|
)
|
|
81
108
|
)
|
|
82
109
|
else:
|
|
110
|
+
# check if we need to merge dbconfigs from the setup defaults
|
|
111
|
+
if setup_contains_dbconfig:
|
|
112
|
+
if "dbconfig" not in test_benchmark_config:
|
|
113
|
+
test_benchmark_config["dbconfig"] = {}
|
|
114
|
+
setup_dbconfig = setup_settings["dbconfig"]
|
|
115
|
+
benchmark_dbconfig = test_benchmark_config["dbconfig"]
|
|
116
|
+
logging.info(
|
|
117
|
+
f"Merging setup dbconfig: {setup_dbconfig}, with benchmark dbconfig {test_benchmark_config}"
|
|
118
|
+
)
|
|
119
|
+
final_db_config = merge_dicts(benchmark_dbconfig, setup_dbconfig)
|
|
120
|
+
logging.info(f"FINAL DB CONFIG: {final_db_config}")
|
|
121
|
+
test_benchmark_config["dbconfig"] = final_db_config
|
|
122
|
+
|
|
123
|
+
logging.info(
|
|
124
|
+
f"final benchmark config for setup: {setup_name} and test: {test_name}. {test_benchmark_config}"
|
|
125
|
+
)
|
|
126
|
+
# add benchmark
|
|
83
127
|
benchmark_runs_plan[benchmark_type][dataset_name][setup_name][
|
|
84
128
|
"benchmarks"
|
|
85
|
-
][test_name] =
|
|
129
|
+
][test_name] = test_benchmark_config
|
|
86
130
|
|
|
87
131
|
return benchmark_runs_plan
|
{redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/async_terraform.py
RENAMED
|
@@ -114,7 +114,11 @@ class TerraformClass:
|
|
|
114
114
|
def async_runner_setup(
|
|
115
115
|
self,
|
|
116
116
|
):
|
|
117
|
-
(
|
|
117
|
+
(
|
|
118
|
+
remote_setup,
|
|
119
|
+
deployment_type,
|
|
120
|
+
remote_id,
|
|
121
|
+
) = fetch_remote_setup_from_config(
|
|
118
122
|
[{"type": "async", "setup": "runner"}],
|
|
119
123
|
"https://github.com/RedisLabsModules/testing-infrastructure.git",
|
|
120
124
|
"master",
|
|
@@ -229,7 +233,11 @@ def terraform_spin_or_reuse_env(
|
|
|
229
233
|
tf_override_name=None,
|
|
230
234
|
tf_folder_path=None,
|
|
231
235
|
):
|
|
232
|
-
(
|
|
236
|
+
(
|
|
237
|
+
remote_setup,
|
|
238
|
+
deployment_type,
|
|
239
|
+
remote_id,
|
|
240
|
+
) = fetch_remote_setup_from_config(
|
|
233
241
|
benchmark_config["remote"],
|
|
234
242
|
"https://github.com/RedisLabsModules/testing-infrastructure.git",
|
|
235
243
|
"master",
|
{redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_async/render_files.py
RENAMED
|
@@ -28,9 +28,9 @@ WantedBy=multi-user.target
|
|
|
28
28
|
argv.append("--private_key")
|
|
29
29
|
argv.append("/home/ubuntu/work_dir/tests/benchmarks/benchmarks.redislabs.pem")
|
|
30
30
|
else:
|
|
31
|
-
argv[
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
argv[argv.index(args.private_key)] = (
|
|
32
|
+
"/home/ubuntu/work_dir/tests/benchmarks/benchmarks.redislabs.pem"
|
|
33
|
+
)
|
|
34
34
|
if len(args.module_path) != 0:
|
|
35
35
|
argv[argv.index(args.module_path[0])] = (
|
|
36
36
|
"/home/ubuntu/work_dir/tests/benchmarks/"
|
{redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_local/run_local.py
RENAMED
|
@@ -65,9 +65,7 @@ from redisbench_admin.utils.benchmark_config import (
|
|
|
65
65
|
from redisbench_admin.utils.local import (
|
|
66
66
|
get_local_run_full_filename,
|
|
67
67
|
)
|
|
68
|
-
|
|
69
|
-
extract_git_vars,
|
|
70
|
-
)
|
|
68
|
+
|
|
71
69
|
from redisbench_admin.utils.results import post_process_benchmark_results
|
|
72
70
|
|
|
73
71
|
import threading
|
|
@@ -682,17 +680,17 @@ def commandstats_latencystats_process_name(
|
|
|
682
680
|
branch = variant_labels_dict["branch"]
|
|
683
681
|
|
|
684
682
|
if version is not None:
|
|
685
|
-
variant_labels_dict[
|
|
686
|
-
"
|
|
687
|
-
|
|
688
|
-
variant_labels_dict[
|
|
689
|
-
"
|
|
690
|
-
|
|
683
|
+
variant_labels_dict["command_and_metric_and_version"] = (
|
|
684
|
+
"{} - {} - {}".format(command, metric, version)
|
|
685
|
+
)
|
|
686
|
+
variant_labels_dict["command_and_metric_and_setup_and_version"] = (
|
|
687
|
+
"{} - {} - {} - {}".format(command, metric, setup_name, version)
|
|
688
|
+
)
|
|
691
689
|
|
|
692
690
|
if branch is not None:
|
|
693
|
-
variant_labels_dict[
|
|
694
|
-
"
|
|
695
|
-
|
|
696
|
-
variant_labels_dict[
|
|
697
|
-
"
|
|
698
|
-
|
|
691
|
+
variant_labels_dict["command_and_metric_and_branch"] = (
|
|
692
|
+
"{} - {} - {}".format(command, metric, branch)
|
|
693
|
+
)
|
|
694
|
+
variant_labels_dict["command_and_metric_and_setup_and_branch"] = (
|
|
695
|
+
"{} - {} - {} - {}".format(command, metric, setup_name, branch)
|
|
696
|
+
)
|
{redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/run_remote.py
RENAMED
|
@@ -1374,20 +1374,20 @@ def commandstats_latencystats_process_name(
|
|
|
1374
1374
|
branch = variant_labels_dict["branch"]
|
|
1375
1375
|
|
|
1376
1376
|
if version is not None:
|
|
1377
|
-
variant_labels_dict[
|
|
1378
|
-
"
|
|
1379
|
-
|
|
1380
|
-
variant_labels_dict[
|
|
1381
|
-
"
|
|
1382
|
-
|
|
1377
|
+
variant_labels_dict["command_and_metric_and_version"] = (
|
|
1378
|
+
"{} - {} - {}".format(command, metric, version)
|
|
1379
|
+
)
|
|
1380
|
+
variant_labels_dict["command_and_metric_and_setup_and_version"] = (
|
|
1381
|
+
"{} - {} - {} - {}".format(command, metric, setup_name, version)
|
|
1382
|
+
)
|
|
1383
1383
|
|
|
1384
1384
|
if branch is not None:
|
|
1385
|
-
variant_labels_dict[
|
|
1386
|
-
"
|
|
1387
|
-
|
|
1388
|
-
variant_labels_dict[
|
|
1389
|
-
"
|
|
1390
|
-
|
|
1385
|
+
variant_labels_dict["command_and_metric_and_branch"] = (
|
|
1386
|
+
"{} - {} - {}".format(command, metric, branch)
|
|
1387
|
+
)
|
|
1388
|
+
variant_labels_dict["command_and_metric_and_setup_and_branch"] = (
|
|
1389
|
+
"{} - {} - {} - {}".format(command, metric, setup_name, branch)
|
|
1390
|
+
)
|
|
1391
1391
|
|
|
1392
1392
|
|
|
1393
1393
|
def shutdown_remote_redis(redis_conns, ssh_tunnel):
|
{redisbench_admin-0.10.29 → redisbench_admin-0.11.1}/redisbench_admin/run_remote/terraform.py
RENAMED
|
@@ -31,7 +31,11 @@ def terraform_spin_or_reuse_env(
|
|
|
31
31
|
tf_override_name=None,
|
|
32
32
|
tf_folder_path=None,
|
|
33
33
|
):
|
|
34
|
-
(
|
|
34
|
+
(
|
|
35
|
+
remote_setup,
|
|
36
|
+
deployment_type,
|
|
37
|
+
remote_id,
|
|
38
|
+
) = fetch_remote_setup_from_config(
|
|
35
39
|
benchmark_config["remote"],
|
|
36
40
|
"https://github.com/redis-performance/testing-infrastructure.git",
|
|
37
41
|
"master",
|