X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Futils.py;h=c350fae13543ddd09dcc744e8803b9b80b17a3c5;hp=51bb1d0305ecf6111d10feea95a86de3312bd6db;hb=fce7b4b339f7a79b80143bbd796460720489d694;hpb=5ad9b364cbd45a0b25d73412b9777ac14df92b0a diff --git a/resources/tools/presentation/utils.py b/resources/tools/presentation/utils.py index 51bb1d0305..c350fae135 100644 --- a/resources/tools/presentation/utils.py +++ b/resources/tools/presentation/utils.py @@ -24,7 +24,8 @@ import prettytable from os import walk, makedirs, environ from os.path import join, isdir from shutil import move, Error -from math import sqrt +from datetime import datetime +from pandas import Series from errors import PresentationError from jumpavg.BitCountingClassifier import BitCountingClassifier @@ -50,11 +51,7 @@ def stdev(items): :returns: Stdev. :rtype: float """ - - avg = mean(items) - variance = [(x - avg) ** 2 for x in items] - stddev = sqrt(mean(variance)) - return stddev + return Series.std(Series(items)) def relative_change(nr1, nr2): @@ -178,6 +175,29 @@ def get_last_completed_build_number(jenkins_url, job_name): return execute_command(cmd) +def get_build_timestamp(jenkins_url, job_name, build_nr): + """Get the timestamp of the build of the given job. + + :param jenkins_url: Jenkins URL. + :param job_name: Job name. + :param build_nr: Build number. + :type jenkins_url: str + :type job_name: str + :type build_nr: int + :returns: The timestamp. + :rtype: datetime.datetime + """ + + url = "{jenkins_url}/{job_name}/{build_nr}".format(jenkins_url=jenkins_url, + job_name=job_name, + build_nr=build_nr) + cmd = "wget -qO- {url}".format(url=url) + + timestamp = execute_command(cmd) + + return datetime.fromtimestamp(timestamp/1000) + + def archive_input_data(spec): """Archive the report.