redisbench-admin 0.11.56__tar.gz → 0.11.58__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.56 → redisbench_admin-0.11.58}/PKG-INFO +1 -1
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/pyproject.toml +1 -1
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ftsb/ftsb.py +2 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ssh.py +3 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_helpers.py +89 -11
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/benchmark_config.py +51 -28
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/local.py +5 -2
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/remote.py +2 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/LICENSE +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/README.md +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/cli.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/commands/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/commands/commands.json.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/compare/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/compare/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/compare/compare.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/deploy/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/deploy/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/deploy/deploy.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/environments/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/environments/oss_cluster.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/environments/oss_standalone.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/common/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/common/common.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/export.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/google_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/google_benchmark/google_benchmark_json_format.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/memtier_benchmark/memtier_benchmark_json_format.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/pyperf/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/pyperf/pyperf_json_format.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/redis_benchmark/metrics_definition.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/redis_benchmark/redis_benchmark_csv_format.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/extract/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/extract/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/extract/extract.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/app.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/grafana_api.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/daemon.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/flamegraph.pl +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/perf.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/perf_daemon_caller.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/pprof.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers_local.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers_schema.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/stackcollapse-perf.pl +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/vtune.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/aibench_run_inference_redisai_vision/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/aibench_run_inference_redisai_vision/aibench_run_inference_redisai_vision.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ann/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ann/ann.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/asm.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/cluster.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/common.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ftsb/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/git.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/grafana.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/memtier_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/memtier_benchmark/memtier_benchmark.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/metrics.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/modules.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redis_benchmark/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redis_benchmark/redis_benchmark.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redisgraph_benchmark_go/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redisgraph_benchmark_go/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redistimeseries.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/run.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/s3.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/tsbs_run_queries_redistimeseries/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/tsbs_run_queries_redistimeseries/tsbs_run_queries_redistimeseries.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ycsb/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/ycsb/ycsb.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/async_env.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/async_terraform.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/benchmark.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/log.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/render_files.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/run_async.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_client.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_db.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_helpers.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/run_local.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/consts.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/log.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/notifications.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_client.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_db.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_env.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_failures.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/run_remote.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/standalone.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/terraform.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/redisearch.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/redisgraph_benchmark_go.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/results.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/ssh.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/utils.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/watchdog/__init__.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/watchdog/args.py +0 -0
- {redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/watchdog/watchdog.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: redisbench-admin
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.58
|
|
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
|
License-File: LICENSE
|
|
6
6
|
Author: filipecosta90
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "redisbench-admin"
|
|
3
|
-
version = "0.11.
|
|
3
|
+
version = "0.11.58"
|
|
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"
|
|
@@ -44,6 +44,8 @@ def prepare_ftsb_benchmark_command(
|
|
|
44
44
|
input_file, "/tmp", None, remote_queries_file, is_remote
|
|
45
45
|
)
|
|
46
46
|
command_arr.extend(["--input", input_file])
|
|
47
|
+
elif "max-token-size-mb" in k:
|
|
48
|
+
command_arr.extend(["--max-token-size-mb", str(k["max-token-size-mb"])])
|
|
47
49
|
else:
|
|
48
50
|
for kk in k.keys():
|
|
49
51
|
command_arr.extend(["--{}".format(kk), str(k[kk])])
|
|
@@ -35,6 +35,9 @@ def ssh_tunnel_redisconn(
|
|
|
35
35
|
ssh_address_or_host=(server_public_ip, ssh_port),
|
|
36
36
|
ssh_username=username,
|
|
37
37
|
ssh_pkey=ssh_pkey,
|
|
38
|
+
ssh_config_file=None,
|
|
39
|
+
allow_agent=False,
|
|
40
|
+
host_pkey_directories=[],
|
|
38
41
|
logger=logging.getLogger(),
|
|
39
42
|
remote_bind_address=(
|
|
40
43
|
server_private_ip,
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_helpers.py
RENAMED
|
@@ -51,6 +51,50 @@ def benchmark_tools_sanity_check(allowed_tools, benchmark_tool):
|
|
|
51
51
|
)
|
|
52
52
|
|
|
53
53
|
|
|
54
|
+
def ensure_aws_cli_available(client_public_ip, username, private_key, client_ssh_port):
|
|
55
|
+
"""Check if AWS CLI is available, install if not"""
|
|
56
|
+
logging.info("Checking if AWS CLI is available on remote client...")
|
|
57
|
+
|
|
58
|
+
# Check if aws command exists
|
|
59
|
+
check_result = execute_remote_commands(
|
|
60
|
+
client_public_ip, username, private_key, ["which aws"], client_ssh_port
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
# Check the result
|
|
64
|
+
if len(check_result) > 0:
|
|
65
|
+
[recv_exit_status, stdout, stderr] = check_result[0]
|
|
66
|
+
if recv_exit_status != 0:
|
|
67
|
+
logging.info("AWS CLI not found, installing...")
|
|
68
|
+
|
|
69
|
+
# Install AWS CLI v2
|
|
70
|
+
install_commands = [
|
|
71
|
+
"curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o 'awscliv2.zip'",
|
|
72
|
+
"unzip -q awscliv2.zip",
|
|
73
|
+
"sudo ./aws/install",
|
|
74
|
+
"rm -rf awscliv2.zip aws/"
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
install_result = execute_remote_commands(
|
|
78
|
+
client_public_ip, username, private_key, install_commands, client_ssh_port
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Check if installation was successful
|
|
82
|
+
for pos, res_pos in enumerate(install_result):
|
|
83
|
+
[recv_exit_status, stdout, stderr] = res_pos
|
|
84
|
+
if recv_exit_status != 0:
|
|
85
|
+
logging.warning(
|
|
86
|
+
"AWS CLI installation command {} returned exit code {}. stdout: {}. stderr: {}".format(
|
|
87
|
+
pos, recv_exit_status, stdout, stderr
|
|
88
|
+
)
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
logging.info("AWS CLI installation completed")
|
|
92
|
+
else:
|
|
93
|
+
logging.info("AWS CLI is already available")
|
|
94
|
+
else:
|
|
95
|
+
logging.error("Failed to check AWS CLI availability")
|
|
96
|
+
|
|
97
|
+
|
|
54
98
|
def remote_tool_pre_bench_step(
|
|
55
99
|
benchmark_config,
|
|
56
100
|
benchmark_min_tool_version,
|
|
@@ -205,8 +249,7 @@ def remote_tool_pre_bench_step(
|
|
|
205
249
|
)
|
|
206
250
|
logging.info("Finished up remote tool {} requirements".format(benchmark_tool))
|
|
207
251
|
|
|
208
|
-
|
|
209
|
-
def setup_remote_benchmark_tool_requirements_ftsb(
|
|
252
|
+
def _setup_remote_benchmark_tool_requirements(
|
|
210
253
|
client_public_ip,
|
|
211
254
|
username,
|
|
212
255
|
private_key,
|
|
@@ -218,14 +261,47 @@ def setup_remote_benchmark_tool_requirements_ftsb(
|
|
|
218
261
|
):
|
|
219
262
|
commands = [
|
|
220
263
|
"wget {} -q -O {}".format(tool_link, remote_tool_link),
|
|
221
|
-
"
|
|
222
|
-
"chmod 755 {}".format(remote_tool_link),
|
|
264
|
+
"chmod 755 {}".format(remote_tool_link)
|
|
223
265
|
]
|
|
266
|
+
|
|
267
|
+
# detect if queries_file_link is a s3 URI or http one and act accordingly (use aws cli or wget)
|
|
268
|
+
if queries_file_link is not None:
|
|
269
|
+
if queries_file_link.startswith("s3://"):
|
|
270
|
+
ensure_aws_cli_available(client_public_ip, username, private_key, client_ssh_port)
|
|
271
|
+
commands.append(
|
|
272
|
+
"timeout 600 aws s3 cp {} {} --no-sign-request --cli-read-timeout 300".format(queries_file_link, remote_input_file)
|
|
273
|
+
)
|
|
274
|
+
else:
|
|
275
|
+
commands.append("wget {} -q -O {}".format(queries_file_link, remote_input_file))
|
|
276
|
+
else:
|
|
277
|
+
logging.info("No queries file link provided. Skipping download.")
|
|
224
278
|
execute_remote_commands(
|
|
225
279
|
client_public_ip, username, private_key, commands, client_ssh_port
|
|
226
280
|
)
|
|
227
281
|
|
|
228
282
|
|
|
283
|
+
def setup_remote_benchmark_tool_requirements_ftsb(
|
|
284
|
+
client_public_ip,
|
|
285
|
+
username,
|
|
286
|
+
private_key,
|
|
287
|
+
tool_link,
|
|
288
|
+
queries_file_link,
|
|
289
|
+
remote_tool_link,
|
|
290
|
+
remote_input_file,
|
|
291
|
+
client_ssh_port,
|
|
292
|
+
):
|
|
293
|
+
_setup_remote_benchmark_tool_requirements(
|
|
294
|
+
client_public_ip,
|
|
295
|
+
username,
|
|
296
|
+
private_key,
|
|
297
|
+
tool_link,
|
|
298
|
+
queries_file_link,
|
|
299
|
+
remote_tool_link,
|
|
300
|
+
remote_input_file,
|
|
301
|
+
client_ssh_port,
|
|
302
|
+
)
|
|
303
|
+
|
|
304
|
+
|
|
229
305
|
def setup_remote_benchmark_tool_requirements_tsbs(
|
|
230
306
|
client_public_ip,
|
|
231
307
|
username,
|
|
@@ -236,13 +312,15 @@ def setup_remote_benchmark_tool_requirements_tsbs(
|
|
|
236
312
|
remote_input_file,
|
|
237
313
|
client_ssh_port,
|
|
238
314
|
):
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
315
|
+
_setup_remote_benchmark_tool_requirements(
|
|
316
|
+
client_public_ip,
|
|
317
|
+
username,
|
|
318
|
+
private_key,
|
|
319
|
+
tool_link,
|
|
320
|
+
queries_file_link,
|
|
321
|
+
remote_tool_link,
|
|
322
|
+
remote_input_file,
|
|
323
|
+
client_ssh_port,
|
|
246
324
|
)
|
|
247
325
|
|
|
248
326
|
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/utils/benchmark_config.py
RENAMED
|
@@ -195,36 +195,59 @@ def merge_default_and_specific_properties_dict_type(
|
|
|
195
195
|
)
|
|
196
196
|
)
|
|
197
197
|
else:
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
198
|
+
# Special handling for remote configs
|
|
199
|
+
if propertygroup_keyname == "remote":
|
|
200
|
+
# For remote, merge by adding missing keys from defaults
|
|
201
|
+
use_case_specific_properties = benchmark_config[propertygroup_keyname]
|
|
202
|
+
existing_keys = set()
|
|
203
|
+
for item in use_case_specific_properties:
|
|
204
|
+
existing_keys.update(item.keys())
|
|
205
|
+
|
|
206
|
+
for default_property in default_properties:
|
|
207
|
+
for key in default_property.keys():
|
|
208
|
+
if key not in existing_keys:
|
|
209
|
+
use_case_specific_properties.append(default_property)
|
|
210
|
+
logging.info(
|
|
211
|
+
"Adding a default '{}' property ({}) given the file {} did not have the specific property".format(
|
|
212
|
+
propertygroup_keyname, default_property, usecase_filename
|
|
213
|
+
)
|
|
214
|
+
)
|
|
215
|
+
break
|
|
216
|
+
else:
|
|
217
|
+
# Original logic for kpis and other properties
|
|
218
|
+
usecase_kpi = None
|
|
219
|
+
use_case_specific_properties = benchmark_config[propertygroup_keyname]
|
|
220
|
+
for default_property in default_properties:
|
|
221
|
+
default_rule, default_details = list(default_property.items())[0]
|
|
222
|
+
if isinstance(default_details, dict):
|
|
223
|
+
default_condition = list(default_details.values())[0]
|
|
224
|
+
else:
|
|
225
|
+
default_condition = default_details
|
|
226
|
+
comparison_key = "{}{}".format(default_rule, default_condition)
|
|
227
|
+
found = False
|
|
228
|
+
for usecase_kpi in use_case_specific_properties:
|
|
229
|
+
usecase_rule, usecase_details = list(usecase_kpi.items())[0]
|
|
230
|
+
usecase_condition = list(usecase_details.values())[0]
|
|
231
|
+
usecase_comparison_key = "{}{}".format(usecase_rule, usecase_condition)
|
|
232
|
+
if comparison_key == usecase_comparison_key:
|
|
233
|
+
found = True
|
|
234
|
+
if found:
|
|
235
|
+
logging.info(
|
|
236
|
+
"Skipping to add default '{}' property ({}) given the file {}"
|
|
237
|
+
" had the same specific property ({})".format(
|
|
238
|
+
propertygroup_keyname,
|
|
239
|
+
default_property,
|
|
240
|
+
usecase_filename,
|
|
241
|
+
usecase_kpi,
|
|
242
|
+
)
|
|
219
243
|
)
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
244
|
+
else:
|
|
245
|
+
use_case_specific_properties.append(default_property)
|
|
246
|
+
logging.info(
|
|
247
|
+
"Adding a default '{}' property ({}) given the file {} did not have the specific property".format(
|
|
248
|
+
propertygroup_keyname, default_property, usecase_filename
|
|
249
|
+
)
|
|
226
250
|
)
|
|
227
|
-
)
|
|
228
251
|
|
|
229
252
|
|
|
230
253
|
def extract_redis_dbconfig_parameters(benchmark_config, dbconfig_keyname):
|
|
@@ -70,7 +70,7 @@ def check_dataset_local_requirements(
|
|
|
70
70
|
def check_if_needs_remote_fetch(
|
|
71
71
|
property, localtemp_dir, dirname, full_path=None, is_remote=False
|
|
72
72
|
):
|
|
73
|
-
if property.startswith("http"):
|
|
73
|
+
if property.startswith("http") or property.startswith("s3"):
|
|
74
74
|
if not os.path.isdir(localtemp_dir):
|
|
75
75
|
os.mkdir(localtemp_dir)
|
|
76
76
|
if full_path is None:
|
|
@@ -82,7 +82,10 @@ def check_if_needs_remote_fetch(
|
|
|
82
82
|
property, full_path, localtemp_dir
|
|
83
83
|
)
|
|
84
84
|
)
|
|
85
|
-
|
|
85
|
+
if property.startswith("s3://"):
|
|
86
|
+
logging.error("Unexpected s3 URL. It should have already been downloaded. Skipping...")
|
|
87
|
+
else:
|
|
88
|
+
wget.download(property, full_path)
|
|
86
89
|
else:
|
|
87
90
|
logging.info(
|
|
88
91
|
"Reusing cached remote file (located at {} ).".format(full_path)
|
|
@@ -178,6 +178,8 @@ def connect_remote_ssh(port, private_key, server_public_ip, username):
|
|
|
178
178
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
179
179
|
logging.info("Connecting to remote server {}".format(server_public_ip))
|
|
180
180
|
c.connect(hostname=server_public_ip, port=port, username=username, pkey=k)
|
|
181
|
+
transport = c.get_transport()
|
|
182
|
+
transport.set_keepalive(10) # Send keepalive every 10 seconds
|
|
181
183
|
logging.info("Connected to remote server {}".format(server_public_ip))
|
|
182
184
|
return c
|
|
183
185
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/commands/commands.json.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/environments/__init__.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/environments/oss_cluster.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/common/__init__.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/common/common.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/export/pyperf/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/grafana_api/grafana_api.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/flamegraph.pl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers_local.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/profilers/profilers_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run/redistimeseries.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/__init__.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/async_env.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/async_terraform.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/benchmark.py
RENAMED
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/render_files.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_async/run_async.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_client.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_db.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/local_helpers.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_local/run_local.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/notifications.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_client.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_db.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_env.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/remote_failures.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/run_remote.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/standalone.py
RENAMED
|
File without changes
|
{redisbench_admin-0.11.56 → redisbench_admin-0.11.58}/redisbench_admin/run_remote/terraform.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|