Skip to content

Commit 4a5d779

Browse files
Extended timeseries labels with by branch and tag combinations (#401)
1 parent 13630cd commit 4a5d779

File tree

3 files changed

+85
-2
lines changed

3 files changed

+85
-2
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "redisbench-admin"
3-
version = "0.10.1"
3+
version = "0.10.2"
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 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
66
readme = "README.md"

redisbench_admin/run_remote/run_remote.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1288,10 +1288,37 @@ def commandstats_latencystats_process_name(
12881288
shard = metric_and_shard.split("_shard_")[1]
12891289
variant_labels_dict["metric"] = metric
12901290
variant_labels_dict["command"] = command
1291+
variant_labels_dict["command_and_metric"] = "{} - {}".format(command, metric)
1292+
variant_labels_dict["command_and_metric_and_setup"] = "{} - {} - {}".format(
1293+
command, metric, setup_name
1294+
)
12911295
variant_labels_dict["command_and_setup"] = "{} - {}".format(command, setup_name)
12921296
variant_labels_dict["shard"] = shard
12931297
variant_labels_dict["metric_and_shard"] = metric_and_shard
12941298

1299+
version = None
1300+
branch = None
1301+
if "version" in variant_labels_dict:
1302+
version = variant_labels_dict["version"]
1303+
if "branch" in variant_labels_dict:
1304+
branch = variant_labels_dict["branch"]
1305+
1306+
if version is not None:
1307+
variant_labels_dict[
1308+
"command_and_metric_and_version"
1309+
] = "{} - {} - {}".format(command, metric, version)
1310+
variant_labels_dict[
1311+
"command_and_metric_and_setup_and_version"
1312+
] = "{} - {} - {} - {}".format(command, metric, setup_name, version)
1313+
1314+
if branch is not None:
1315+
variant_labels_dict[
1316+
"command_and_metric_and_branch"
1317+
] = "{} - {} - {}".format(command, metric, branch)
1318+
variant_labels_dict[
1319+
"command_and_metric_and_setup_and_branch"
1320+
] = "{} - {} - {} - {}".format(command, metric, setup_name, branch)
1321+
12951322

12961323
def shutdown_remote_redis(redis_conns, ssh_tunnel):
12971324
logging.info("Shutting down remote redis.")

tests/test_run_remote.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def test_export_redis_metrics():
6868

6969
time_ms, _, overall_end_time_metrics = collect_redis_metrics([rts])
7070
artifact_version = "6.2.3"
71+
tf_github_branch = "master"
7172
datapoint_errors, datapoint_inserts = export_redis_metrics(
7273
artifact_version,
7374
time_ms,
@@ -92,9 +93,64 @@ def test_export_redis_metrics():
9293
assert labels_rts_cmdstats["metric-type"] == "test-tag"
9394
assert labels_rts_cmdstats["command"] == "ping"
9495
assert labels_rts_cmdstats["command_and_setup"] == "ping - setup_name"
96+
assert (
97+
labels_rts_cmdstats["command_and_metric_and_setup"]
98+
== "ping - calls - setup_name"
99+
)
100+
assert (
101+
labels_rts_cmdstats["command_and_metric_and_setup_and_version"]
102+
== "ping - calls - setup_name - 6.2.3"
103+
)
104+
assert labels_rts_cmdstats["metric"] == "calls"
105+
assert labels_rts_cmdstats["shard"] == "1"
106+
assert labels_rts_cmdstats["metric_and_shard"] == "calls"
107+
108+
labels_rts_cmdstats = (
109+
rts.ts()
110+
.info(
111+
"ci.benchmarks.redislabs/env/org/repo/test1/by.version/6.2.3/benchmark_end/setup_name/commandstats_cmdstat_ping_calls"
112+
)
113+
.labels
114+
)
115+
assert labels_rts_cmdstats["metric-type"] == "test-tag"
116+
assert labels_rts_cmdstats["command"] == "ping"
117+
assert labels_rts_cmdstats["command_and_setup"] == "ping - setup_name"
118+
assert (
119+
labels_rts_cmdstats["command_and_metric_and_setup"]
120+
== "ping - calls - setup_name"
121+
)
122+
assert (
123+
labels_rts_cmdstats["command_and_metric_and_setup_and_version"]
124+
== "ping - calls - setup_name - 6.2.3"
125+
)
126+
assert labels_rts_cmdstats["metric"] == "calls"
127+
assert labels_rts_cmdstats["shard"] == "1"
128+
assert labels_rts_cmdstats["metric_and_shard"] == "calls"
129+
130+
# by branch
131+
labels_rts_cmdstats = (
132+
rts.ts()
133+
.info(
134+
"ci.benchmarks.redislabs/env/org/repo/test1/by.branch/master/benchmark_end/setup_name/commandstats_cmdstat_ping_calls"
135+
)
136+
.labels
137+
)
138+
assert labels_rts_cmdstats["metric-type"] == "test-tag"
139+
assert labels_rts_cmdstats["command"] == "ping"
140+
assert labels_rts_cmdstats["command_and_setup"] == "ping - setup_name"
141+
assert (
142+
labels_rts_cmdstats["command_and_metric_and_setup"]
143+
== "ping - calls - setup_name"
144+
)
145+
assert (
146+
labels_rts_cmdstats["command_and_metric_and_setup_and_branch"]
147+
== "ping - calls - setup_name - master"
148+
)
95149
assert labels_rts_cmdstats["metric"] == "calls"
96150
assert labels_rts_cmdstats["shard"] == "1"
97151
assert labels_rts_cmdstats["metric_and_shard"] == "calls"
152+
153+
#
98154
assert "ci.benchmarks.redislabs/env/org/repo/test1/by.version/6.2.3/benchmark_end/setup_name/commandstats_cmdstat_ping_calls" in rts.ts().queryindex(
99155
["metric-type=test-tag"]
100156
)
@@ -118,7 +174,7 @@ def test_export_redis_metrics():
118174
assert labels_rts_latencystats["shard"] == "1"
119175
assert labels_rts_latencystats["metric_and_shard"] == "p50"
120176
assert datapoint_errors == 0
121-
assert datapoint_inserts == (1 * len(list(overall_end_time_metrics.keys())))
177+
assert datapoint_inserts == (2 * len(list(overall_end_time_metrics.keys())))
122178
tf_github_branch = "master"
123179
datapoint_errors, datapoint_inserts = export_redis_metrics(
124180
artifact_version,

0 commit comments

Comments
 (0)