redisbench-admin 0.11.66__tar.gz → 0.11.68__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.11.66 → redisbench_admin-0.11.68}/PKG-INFO +5 -2
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/pyproject.toml +1 -1
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/args.py +1 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/cluster.py +1 -3
- {redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms → redisbench_admin-0.11.68/redisbench_admin/run/ycsb}/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_db.py +3 -1
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_helpers.py +27 -11
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/run_remote.py +11 -8
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/standalone.py +6 -2
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/benchmark_config.py +6 -2
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/local.py +4 -2
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/remote.py +81 -33
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/.dockerignore +0 -2
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/.git +0 -1
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/.github/workflows/benchmarks.yml +0 -100
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/.gitignore +0 -21
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/LICENSE +0 -21
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/README.md +0 -157
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/algos.yaml +0 -1294
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/algosP.yaml +0 -67
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/__init__.py +0 -2
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/annoy.py +0 -26
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/balltree.py +0 -22
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/base.py +0 -36
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/bruteforce.py +0 -110
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/ckdtree.py +0 -17
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/datasketch.py +0 -29
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/definitions.py +0 -187
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/diskann.py +0 -190
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dolphinnpy.py +0 -31
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/dummy_algo.py +0 -25
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elasticsearch.py +0 -107
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/elastiknn.py +0 -124
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss.py +0 -124
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_gpu.py +0 -61
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/faiss_hnsw.py +0 -39
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/flann.py +0 -27
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/hnswlib.py +0 -36
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kdtree.py +0 -22
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/kgraph.py +0 -39
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/lshf.py +0 -25
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/milvus.py +0 -99
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/mrpt.py +0 -41
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/n2.py +0 -28
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nearpy.py +0 -48
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/nmslib.py +0 -74
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/onng_ngt.py +0 -100
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/opensearchknn.py +0 -107
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/panng_ngt.py +0 -79
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pinecone.py +0 -39
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/puffinn.py +0 -45
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/pynndescent.py +0 -115
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/qg_ngt.py +0 -102
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/redisearch.py +0 -90
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/rpforest.py +0 -20
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/scann.py +0 -34
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/sptag.py +0 -28
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/subprocess.py +0 -246
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vald.py +0 -149
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vecsim-hnsw.py +0 -43
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/algorithms/vespa.py +0 -47
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/constants.py +0 -1
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/data.py +0 -48
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/datasets.py +0 -620
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/distance.py +0 -53
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/main.py +0 -325
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/__init__.py +0 -2
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/metrics.py +0 -183
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/plot_variants.py +0 -17
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/plotting/utils.py +0 -165
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/results.py +0 -71
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/ann_benchmarks/runner.py +0 -333
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/create_dataset.py +0 -12
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/create_hybrid_dataset.py +0 -147
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/create_text_to_image_ds.py +0 -117
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/create_website.py +0 -272
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile +0 -11
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.annoy +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.datasketch +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann +0 -29
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.diskann_pq +0 -31
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.dolphinn +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.elasticsearch +0 -45
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.elastiknn +0 -61
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.faiss +0 -18
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.flann +0 -10
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.hnswlib +0 -10
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.kgraph +0 -6
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.mih +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.milvus +0 -27
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.mrpt +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.n2 +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.nearpy +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.ngt +0 -13
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.nmslib +0 -10
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.opensearchknn +0 -43
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.puffinn +0 -6
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.pynndescent +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.redisearch +0 -18
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.rpforest +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.scann +0 -5
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.scipy +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.sklearn +0 -4
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.sptag +0 -30
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.vald +0 -8
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install/Dockerfile.vespa +0 -17
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/install.py +0 -70
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/logging.conf +0 -34
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/multirun.py +0 -298
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/plot.py +0 -159
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/bf-runner +0 -10
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/bf-runner.py +0 -204
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/ext-add-query-metric.md +0 -51
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/ext-batch-queries.md +0 -77
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/ext-prepared-queries.md +0 -77
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/ext-query-parameters.md +0 -47
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/protocol/specification.md +0 -194
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/requirements.txt +0 -14
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/requirements_py38.txt +0 -11
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/fashion-mnist-784-euclidean.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/gist-960-euclidean.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/glove-100-angular.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/glove-25-angular.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/lastfm-64-dot.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/mnist-784-euclidean.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/nytimes-256-angular.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/results/sift-128-euclidean.png +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/run.py +0 -12
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/run_algorithm.py +0 -3
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/templates/chartjs.template +0 -102
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/templates/detail_page.html +0 -23
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/templates/general.html +0 -58
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/templates/latex.template +0 -30
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/templates/summary.html +0 -60
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/test/__init__.py +0 -0
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/test/test-jaccard.py +0 -19
- redisbench_admin-0.11.66/redisbench_admin/run/ann/pkg/test/test-metrics.py +0 -99
- redisbench_admin-0.11.66/redisbench_admin/run/ycsb/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/LICENSE +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/README.md +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/cli.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/commands/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/commands/commands.json.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/compare/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/compare/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/compare/compare.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/deploy/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/deploy/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/deploy/deploy.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/environments/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/environments/oss_cluster.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/environments/oss_standalone.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/common/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/common/common.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/export.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/pyperf/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/extract/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/extract/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/extract/extract.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/grafana_api/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/grafana_api/app.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/grafana_api/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/grafana_api/grafana_api.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/daemon.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/flamegraph.pl +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/perf.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/pprof.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/profilers.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/profilers_local.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/profilers_schema.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/profilers/vtune.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ann/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ann/ann.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/asm.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/common.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ftsb/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ftsb/ftsb.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/git.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/grafana.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/metrics.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/modules.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/redistimeseries.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/run.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/s3.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ssh.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run/ycsb/ycsb.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/async_env.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/async_terraform.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/benchmark.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/log.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/render_files.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_async/run_async.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/local_client.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/local_db.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/local_helpers.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_local/run_local.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/consts.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/log.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/notifications.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_client.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_env.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_failures.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/terraform.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/redisearch.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/results.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/ssh.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/utils.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/watchdog/__init__.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/watchdog/args.py +0 -0
- {redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/watchdog/watchdog.py +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: redisbench-admin
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.68
|
|
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
|
+
License-File: LICENSE
|
|
5
6
|
Author: filipecosta90
|
|
6
7
|
Author-email: filipecosta.90@gmail.com
|
|
7
8
|
Requires-Python: >=3.10.0,<4.0.0
|
|
@@ -9,6 +10,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
9
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
10
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
11
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
12
15
|
Requires-Dist: Flask (>=2.0.1,<3.0.0)
|
|
13
16
|
Requires-Dist: Flask-HTTPAuth (>=4.4.0,<5.0.0)
|
|
14
17
|
Requires-Dist: GitPython (>=3.1.12,<4.0.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "redisbench-admin"
|
|
3
|
-
version = "0.11.
|
|
3
|
+
version = "0.11.68"
|
|
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"
|
|
@@ -166,9 +166,7 @@ def spin_up_redis_cluster_remote_redis(
|
|
|
166
166
|
else:
|
|
167
167
|
full_command = " ".join(command)
|
|
168
168
|
logging.error(
|
|
169
|
-
"Remote primary shard {} command: {}".format(
|
|
170
|
-
master_shard_id, full_command
|
|
171
|
-
)
|
|
169
|
+
"Remote primary shard {} command: {}".format(master_shard_id, full_command)
|
|
172
170
|
)
|
|
173
171
|
logfiles.append(logfile)
|
|
174
172
|
redis_process_commands.append(full_command)
|
|
File without changes
|
{redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_db.py
RENAMED
|
@@ -155,7 +155,9 @@ def remote_db_spin(
|
|
|
155
155
|
username,
|
|
156
156
|
continue_on_module_check_error,
|
|
157
157
|
)
|
|
158
|
-
logging.info(
|
|
158
|
+
logging.info(
|
|
159
|
+
"Extra library files copied successfully (not passed to redis-server)"
|
|
160
|
+
)
|
|
159
161
|
# setup Redis
|
|
160
162
|
redis_setup_result = True
|
|
161
163
|
redis_conns = []
|
{redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/remote_helpers.py
RENAMED
|
@@ -71,11 +71,15 @@ def ensure_aws_cli_available(client_public_ip, username, private_key, client_ssh
|
|
|
71
71
|
"curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o 'awscliv2.zip'",
|
|
72
72
|
"unzip -q awscliv2.zip",
|
|
73
73
|
"sudo ./aws/install",
|
|
74
|
-
"rm -rf awscliv2.zip aws/"
|
|
74
|
+
"rm -rf awscliv2.zip aws/",
|
|
75
75
|
]
|
|
76
76
|
|
|
77
77
|
install_result = execute_remote_commands(
|
|
78
|
-
client_public_ip,
|
|
78
|
+
client_public_ip,
|
|
79
|
+
username,
|
|
80
|
+
private_key,
|
|
81
|
+
install_commands,
|
|
82
|
+
client_ssh_port,
|
|
79
83
|
)
|
|
80
84
|
|
|
81
85
|
# Check if installation was successful
|
|
@@ -249,6 +253,7 @@ def remote_tool_pre_bench_step(
|
|
|
249
253
|
)
|
|
250
254
|
logging.info("Finished up remote tool {} requirements".format(benchmark_tool))
|
|
251
255
|
|
|
256
|
+
|
|
252
257
|
def _setup_remote_benchmark_tool_requirements(
|
|
253
258
|
client_public_ip,
|
|
254
259
|
username,
|
|
@@ -261,22 +266,33 @@ def _setup_remote_benchmark_tool_requirements(
|
|
|
261
266
|
):
|
|
262
267
|
commands = [
|
|
263
268
|
"wget {} -q -O {}".format(tool_link, remote_tool_link),
|
|
264
|
-
"chmod 755 {}".format(remote_tool_link)
|
|
269
|
+
"chmod 755 {}".format(remote_tool_link),
|
|
265
270
|
]
|
|
266
271
|
|
|
267
272
|
# detect if queries_file_link is a s3 URI or http one and act accordingly (use aws cli or wget)
|
|
268
273
|
if queries_file_link is not None:
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
274
|
+
if queries_file_link.startswith("s3://"):
|
|
275
|
+
ensure_aws_cli_available(
|
|
276
|
+
client_public_ip, username, private_key, client_ssh_port
|
|
277
|
+
)
|
|
278
|
+
commands.append(
|
|
279
|
+
"timeout 600 aws s3 cp {} {} --no-sign-request --cli-read-timeout 300".format(
|
|
280
|
+
queries_file_link, remote_input_file
|
|
281
|
+
)
|
|
282
|
+
)
|
|
283
|
+
else:
|
|
284
|
+
commands.append(
|
|
285
|
+
"wget {} -q -O {}".format(queries_file_link, remote_input_file)
|
|
286
|
+
)
|
|
276
287
|
else:
|
|
277
288
|
logging.info("No queries file link provided. Skipping download.")
|
|
278
289
|
execute_remote_commands(
|
|
279
|
-
client_public_ip,
|
|
290
|
+
client_public_ip,
|
|
291
|
+
username,
|
|
292
|
+
private_key,
|
|
293
|
+
commands,
|
|
294
|
+
client_ssh_port,
|
|
295
|
+
limit_output_print=True,
|
|
280
296
|
)
|
|
281
297
|
|
|
282
298
|
|
{redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/run_remote.py
RENAMED
|
@@ -89,15 +89,14 @@ STALL_INFO_DAYS = 7
|
|
|
89
89
|
EXPIRE_TIME_SECS_PROFILE_KEYS = 60 * 60 * 24 * STALL_INFO_DAYS
|
|
90
90
|
EXPIRE_TIME_MSECS_PROFILE_KEYS = EXPIRE_TIME_SECS_PROFILE_KEYS * 1000
|
|
91
91
|
|
|
92
|
+
|
|
92
93
|
def ensure_mixed_types_first(benchmark_runs_plan):
|
|
93
94
|
"""
|
|
94
95
|
Returns an iterator over (benchmark_type, bench_by_dataset_map) tuples,
|
|
95
96
|
ensuring that 'mixed' benchmark types are processed before others.
|
|
96
97
|
"""
|
|
97
|
-
return sorted(
|
|
98
|
-
|
|
99
|
-
key=lambda x: (x[0] != "mixed", x[0])
|
|
100
|
-
)
|
|
98
|
+
return sorted(benchmark_runs_plan.items(), key=lambda x: (x[0] != "mixed", x[0]))
|
|
99
|
+
|
|
101
100
|
|
|
102
101
|
def is_important_data(tf_github_branch, artifact_version):
|
|
103
102
|
return True
|
|
@@ -405,7 +404,9 @@ def run_remote_command_logic(args, project_name, project_version):
|
|
|
405
404
|
ts_key_full_price = f"ts:{tf_triggering_env}:tests:full_price"
|
|
406
405
|
ts_key_architecture = f"ts:{tf_triggering_env}:tests:arch:{architecture}"
|
|
407
406
|
reuse_mixed = False
|
|
408
|
-
for benchmark_type, bench_by_dataset_map in ensure_mixed_types_first(
|
|
407
|
+
for benchmark_type, bench_by_dataset_map in ensure_mixed_types_first(
|
|
408
|
+
benchmark_runs_plan
|
|
409
|
+
):
|
|
409
410
|
if benchmark_type == "mixed" and "read-only" in benchmark_runs_plan:
|
|
410
411
|
reuse_mixed = True
|
|
411
412
|
if return_code != 0 and args.fail_fast:
|
|
@@ -439,8 +440,10 @@ def run_remote_command_logic(args, project_name, project_version):
|
|
|
439
440
|
|
|
440
441
|
setup_settings = setup_details["setup_settings"]
|
|
441
442
|
benchmarks_map = setup_details["benchmarks"]
|
|
443
|
+
if 'env' not in setup_details:
|
|
444
|
+
setup_details["env"] = None
|
|
442
445
|
# we start with an empty per bench-type/setup-name
|
|
443
|
-
if not reuse_mixed:
|
|
446
|
+
if not reuse_mixed or "env" not in setup_details:
|
|
444
447
|
logging.info(
|
|
445
448
|
"Given we are not reusing a mixed setup we will reset the setup details."
|
|
446
449
|
)
|
|
@@ -597,7 +600,7 @@ def run_remote_command_logic(args, project_name, project_version):
|
|
|
597
600
|
"Starting common steps to cluster and standalone..."
|
|
598
601
|
)
|
|
599
602
|
full_logfiles = []
|
|
600
|
-
if setup_details
|
|
603
|
+
if setup_details.get("env", None) is None:
|
|
601
604
|
if skip_remote_db_setup is False:
|
|
602
605
|
# ensure /tmp folder is free of benchmark data from previous runs
|
|
603
606
|
remote_tmpdir_prune(
|
|
@@ -1112,7 +1115,7 @@ def run_remote_command_logic(args, project_name, project_version):
|
|
|
1112
1115
|
)
|
|
1113
1116
|
)
|
|
1114
1117
|
|
|
1115
|
-
if setup_details
|
|
1118
|
+
if setup_details.get("env", None) is None:
|
|
1116
1119
|
if (
|
|
1117
1120
|
keep_env_and_topo is False
|
|
1118
1121
|
and skip_remote_db_setup is False
|
{redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/run_remote/standalone.py
RENAMED
|
@@ -701,7 +701,9 @@ def spin_test_standalone_redis(
|
|
|
701
701
|
create_module_dir_commands,
|
|
702
702
|
db_ssh_port,
|
|
703
703
|
)
|
|
704
|
-
logging.info(
|
|
704
|
+
logging.info(
|
|
705
|
+
f"📁 Copying {len(extra_libs)} extra library files to remote..."
|
|
706
|
+
)
|
|
705
707
|
# Copy extra libs but discard result (not passed to redis-server)
|
|
706
708
|
remote_module_files_cp(
|
|
707
709
|
extra_libs,
|
|
@@ -720,7 +722,9 @@ def spin_test_standalone_redis(
|
|
|
720
722
|
server_public_ip, username, private_key, remote_symlinks, db_ssh_port
|
|
721
723
|
)
|
|
722
724
|
if not symlink_success:
|
|
723
|
-
logging.warning(
|
|
725
|
+
logging.warning(
|
|
726
|
+
"⚠️ Some symlinks failed to create, continuing anyway..."
|
|
727
|
+
)
|
|
724
728
|
|
|
725
729
|
# Generate Redis startup command
|
|
726
730
|
logfile = "redis-spin-test.log"
|
{redisbench_admin-0.11.66 → redisbench_admin-0.11.68}/redisbench_admin/utils/benchmark_config.py
RENAMED
|
@@ -209,7 +209,9 @@ def merge_default_and_specific_properties_dict_type(
|
|
|
209
209
|
use_case_specific_properties.append(default_property)
|
|
210
210
|
logging.info(
|
|
211
211
|
"Adding a default '{}' property ({}) given the file {} did not have the specific property".format(
|
|
212
|
-
propertygroup_keyname,
|
|
212
|
+
propertygroup_keyname,
|
|
213
|
+
default_property,
|
|
214
|
+
usecase_filename,
|
|
213
215
|
)
|
|
214
216
|
)
|
|
215
217
|
break
|
|
@@ -228,7 +230,9 @@ def merge_default_and_specific_properties_dict_type(
|
|
|
228
230
|
for usecase_kpi in use_case_specific_properties:
|
|
229
231
|
usecase_rule, usecase_details = list(usecase_kpi.items())[0]
|
|
230
232
|
usecase_condition = list(usecase_details.values())[0]
|
|
231
|
-
usecase_comparison_key = "{}{}".format(
|
|
233
|
+
usecase_comparison_key = "{}{}".format(
|
|
234
|
+
usecase_rule, usecase_condition
|
|
235
|
+
)
|
|
232
236
|
if comparison_key == usecase_comparison_key:
|
|
233
237
|
found = True
|
|
234
238
|
if found:
|
|
@@ -83,9 +83,11 @@ def check_if_needs_remote_fetch(
|
|
|
83
83
|
)
|
|
84
84
|
)
|
|
85
85
|
if property.startswith("s3://"):
|
|
86
|
-
|
|
86
|
+
logging.error(
|
|
87
|
+
"Unexpected s3 URL. It should have already been downloaded. Skipping..."
|
|
88
|
+
)
|
|
87
89
|
else:
|
|
88
|
-
|
|
90
|
+
wget.download(property, full_path)
|
|
89
91
|
else:
|
|
90
92
|
logging.info(
|
|
91
93
|
"Reusing cached remote file (located at {} ).".format(full_path)
|
|
@@ -151,7 +151,13 @@ def fetch_file_from_remote_setup(
|
|
|
151
151
|
|
|
152
152
|
|
|
153
153
|
def execute_remote_commands(
|
|
154
|
-
server_public_ip,
|
|
154
|
+
server_public_ip,
|
|
155
|
+
username,
|
|
156
|
+
private_key,
|
|
157
|
+
commands,
|
|
158
|
+
port,
|
|
159
|
+
get_pty=False,
|
|
160
|
+
limit_output_print=False,
|
|
155
161
|
):
|
|
156
162
|
res = []
|
|
157
163
|
c = connect_remote_ssh(port, private_key, server_public_ip, username)
|
|
@@ -163,20 +169,20 @@ def execute_remote_commands(
|
|
|
163
169
|
stderr = stderr.readlines()
|
|
164
170
|
if recv_exit_status != 0:
|
|
165
171
|
if not limit_output_print:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
172
|
+
logging.warning(
|
|
173
|
+
"Exit status: {} for command {}.\n\tSTDERR: {}\n\tSTDOUT: {}".format(
|
|
174
|
+
recv_exit_status, command, stdout, stderr
|
|
175
|
+
)
|
|
176
|
+
)
|
|
171
177
|
else:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
# Take first 10 lines, truncate each to 200 chars to avoid huge logs
|
|
179
|
+
stdout_limited = [line[:100] for line in stdout[:10]]
|
|
180
|
+
stderr_limited = [line[:100] for line in stderr[:10]]
|
|
181
|
+
logging.info(
|
|
182
|
+
"Exit status: {} for command {}.\n\tSTDERR: {}\n\tSTDOUT: {}".format(
|
|
183
|
+
recv_exit_status, command, stderr_limited, stdout_limited
|
|
184
|
+
)
|
|
185
|
+
)
|
|
180
186
|
res.append([recv_exit_status, stdout, stderr])
|
|
181
187
|
c.close()
|
|
182
188
|
return res
|
|
@@ -316,25 +322,67 @@ def setup_remote_environment(
|
|
|
316
322
|
):
|
|
317
323
|
logging.warning("Destroying previous setup")
|
|
318
324
|
tf.destroy()
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
325
|
+
|
|
326
|
+
# Capture output to provide better error messages
|
|
327
|
+
try:
|
|
328
|
+
return_code, stdout, stderr = tf.apply(
|
|
329
|
+
skip_plan=True,
|
|
330
|
+
capture_output=True, # Changed to True to capture error details
|
|
331
|
+
refresh=True,
|
|
332
|
+
var={
|
|
333
|
+
"github_sha": tf_github_sha,
|
|
334
|
+
"github_actor": tf_github_actor,
|
|
335
|
+
"setup_name": tf_setup_name,
|
|
336
|
+
"github_org": tf_github_org,
|
|
337
|
+
"Project": tf_github_org,
|
|
338
|
+
"project": tf_github_org,
|
|
339
|
+
"Environment": tf_github_org,
|
|
340
|
+
"environment": tf_github_org,
|
|
341
|
+
"github_repo": tf_github_repo,
|
|
342
|
+
"triggering_env": tf_triggering_env,
|
|
343
|
+
"timeout_secs": tf_timeout_secs,
|
|
344
|
+
},
|
|
345
|
+
raise_on_error=True,
|
|
346
|
+
)
|
|
347
|
+
# Log successful output for debugging
|
|
348
|
+
if stdout:
|
|
349
|
+
logging.info(f"Terraform apply stdout:\n{stdout}")
|
|
350
|
+
if stderr:
|
|
351
|
+
logging.warning(f"Terraform apply stderr:\n{stderr}")
|
|
352
|
+
except Exception as e:
|
|
353
|
+
# Provide detailed error information
|
|
354
|
+
logging.error("=" * 80)
|
|
355
|
+
logging.error("TERRAFORM APPLY FAILED")
|
|
356
|
+
logging.error("=" * 80)
|
|
357
|
+
logging.error(f"Error type: {type(e).__name__}")
|
|
358
|
+
logging.error(f"Error message: {str(e)}")
|
|
359
|
+
|
|
360
|
+
# Try to get the terraform command details
|
|
361
|
+
try:
|
|
362
|
+
if hasattr(e, "cmd"):
|
|
363
|
+
logging.error(f"Failed command: {e.cmd}")
|
|
364
|
+
if hasattr(e, "returncode"):
|
|
365
|
+
logging.error(f"Return code: {e.returncode}")
|
|
366
|
+
if hasattr(e, "stdout") and e.stdout:
|
|
367
|
+
logging.error(f"STDOUT:\n{e.stdout}")
|
|
368
|
+
if hasattr(e, "stderr") and e.stderr:
|
|
369
|
+
logging.error(f"STDERR:\n{e.stderr}")
|
|
370
|
+
except:
|
|
371
|
+
pass
|
|
372
|
+
|
|
373
|
+
logging.error("=" * 80)
|
|
374
|
+
logging.error(f"Terraform setup details:")
|
|
375
|
+
logging.error(f" - Setup name: {tf_setup_name}")
|
|
376
|
+
logging.error(f" - GitHub org: {tf_github_org}")
|
|
377
|
+
logging.error(f" - GitHub repo: {tf_github_repo}")
|
|
378
|
+
logging.error(f" - GitHub SHA: {tf_github_sha}")
|
|
379
|
+
logging.error(f" - Triggering env: {tf_triggering_env}")
|
|
380
|
+
logging.error(f" - Timeout: {tf_timeout_secs}s")
|
|
381
|
+
logging.error("=" * 80)
|
|
382
|
+
|
|
383
|
+
# Re-raise the exception with more context
|
|
384
|
+
raise
|
|
385
|
+
|
|
338
386
|
infra_wait_secs = 60
|
|
339
387
|
logging.warning(f"Infra ready wait... for {infra_wait_secs} secs")
|
|
340
388
|
time.sleep(infra_wait_secs)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
gitdir: ../../../../.git/modules/redisbench_admin/run/ann/pkg
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
name: ANN benchmarks
|
|
2
|
-
|
|
3
|
-
on: [push, pull_request]
|
|
4
|
-
|
|
5
|
-
jobs:
|
|
6
|
-
build:
|
|
7
|
-
|
|
8
|
-
runs-on: ubuntu-20.04
|
|
9
|
-
strategy:
|
|
10
|
-
matrix:
|
|
11
|
-
include:
|
|
12
|
-
- library: annoy
|
|
13
|
-
dataset: random-xs-20-angular
|
|
14
|
-
- library: dolphinn
|
|
15
|
-
dataset: random-xs-20-angular
|
|
16
|
-
- library: faiss
|
|
17
|
-
dataset: random-xs-20-angular
|
|
18
|
-
- library: flann
|
|
19
|
-
dataset: random-xs-20-angular
|
|
20
|
-
- library: kgraph
|
|
21
|
-
dataset: random-xs-20-angular
|
|
22
|
-
- library: milvus
|
|
23
|
-
dataset: random-xs-20-angular
|
|
24
|
-
- library: mrpt
|
|
25
|
-
dataset: random-xs-20-angular
|
|
26
|
-
- library: n2
|
|
27
|
-
dataset: random-xs-20-angular
|
|
28
|
-
- library: nearpy
|
|
29
|
-
dataset: random-xs-20-angular
|
|
30
|
-
- library: ngt
|
|
31
|
-
dataset: random-xs-20-angular
|
|
32
|
-
- library: nmslib
|
|
33
|
-
dataset: random-xs-20-angular
|
|
34
|
-
- library: hnswlib
|
|
35
|
-
dataset: random-xs-20-angular
|
|
36
|
-
- library: puffinn
|
|
37
|
-
dataset: random-xs-20-angular
|
|
38
|
-
- library: pynndescent
|
|
39
|
-
dataset: random-xs-20-angular
|
|
40
|
-
- library: rpforest
|
|
41
|
-
dataset: random-xs-20-angular
|
|
42
|
-
- library: sklearn
|
|
43
|
-
dataset: random-xs-20-angular
|
|
44
|
-
- library: sptag
|
|
45
|
-
dataset: random-xs-20-angular
|
|
46
|
-
- library: mih
|
|
47
|
-
dataset: random-xs-16-hamming
|
|
48
|
-
- library: datasketch
|
|
49
|
-
dataset: random-s-jaccard
|
|
50
|
-
- library: scann
|
|
51
|
-
dataset: random-xs-20-angular
|
|
52
|
-
- library: elasticsearch
|
|
53
|
-
dataset: random-xs-20-angular
|
|
54
|
-
- library: elastiknn
|
|
55
|
-
dataset: random-xs-20-angular
|
|
56
|
-
- library: opensearchknn
|
|
57
|
-
dataset: random-xs-20-angular
|
|
58
|
-
- library: diskann
|
|
59
|
-
dataset: random-xs-20-angular
|
|
60
|
-
- library: puffinn
|
|
61
|
-
dataset: random-s-jaccard
|
|
62
|
-
- library: pynndescent
|
|
63
|
-
dataset: random-s-jaccard
|
|
64
|
-
- library: vespa
|
|
65
|
-
dataset: random-xs-20-angular
|
|
66
|
-
- library: scipy
|
|
67
|
-
dataset: random-xs-20-angular
|
|
68
|
-
- library: vald
|
|
69
|
-
dataset: random-xs-20-angular
|
|
70
|
-
fail-fast: false
|
|
71
|
-
|
|
72
|
-
steps:
|
|
73
|
-
- uses: actions/checkout@v2 # Pull the repository
|
|
74
|
-
|
|
75
|
-
- name: Install various apt packages
|
|
76
|
-
run: sudo apt-get install -y libhdf5-dev python3-numpy python3-scipy python3-matplotlib python3-sklearn
|
|
77
|
-
|
|
78
|
-
- name: Install dependencies
|
|
79
|
-
run: |
|
|
80
|
-
pip3 install -r requirements.txt
|
|
81
|
-
python3 install.py
|
|
82
|
-
|
|
83
|
-
env:
|
|
84
|
-
LIBRARY: ${{ matrix.library }}
|
|
85
|
-
DATASET: ${{ matrix.dataset }}
|
|
86
|
-
|
|
87
|
-
- name: Run the benchmark
|
|
88
|
-
run: |
|
|
89
|
-
python3 run.py --docker-tag ann-benchmarks-${LIBRARY} --max-n-algorithms 5 --dataset $DATASET --run-disabled --timeout 300
|
|
90
|
-
python3 run.py --docker-tag ann-benchmarks-${LIBRARY} --max-n-algorithms 5 --dataset $DATASET --run-disabled --batch --timeout 300
|
|
91
|
-
sudo chmod -R 777 results/
|
|
92
|
-
python3 plot.py --dataset $DATASET --output plot.png
|
|
93
|
-
python3 plot.py --dataset $DATASET --output plot-batch.png --batch
|
|
94
|
-
python3 -m unittest test/test-metrics.py
|
|
95
|
-
python3 -m unittest test/test-jaccard.py
|
|
96
|
-
python3 create_website.py --outputdir . --scatter --latex
|
|
97
|
-
|
|
98
|
-
env:
|
|
99
|
-
LIBRARY: ${{ matrix.library }}
|
|
100
|
-
DATASET: ${{ matrix.dataset }}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2018 Erik Bernhardsson
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|