Skip to content

Commit 968767a

Browse files
Using metadata property in run-remote tool. Updated ann-benchmarks (#308)
* Using metadata property in run-remote tool * Updated ann-benchmarks to multiclient_tool bfa141e4dd4bed6eca60b419f409738906466bbe
1 parent b79e7a8 commit 968767a

File tree

8 files changed

+38
-5
lines changed

8 files changed

+38
-5
lines changed

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "redisbench-admin"
3-
version = "0.7.7"
3+
version = "0.7.8"
44
description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )."
55
authors = ["filipecosta90 <[email protected]>","Redis Performance Group <[email protected]>"]
66
readme = "README.md"

redisbench_admin/run/args.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
BENCHMARK_GLOB = os.getenv("BENCHMARK_GLOB", "*.yml")
2727
S3_BUCKET_NAME = os.getenv("S3_BUCKET_NAME", "ci.benchmarks.redislabs")
2828
PUSH_S3 = bool(os.getenv("PUSH_S3", False))
29-
FAIL_FAST = bool(os.getenv("FAIL_FAST", False))
29+
FAIL_FAST = bool(int(os.getenv("FAIL_FAST", 0)))
3030
PROFILERS_DSO = os.getenv("PROFILERS_DSO", None)
3131
PROFILERS_ENABLED = bool(int(os.getenv("PROFILE", 0)))
3232
PROFILERS = os.getenv("PROFILERS", PROFILERS_DEFAULT)

redisbench_admin/run_remote/run_remote.py

+8
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
)
5151
from redisbench_admin.utils.benchmark_config import (
5252
prepare_benchmark_definitions,
53+
get_metadata_tags,
5354
)
5455
from redisbench_admin.utils.redisgraph_benchmark_go import setup_remote_benchmark_agent
5556
from redisbench_admin.utils.remote import (
@@ -211,6 +212,12 @@ def run_remote_command_logic(args, project_name, project_version):
211212
overall_tables[setup_name] = {}
212213

213214
for test_name, benchmark_config in benchmarks_map.items():
215+
metadata_tags = get_metadata_tags(benchmark_config)
216+
logging.info(
217+
"Including the extra metadata tags into this test generated time-series: {}".format(
218+
metadata_tags
219+
)
220+
)
214221
for repetition in range(1, BENCHMARK_REPETITIONS + 1):
215222
remote_perf = None
216223
logging.info(
@@ -665,6 +672,7 @@ def run_remote_command_logic(args, project_name, project_version):
665672
tf_github_org,
666673
tf_github_repo,
667674
tf_triggering_env,
675+
metadata_tags,
668676
)
669677
if branch_target_tables is not None:
670678
for (

redisbench_admin/utils/benchmark_config.py

+7
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,13 @@ def extract_exporter_metrics(default_config):
292292
return default_metrics, exporter_timemetric_path
293293

294294

295+
def get_metadata_tags(benchmark_config):
296+
metadata_tags = {}
297+
if "metadata" in benchmark_config:
298+
metadata_tags = benchmark_config["metadata"]
299+
return metadata_tags
300+
301+
295302
def extract_benchmark_type_from_config(
296303
benchmark_config,
297304
config_key="clientconfig",

tests/test_benchmark_config.py

+13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
check_required_modules,
88
extract_redis_dbconfig_parameters,
99
extract_benchmark_type_from_config,
10+
get_metadata_tags,
1011
)
1112

1213

@@ -132,3 +133,15 @@ def test_extract_benchmark_type_from_config():
132133
)
133134
assert benchmark_type == "mixed"
134135
assert benchmark_config_present == False
136+
137+
138+
def test_get_metadata_tags():
139+
with open("./tests/test_data/vecsim-memtier.yml", "r") as yml_file:
140+
benchmark_config = yaml.safe_load(yml_file)
141+
metadata_tags = get_metadata_tags(benchmark_config)
142+
assert metadata_tags == {"component": "vecsim"}
143+
144+
with open("./tests/test_data/redis-benchmark.yml", "r") as yml_file:
145+
benchmark_config = yaml.safe_load(yml_file)
146+
metadata_tags = get_metadata_tags(benchmark_config)
147+
assert metadata_tags == {}

tests/test_data/vecsim-memtier.yml

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

22
name: "vecsim_hybrid_HNSW_05"
33
description: "hybrid hnsw with 0.5% filtered results"
4+
metadata:
5+
component: "vecsim"
46
remote:
57
- type: oss-standalone
68
- setup: redisearch-m5d

tests/test_run_remote.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@
66
import os
77

88
import redis
9-
from redisbench_admin.run.metrics import collect_redis_metrics
9+
import yaml
1010

11+
from redisbench_admin.run.metrics import collect_redis_metrics
1112

12-
from redisbench_admin.run_remote.run_remote import export_redis_metrics
13+
from redisbench_admin.run_remote.run_remote import (
14+
export_redis_metrics,
15+
)
1316

1417

1518
def test_export_redis_metrics():

0 commit comments

Comments
 (0)