Skip to content

Commit abcc324

Browse files
Enabling compare mode to push updates to github and slack (#388)
* Added support for array in execute_init_commands * Bumping version from 0.9.30 to 0.9.31 * Enabling compare mode to push updates to github and slack * Enable loading default metric_name and baseline-branch from defaults_filename
1 parent 7eaf350 commit abcc324

File tree

10 files changed

+2026
-1325
lines changed

10 files changed

+2026
-1325
lines changed

poetry.lock

Lines changed: 1192 additions & 1175 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "redisbench-admin"
3-
version = "0.9.31"
3+
version = "0.9.32"
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"
@@ -41,6 +41,7 @@ redis = "^4.2.2"
4141
slack-sdk = "^3.15.2"
4242
slack-bolt = "^1.13.0"
4343
certifi = "^2021.10.8"
44+
pygithub = "^1.57"
4445

4546
[tool.poetry.dev-dependencies]
4647
pytest = "^4.6"

redisbench_admin/compare/args.py

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
# environment variables
88
import datetime
99

10-
from redisbench_admin.run.args import TRIGGERING_ENV
11-
from redisbench_admin.run.common import get_start_time_vars
10+
from redisbench_admin.run.common import get_start_time_vars, PERFORMANCE_GH_TOKEN
1211
from redisbench_admin.utils.remote import (
1312
PERFORMANCE_RTS_HOST,
1413
PERFORMANCE_RTS_PORT,
@@ -27,9 +26,9 @@
2726
) = extract_git_vars()
2827

2928
_, NOW_UTC, _ = get_start_time_vars()
30-
LAST_WEEK_UTC = NOW_UTC - (7 * 24 * 60 * 60 * 1000)
29+
LAST_MONTH_UTC = NOW_UTC - (31 * 24 * 60 * 60 * 1000)
3130
START_TIME_NOW_UTC, _, _ = get_start_time_vars()
32-
START_TIME_LAST_WEEK_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=7)
31+
START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=30)
3332

3433

3534
def create_compare_arguments(parser):
@@ -39,26 +38,45 @@ def create_compare_arguments(parser):
3938
default="",
4039
help="specify a test (or a comma separated list of tests) to use for comparison. If none is specified by default will use all of them.",
4140
)
41+
parser.add_argument(
42+
"--defaults_filename",
43+
type=str,
44+
default="defaults.yml",
45+
help="specify the defaults file containing spec topologies, common metric extractions,etc...",
46+
)
4247
parser.add_argument("--github_repo", type=str, default=GITHUB_REPO)
4348
parser.add_argument("--github_org", type=str, default=GITHUB_ORG)
44-
parser.add_argument("--triggering_env", type=str, default=TRIGGERING_ENV)
49+
parser.add_argument("--triggering_env", type=str, default="circleci")
50+
parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
51+
parser.add_argument("--pull-request", type=str, default=None, nargs="?", const="")
4552
parser.add_argument("--deployment_name", type=str, default="oss-standalone")
4653
parser.add_argument("--deployment_type", type=str, default="oss-standalone")
4754
parser.add_argument("--baseline_deployment_name", type=str, default="")
4855
parser.add_argument("--comparison_deployment_name", type=str, default="")
49-
parser.add_argument("--metric_name", type=str, default="Tests.Overall.rps")
56+
parser.add_argument("--metric_name", type=str, default=None)
5057
parser.add_argument("--extra-filter", type=str, default=None)
5158
parser.add_argument(
5259
"--last_n",
5360
type=int,
5461
default=-1,
5562
help="Use the last N samples for each time-serie. by default will use all available values",
5663
)
64+
parser.add_argument(
65+
"--last_n_baseline",
66+
type=int,
67+
default=7,
68+
help="Use the last N samples for each time-serie. by default will use last 7 available values",
69+
)
70+
parser.add_argument(
71+
"--last_n_comparison",
72+
type=int,
73+
default=1,
74+
help="Use the last N samples for each time-serie. by default will use last value only",
75+
)
5776
parser.add_argument(
5877
"--from-date",
5978
type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
60-
default=START_TIME_LAST_WEEK_UTC,
61-
help="Only consider regressions with a percentage over the defined limit. (0-100)",
79+
default=START_TIME_LAST_MONTH_UTC,
6280
)
6381
parser.add_argument(
6482
"--to-date",
@@ -105,4 +123,17 @@ def create_compare_arguments(parser):
105123
help="The minimum period to use for the the value fetching",
106124
)
107125
parser.add_argument("--to_timestamp", default=None)
126+
127+
parser.add_argument(
128+
"--grafana_base_dashboard",
129+
type=str,
130+
default="https://benchmarksrediscom.grafana.net/d/",
131+
)
132+
parser.add_argument(
133+
"--auto-approve",
134+
required=False,
135+
default=False,
136+
action="store_true",
137+
help="Skip interactive approval of changes to github before applying.",
138+
)
108139
return parser

0 commit comments

Comments
 (0)