Skip to content

Commit

Permalink
Enabling compare mode to push updates to github and slack (#388)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
filipecosta90 authored Jan 4, 2023
1 parent 7eaf350 commit abcc324
Show file tree
Hide file tree
Showing 10 changed files with 2,026 additions and 1,325 deletions.
2,367 changes: 1,192 additions & 1,175 deletions poetry.lock

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "redisbench-admin"
version = "0.9.31"
version = "0.9.32"
description = "Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... )."
authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
readme = "README.md"
Expand Down Expand Up @@ -41,6 +41,7 @@ redis = "^4.2.2"
slack-sdk = "^3.15.2"
slack-bolt = "^1.13.0"
certifi = "^2021.10.8"
pygithub = "^1.57"

[tool.poetry.dev-dependencies]
pytest = "^4.6"
Expand Down
47 changes: 39 additions & 8 deletions redisbench_admin/compare/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
# environment variables
import datetime

from redisbench_admin.run.args import TRIGGERING_ENV
from redisbench_admin.run.common import get_start_time_vars
from redisbench_admin.run.common import get_start_time_vars, PERFORMANCE_GH_TOKEN
from redisbench_admin.utils.remote import (
PERFORMANCE_RTS_HOST,
PERFORMANCE_RTS_PORT,
Expand All @@ -27,9 +26,9 @@
) = extract_git_vars()

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


def create_compare_arguments(parser):
Expand All @@ -39,26 +38,45 @@ def create_compare_arguments(parser):
default="",
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.",
)
parser.add_argument(
"--defaults_filename",
type=str,
default="defaults.yml",
help="specify the defaults file containing spec topologies, common metric extractions,etc...",
)
parser.add_argument("--github_repo", type=str, default=GITHUB_REPO)
parser.add_argument("--github_org", type=str, default=GITHUB_ORG)
parser.add_argument("--triggering_env", type=str, default=TRIGGERING_ENV)
parser.add_argument("--triggering_env", type=str, default="circleci")
parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
parser.add_argument("--pull-request", type=str, default=None, nargs="?", const="")
parser.add_argument("--deployment_name", type=str, default="oss-standalone")
parser.add_argument("--deployment_type", type=str, default="oss-standalone")
parser.add_argument("--baseline_deployment_name", type=str, default="")
parser.add_argument("--comparison_deployment_name", type=str, default="")
parser.add_argument("--metric_name", type=str, default="Tests.Overall.rps")
parser.add_argument("--metric_name", type=str, default=None)
parser.add_argument("--extra-filter", type=str, default=None)
parser.add_argument(
"--last_n",
type=int,
default=-1,
help="Use the last N samples for each time-serie. by default will use all available values",
)
parser.add_argument(
"--last_n_baseline",
type=int,
default=7,
help="Use the last N samples for each time-serie. by default will use last 7 available values",
)
parser.add_argument(
"--last_n_comparison",
type=int,
default=1,
help="Use the last N samples for each time-serie. by default will use last value only",
)
parser.add_argument(
"--from-date",
type=lambda s: datetime.datetime.strptime(s, "%Y-%m-%d"),
default=START_TIME_LAST_WEEK_UTC,
help="Only consider regressions with a percentage over the defined limit. (0-100)",
default=START_TIME_LAST_MONTH_UTC,
)
parser.add_argument(
"--to-date",
Expand Down Expand Up @@ -105,4 +123,17 @@ def create_compare_arguments(parser):
help="The minimum period to use for the the value fetching",
)
parser.add_argument("--to_timestamp", default=None)

parser.add_argument(
"--grafana_base_dashboard",
type=str,
default="https://benchmarksrediscom.grafana.net/d/",
)
parser.add_argument(
"--auto-approve",
required=False,
default=False,
action="store_true",
help="Skip interactive approval of changes to github before applying.",
)
return parser
Loading

0 comments on commit abcc324

Please sign in to comment.