From 01ed62f25ccbe0ff3dc9f77487211c3120e878dc Mon Sep 17 00:00:00 2001 From: Wei Su Date: Fri, 23 Aug 2024 15:16:18 -0700 Subject: [PATCH] Release version 0.2.0 Summary: Release version 0.2.0: * Update CHANGELOG * Implement `--version` in Benchpress CLI Reviewed By: ahmadelyoussef Differential Revision: D61737970 fbshipit-source-id: 58f9c7ce60193282c11161bd23055ffe4fe054ef --- CHANGELOG.md | 58 ++++++++++++++++++++++++++++++++++++++++++ benchpress/__init__.py | 5 ++++ benchpress/cli/main.py | 3 ++- benchpress/version.py | 4 +++ 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md create mode 100644 benchpress/version.py diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..388697b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,58 @@ +# 0.2.0 + +### New Benchmarks + +* Added Video Transcoding Benchmark + +### Bug Fixes + +#### DjangoBench: + + + Fixed patching logic to make sure patches were properly applied when installing on Ubuntu. + + Fixed the bug that Ctrl+C might not end the benchmark. + + Made sure the cleanup command will succeed regardless of the status of `kill`. + +#### FeedSim: + + + Solved unstable multi-instance runs on large core count CPUs and prevented fall-back to + fixed-QPS runs, thus saving benchmark execution time. + + Fixed potential un-synchronized final 5-min benchmarking phase among mutliple instances. + +#### In Perf monitoring hook: + + + Handled topdown errors to prevent blocking results reporting. + +#### TaoBench: + + + Ensured TaoBench client would be linked with the openssl 1.1 that came with tao\_bench package + and not the openssl in the system. + +### Documentation + +* Updated READMEs + +### Feature Improvements + +#### DjangoBench + + + Added Standalone mode to enable running DjangoBench on single node + + Added a parameter `bind_ip` to DjangoBench's `db` role so that we will be able to + bind Cassandra DB to a custom IP address using Benchpress CLI command. + + Raised siege concurrency upper limit to 1024 to make sure it will scale up. + + Try infer a `JAVA_HOME` before starting Cassandra to reduce the chance of Cassandra not + being able to find JVM + +#### TaoBench + + + Added Standalone mode to enable running TaoBench on single machine + + Introduced bind\_cpu and bind\_mem parameters in TaoBench to let user choose whether to bind NUMA nodes + +#### Perf Monitoring hook + + + Also monitor CPU frequency reported by `cpuinfo_cur_freq` in addition to `scaling_cur_freq`. + + Monitor power consumption if the system supports power reporting through hwmon. + + Use ARM's topdown-tool to monitor non-NVIDIA ARM CPU's micro-arch and topdown telemetries + +# 0.1.0 + +Initial public release diff --git a/benchpress/__init__.py b/benchpress/__init__.py index 7bec24c..adae4ab 100644 --- a/benchpress/__init__.py +++ b/benchpress/__init__.py @@ -2,3 +2,8 @@ # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. + +from .version import __PROJECT__, __VERSION__ + +PROJECT = __PROJECT__ +VERSION = __VERSION__ diff --git a/benchpress/cli/main.py b/benchpress/cli/main.py index 2a17720..c3664d8 100644 --- a/benchpress/cli/main.py +++ b/benchpress/cli/main.py @@ -12,7 +12,7 @@ import typing import click -from benchpress import config, logging_config +from benchpress import config, logging_config, PROJECT, VERSION from benchpress.lib.job import Job, JobSuiteBuilder from benchpress.lib.job_listing import create_job_listing from benchpress.lib.reporter import JSONFileReporter, ScoreReporter, StdoutReporter @@ -214,6 +214,7 @@ def setup_parser(): help="directory to load/store results", ) parser.add_argument("--verbose", "-v", action="count", default=0) + parser.add_argument("--version", action="version", version=f"{PROJECT} {VERSION}") return parser diff --git a/benchpress/version.py b/benchpress/version.py new file mode 100644 index 0000000..afdf965 --- /dev/null +++ b/benchpress/version.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python3 + +__PROJECT__ = "DCPerf" +__VERSION__ = "0.2.0"