From 2b535cd3bfabccd8a52c8052dc5df6f14946ede8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dea=20Mar=C3=ADa=20L=C3=A9on?= Date: Fri, 26 Jan 2024 19:27:02 +0100 Subject: [PATCH] adding conbench-poc --- conbench-poc/.gitignore | 16 +++ conbench-poc/README.md | 19 ++++ conbench-poc/alert.py | 90 +++++++++++++++++ conbench-poc/asvbench.py | 149 ++++++++++++++++++++++++++++ conbench-poc/benchmark_email.py | 31 ++++++ conbench-poc/client.py | 36 +++++++ conbench-poc/setup_pic.png | Bin 0 -> 142189 bytes conbench-poc/setup_server.txt | 166 ++++++++++++++++++++++++++++++++ conbench-poc/utilities.py | 37 +++++++ 9 files changed, 544 insertions(+) create mode 100644 conbench-poc/.gitignore create mode 100644 conbench-poc/README.md create mode 100644 conbench-poc/alert.py create mode 100644 conbench-poc/asvbench.py create mode 100644 conbench-poc/benchmark_email.py create mode 100644 conbench-poc/client.py create mode 100644 conbench-poc/setup_pic.png create mode 100644 conbench-poc/setup_server.txt create mode 100644 conbench-poc/utilities.py diff --git a/conbench-poc/.gitignore b/conbench-poc/.gitignore new file mode 100644 index 0000000..8b3e30d --- /dev/null +++ b/conbench-poc/.gitignore @@ -0,0 +1,16 @@ + +.DS_Store +.vscode/ +Deas-MacBook-Air.local/ +__pycache__/ +asv_files/** +my-files/ +no_results/ +failing/ +asv_files_ALL/ +algos2_results/ +local_env.yml +server_env.yml +benchmarks.json +asv_processed_files +alert_processed_files diff --git a/conbench-poc/README.md b/conbench-poc/README.md new file mode 100644 index 0000000..bc4e805 --- /dev/null +++ b/conbench-poc/README.md @@ -0,0 +1,19 @@ +# Conbench PoC for pandas + + +The **purpose** of adding conbench to the current pandas benchmark system +is: +1. To improve the UI. +2. Use conbench statistical analysis and detection of regression/improvement +3. Add an automatic alert system for regressions or improvements. + +## Files description +**client.py:** Calls the adapter asvbench.py and posts to a conbench web app.
+**asvbench.py:** Converts asv's benchmarks results to conbench format.
+**alert.py:** Runs conbench alert pipeline, generates a report and sends alerts.
+**benchmark_email.py:** Handles the email.
+**utilities.py:** setup env variables, reads files.
+**setup_server.txt:** Steps to install this PoC.
+ +## PoC structure/setup +![Setup](setup_pic.png "Setup") \ No newline at end of file diff --git a/conbench-poc/alert.py b/conbench-poc/alert.py new file mode 100644 index 0000000..91c6de7 --- /dev/null +++ b/conbench-poc/alert.py @@ -0,0 +1,90 @@ +import os +from utilities import Environment, alerts_done_file, check_new_files +import benchalerts.pipeline_steps as steps +from benchalerts.integrations.github import CheckStatus +import benchmark_email +import re +import json +#from benchalerts.pipeline_steps.slack import ( +# SlackErrorHandler, +#) +from benchalerts import AlertPipeline, Alerter +from benchalerts.integrations.github import GitHubRepoClient +import asvbench +from benchalerts.conbench_dataclasses import FullComparisonInfo +import pandas as pd + +env = Environment() + +repo = env.GITHUB_REPOSITORY + +def alert_instance(commit_hash): + + # Create a pipeline to update a GitHub Check + pipeline = AlertPipeline( + steps=[ + steps.GetConbenchZComparisonStep( + commit_hash=commit_hash, + #baseline_run_type=steps.BaselineRunCandidates.fork_point, + #baseline_run_type=steps.BaselineRunCandidates.latest_default, + baseline_run_type=steps.BaselineRunCandidates.parent, + z_score_threshold=5.5, #If not set, defaults to 5 + ), + #steps.GitHubCheckStep( + # commit_hash=commit_hash, + # comparison_step_name="GetConbenchZComparisonStep", + # github_client=GitHubRepoClient(repo=repo), + # #build_url=build_url, + #), + #steps.SlackMessageAboutBadCheckStep( + # channel_id="conbench-poc", + #), + + ], + #error_handlers=[ + # steps.GitHubCheckErrorHandler( + # commit_hash=commit_hash, repo=repo, #build_url=build_url + # ) + #], + ) + return pipeline + + # To see the whole report, look at: + # pipeline.run_pipeline()['GetConbenchZComparisonStep'].results_with_z_regressions +def report(pipeline): + full_comparison_info = pipeline.run_pipeline()['GetConbenchZComparisonStep'] + alerter = Alerter() + if alerter.github_check_status(full_comparison_info) == CheckStatus.FAILURE: + + message = """Subject: Benchmarks Alert \n\n """ \ + + alerter.github_check_summary(full_comparison_info, "") + #TODO add links to message + #cleaned_message = re.sub(r'0\.0\.0\.0', '127.0.0.1', message) #local + correctserver = re.sub(r'0\.0\.0\.0', '57.128.112.95', message) #new server + cleaned_message = re.sub(r'- Commit Run.+\)|#| All benchmark runs analyzed:', '', correctserver) + #send message or cleaned_message + benchmark_email.email(cleaned_message) + +def alert() -> None: + + #while True: + with open(env.ASV_PROCESSED_FILES, "r+") as f: + processed_files = f.read().split('\n') + + for new_file in (set(processed_files) - set(alerts_done_file(env))): + with open(new_file, "r") as f: + benchmarks_results = json.load(f) + pipeline = alert_instance(benchmarks_results['commit_hash']) + report(pipeline) + + with open(env.ALERT_PROCESSED_FILES, "a") as f: + f.write(new_file) + f.write("\n") + + +if __name__ == "__main__": + #commit_hash = 'acf5d7d84187b5ba53e54b2a5d91a34725814bf9' #old server + #commit_hash = 'fce520d45a304ee2659bb4156acf484cee5aea07' #new server + #commit_hash = "c8a9c2fd3bcf23a21acfa6f4cffbc4c9360b9ea6" #local + + alert() \ No newline at end of file diff --git a/conbench-poc/asvbench.py b/conbench-poc/asvbench.py new file mode 100644 index 0000000..b564535 --- /dev/null +++ b/conbench-poc/asvbench.py @@ -0,0 +1,149 @@ +import json +from pathlib import Path +from typing import Any, Dict, List +import itertools +import numpy as np +import os +from datetime import datetime + + +from benchadapt.adapters._adapter import BenchmarkAdapter +from benchadapt.result import BenchmarkResult + +class AsvBenchmarkAdapter(BenchmarkAdapter): + + def __init__( + self, + command: List[str], + result_file: Path, + benchmarks_file_path: str, + result_fields_override: Dict[str, Any] = None, + result_fields_append: Dict[str, Any] = None, + ) -> None: + """ + Parameters + ---------- + command : List[str] + A list of strings defining a shell command to run benchmarks + result_dir : Path + Path to directory where results will be populated + result_fields_override : Dict[str, Any] + A dict of values to override on each instance of `BenchmarkResult`. Useful + for specifying metadata only available at runtime, e.g. build info. Applied + before ``results_field_append``. + results_fields_append : Dict[str, Any] + A dict of default values to be appended to `BenchmarkResult` values after + instantiation. Useful for appending extra tags or other metadata in addition + to that gathered elsewhere. Only applicable for dict attributes. For each + element, will override any keys that already exist, i.e. it does not append + recursively. + """ + self.result_file = result_file + self.benchmarks_file_path=benchmarks_file_path + super().__init__( + command=command, + result_fields_override=result_fields_override, + result_fields_append=result_fields_append, + ) + + def _transform_results(self) -> List[BenchmarkResult]: + """Transform asv results into a list of BenchmarkResults instances""" + parsed_benchmarks = [] + + with open(self.result_file, "r") as f: + benchmarks_results = json.load(f) + + benchmarks_file = self.benchmarks_file_path + "benchmarks.json" + with open(benchmarks_file) as f: + benchmarks_info = json.load(f) + + parsed_benchmarks = self._parse_results(benchmarks_results, benchmarks_info) + + return parsed_benchmarks + + def _parse_results(self, benchmarks_results, benchmarks_info): + # From asv documention "result_columns" is a list of column names for the results dictionary. + # ["result", "params", "version", "started_at", "duration", "stats_ci_99_a", "stats_ci_99_b", + # "stats_q_25", "stats_q_75", "stats_number", "stats_repeat", "samples", "profile"] + # In this first version of the adapter we are using only the "result" column. + # TODO: use the "samples" column instead. + try: + result_columns = benchmarks_results["result_columns"] + except: + raise Exception("Incorrect file format") + parsed_benchmarks = [] + + for name in benchmarks_results["results"]: + #Bug with this benchmark: series_methods.ToFrame.time_to_frame + if name == "series_methods.ToFrame.time_to_frame": + continue + #print(name) + try: + result_dict = dict(zip(result_columns, + benchmarks_results["results"][name])) + for param_values, data in zip( + itertools.product(*result_dict["params"]), + result_dict['result'] + ): + if np.isnan(data): + #print('failing ', name) + continue + param_dic = dict(zip(benchmarks_info[name]["param_names"], + param_values)) + tags = {} + tags["name"] = name + tags.update(param_dic) + #asv units are seconds or bytes, conbench uses "s" or "B" + units = {"seconds": "s", + "bytes": "B"} + params = benchmarks_results["params"] + parsed_benchmark = BenchmarkResult( + #batch_id=str(self.result_file), #CORRECT THIS + stats={ + #asv returns one value wich is the average of the iterations + #but it can be changed so it returns the value of each iteration + #if asv returns the value of each iteration, the variable "data" + #will be a list, so this needs to be addressed below + "data": [data], + "unit": units[benchmarks_info[name]['unit']], + #iterations below is for conbench, 1 if we only provide a value + #if we run asv to return the value of each iteration (in data above) + #iterations should match the number of values + "iterations": 1, + }, + tags=tags, + context={"benchmark_language": "Python", + "env_name": benchmarks_results["env_name"], + "python": benchmarks_results["python"], + "requirements": benchmarks_results["requirements"], + }, + github={"repository": os.environ["REPOSITORY"], + "commit":benchmarks_results["commit_hash"], + }, + info={"date": str(datetime.fromtimestamp(benchmarks_results["date"]/1e3)), + }, + machine_info={ + "name": params["machine"], + "os_name": params["os"], + "os_version":params["os"], + "architecture_name": params["arch"], + "kernel_name": "x", + "memory_bytes": 0, + "cpu_model_name": params["cpu"], + "cpu_core_count": params["num_cpu"], + "cpu_thread_count": 0, + "cpu_l1d_cache_bytes": 0, + "cpu_l1i_cache_bytes": 0, + "cpu_l2_cache_bytes": 0, + "cpu_l3_cache_bytes": 0, + "cpu_frequency_max_hz": 0, + "gpu_count": 0, + "gpu_product_names": [], + } + ) + parsed_benchmarks.append(parsed_benchmark) + except: + continue + + return parsed_benchmarks + diff --git a/conbench-poc/benchmark_email.py b/conbench-poc/benchmark_email.py new file mode 100644 index 0000000..6fc8916 --- /dev/null +++ b/conbench-poc/benchmark_email.py @@ -0,0 +1,31 @@ + +import smtplib, ssl +import os +from dotenv import load_dotenv +import socket + +if socket.gethostname().startswith('Deas'): + load_dotenv(dotenv_path="./local_env.yml") +else: + load_dotenv(dotenv_path="./server_env.yml") + +def email(message): + + port = 465 # For SSL + sender_email = "conbenchalert@gmail.com" + receiver_email = ["deamarialeon@gmail.com"] + gmail_password=os.getenv("GMAIL_PASSWORD") + + # Create a secure SSL context + context = ssl.create_default_context() + with smtplib.SMTP_SSL("smtp.gmail.com", port, context=context) as server: + server.login("conbenchalert@gmail.com", gmail_password) + print(message) + server.sendmail(sender_email, receiver_email, message) + +if __name__=="__main__": + message = """\ + Subject: Hello + + Message sent from conbenchalert.""" + email(message) \ No newline at end of file diff --git a/conbench-poc/client.py b/conbench-poc/client.py new file mode 100644 index 0000000..bd817cc --- /dev/null +++ b/conbench-poc/client.py @@ -0,0 +1,36 @@ +from asvbench import AsvBenchmarkAdapter +from pathlib import Path +import os +import time +import alert +from utilities import Environment, check_new_files + +env = Environment() + +def adapter_instance(file_to_read) -> None: + adapter = AsvBenchmarkAdapter( + command=["echo", str(file_to_read)], + result_file=Path(file_to_read), + result_fields_override={ + "run_reason": env.CONBENCH_RUN_REASON, + }, + benchmarks_file_path=env.BENCHMARKS_FILE_PATH, + ) + adapter.run() + adapter.post_results() + + +def post_data() -> None: + + while True: + all_files, processed_files = check_new_files(env) + for new_file in (set(all_files) - set(processed_files)): + adapter_instance(new_file) + with open(env.ASV_PROCESSED_FILES, "a") as f: + f.write(new_file) + f.write("\n") + time.sleep(30) #adjust this on server + +if __name__=="__main__": + post_data() + diff --git a/conbench-poc/setup_pic.png b/conbench-poc/setup_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..ece77a8e83f856180e37f18a62ac0e0acc550f21 GIT binary patch literal 142189 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 kxbWNRzeSEh5039KE-d6ok4LQvfb((Vy6K/dev/null 2>&1 & # runs in background, still doesn't create nohup. + +nohup make run-app 2>&1 & this is no hungup + +You can see nohup.out to see the logs - look for 200, when this happens the conbench server should be running. + +At that point open conbench server and create an account. Use the values of server_env.yml for that. +Once you have registered an account, you need to login. + +Use this to: + +make teardown-app - TO REMOVE CONTAINER +make run-app TO RUN - YOU NEED TO BE IN ~/conbench/conbench-clone/ THIS HUNGS UP ON YOU + +Under subdirectory conbench/conbench_toy, make sure your environment is activated. +Run client.py with nohup: + +nohup python3 client.py 2>&1 & + +The last file should send all the asv results files to conbench server. + +To run the alerts: +nohup python3 alerts.py + +Make sure you have two files: alert_processed_files_server and asv_processed_files_server. +The web app, client.py and alerts.py run separately. diff --git a/conbench-poc/utilities.py b/conbench-poc/utilities.py new file mode 100644 index 0000000..7f2e484 --- /dev/null +++ b/conbench-poc/utilities.py @@ -0,0 +1,37 @@ +import socket +from dotenv import load_dotenv +import os +from pathlib import Path +from dataclasses import dataclass + +class Environment: + + def __init__(self): + if socket.gethostname().startswith('Deas'): + load_dotenv(dotenv_path= './local_env.yml') + else: + load_dotenv(dotenv_path= './server_env.yml') + + self.PANDAS_ASV_RESULTS_PATH = os.getenv("PANDAS_ASV_RESULTS_PATH") + self.BENCHMARKS_FILE_PATH = os.getenv("BENCHMARKS_FILE_PATH") + self.GITHUB_REPOSITORY = os.getenv("GITHUB_REPOSITORY") + self.CONBENCH_RUN_REASON = os.getenv("CONBENCH_RUN_REASON") + self.ASV_PROCESSED_FILES = os.getenv("ASV_PROCESSED_FILES") + self.ALERT_PROCESSED_FILES = os.getenv("ALERT_PROCESSED_FILES") + +def check_new_files(env): + + benchmarks_path = Path(env.PANDAS_ASV_RESULTS_PATH) + all_files = [str(file) for file in benchmarks_path.glob('*.json')] + with open(env.ASV_PROCESSED_FILES, "r+") as f: + processed_files = f.read().split('\n') + + return all_files, processed_files + +def alerts_done_file(env): + + _ , processed_files = check_new_files(env) + with open(env.ALERT_PROCESSED_FILES, "r+") as f: + alert_sent_files = f.read().split('\n') + + return alert_sent_files