| Index: tools/testing/perf_testing/calc_and_send_mail.py
|
| diff --git a/tools/testing/perf_testing/calc_and_send_mail.py b/tools/testing/perf_testing/calc_and_send_mail.py
|
| deleted file mode 100644
|
| index 090b70eecb03d847104faf5eef3fd98647d8da1c..0000000000000000000000000000000000000000
|
| --- a/tools/testing/perf_testing/calc_and_send_mail.py
|
| +++ /dev/null
|
| @@ -1,141 +0,0 @@
|
| -#!/usr/bin/python
|
| -
|
| -# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
| -# for details. All rights reserved. Use of this source code is governed by a
|
| -# BSD-style license that can be found in the LICENSE file.
|
| -
|
| -import create_graph
|
| -from create_graph import BROWSER_CORRECTNESS
|
| -from create_graph import BROWSER_PERF
|
| -from create_graph import CL_PERF
|
| -from create_graph import COMMAND_LINE
|
| -from create_graph import CORRECTNESS
|
| -from create_graph import FROG
|
| -from create_graph import FROG_MEAN
|
| -from create_graph import TIME_SIZE
|
| -from create_graph import V8_AND_FROG
|
| -
|
| -import get_current_stats
|
| -import os
|
| -from os.path import dirname, abspath
|
| -import pickle
|
| -import sys
|
| -
|
| -"""Compare the current performance statistics with the statistics 24 hours ago,
|
| -and send out an email summarizing the differences."""
|
| -
|
| -def calculate_stats():
|
| - """Compare the numbers that were available at the start of the day to what the
|
| - current numbers are.
|
| -
|
| - Returns:
|
| - A string providing an update on the latest perfromance numbers."""
|
| - test_runner_dict = pickle.load(open(get_current_stats.PICKLE_FILENAME, 'r'))
|
| - test_runner_dict = get_current_stats.populate_stats_dict(test_runner_dict)
|
| -
|
| - browser_perf = test_runner_dict[BROWSER_PERF]
|
| - time_size = test_runner_dict[TIME_SIZE]
|
| - cl = test_runner_dict[CL_PERF]
|
| - correctness = test_runner_dict[BROWSER_CORRECTNESS]
|
| - output = summary_stats(browser_perf, time_size, cl, correctness)
|
| - output += specific_stats(browser_perf, time_size, cl)
|
| - return output
|
| -
|
| -def summary_stats(browser_perf, time_size, cl, correctness):
|
| - """Return the summarized stats report.
|
| -
|
| - Args:
|
| - browser_perf: BrowserPerformanceTestRunner object. Holds browser perf stats.
|
| - time_size: CompileTimeSizeTestRunner object.
|
| - cl: CommandLinePerformanceTestRunner object.
|
| - correctness: BrowserCorrectnessTestRunner object.
|
| - """
|
| - output = "Summary of changes in the last 24 hours: \n\nBrowser " + \
|
| - "performance: (revision %d)\n" % \
|
| - browser_perf.revision_dict[create_graph.get_browsers()[0]][FROG]\
|
| - [browser_perf.values_list[0]][1]
|
| - for browser in create_graph.get_browsers():
|
| - geo_mean_list = browser_perf.values_dict[browser][FROG][FROG_MEAN]
|
| - # TODO(efortuna): deal with the fact that the latest of all browsers may not
|
| - # be available.
|
| - output += " %s%s\n" % ((browser + ':').ljust(25),
|
| - str(geo_mean_list[1] - geo_mean_list[0]).rjust(10))
|
| -
|
| - output += "\nCompile Size and Time: (revision %d)\n" % \
|
| - time_size.revision_dict[COMMAND_LINE][FROG][time_size.values_list[0]][1]
|
| - for metric in time_size.values_list:
|
| - metric_list = time_size.values_dict[COMMAND_LINE][FROG][metric]
|
| - output += " %s%s\n" % ((metric + ':').ljust(25),
|
| - str(metric_list[1] - metric_list[0]).rjust(10))
|
| -
|
| - output += "\nPercentage of language tests passing (revision %d)\n" % \
|
| - correctness.revision_dict['chrome'][FROG][correctness.values_list[0]][1]
|
| - for browser in create_graph.get_browsers():
|
| - num_correct = correctness.values_dict[browser][FROG][CORRECTNESS]
|
| - output += " %s%s%% more passing\n" % ((browser + ':').ljust(25),
|
| - str(num_correct[1] - num_correct[0]).rjust(10))
|
| -
|
| - output += "\nCommandline performance: (revision %d)\n" % \
|
| - cl.revision_dict[COMMAND_LINE][FROG][cl.values_list[0]][1]
|
| - for benchmark in cl.values_list:
|
| - bench_list = cl.values_dict[COMMAND_LINE][FROG][benchmark]
|
| - output += " %s%s\n" % ((benchmark + ':').ljust(25),
|
| - str(bench_list[1] - bench_list[0]).rjust(10))
|
| - return output
|
| -
|
| -def specific_stats(browser_perf, time_size, cl):
|
| - """Return a string detailing all of the gory details and specifics on
|
| - benchmark numbers and individual benchmark changes.
|
| -
|
| - Args:
|
| - browser_perf: BrowserPerformanceTestRunner object. Holds browser perf stats.
|
| - time_size: CompileTimeSizeTestRunner object.
|
| - cl: CommandLinePerformanceTestRunner object.
|
| - """
|
| - output = "\n\n---------------------------------------------\nThe latest " + \
|
| - "current raw numbers (and changes) for those " + \
|
| - "interested:\nBrowser performance:\n"
|
| - for v8_or_frog in V8_AND_FROG:
|
| - for browser in create_graph.get_browsers():
|
| - output += " %s %s:\n" % (browser, v8_or_frog)
|
| - for benchmark in create_graph.get_benchmarks():
|
| - bench_list = browser_perf.values_dict[browser][v8_or_frog][benchmark]
|
| - output += " %s %s%s\n" % ((benchmark + ':').ljust(25),
|
| - str(bench_list[1]).rjust(10), get_amount_changed(bench_list))
|
| -
|
| - output += "\nCompile Size and Time for frog:\n"
|
| - for metric in time_size.values_list:
|
| - metric_list = time_size.values_dict[COMMAND_LINE][FROG][metric]
|
| - output += " %s %s%s\n" % ((metric + ':').ljust(25),
|
| - str(metric_list[1]).rjust(10), get_amount_changed(metric_list))
|
| -
|
| - output += "\nCommandline performance:\n"
|
| - for v8_or_frog in V8_AND_FROG:
|
| - output += ' %s:\n' % v8_or_frog
|
| - for benchmark in cl.values_list:
|
| - bench_list = cl.values_dict[COMMAND_LINE][v8_or_frog][benchmark]
|
| - output += " %s %s%s\n" % ((benchmark + ':').ljust(25),
|
| - str(bench_list[1]).rjust(10), get_amount_changed(bench_list))
|
| -
|
| - return output
|
| -
|
| -def get_amount_changed(values_tuple):
|
| - """Return a formatted string indicating the amount of change (positive or
|
| - negative) in the benchmark since the last run.
|
| -
|
| - Args:
|
| - values_tuple: the tuple of values we are comparing the difference
|
| - between."""
|
| - difference = values_tuple[1] - values_tuple[0]
|
| - prefix = '+'
|
| - if difference < 0:
|
| - prefix = '-'
|
| - return ("(%s%s)" % (prefix, str(difference))).rjust(10)
|
| -
|
| -
|
| -def main():
|
| - stats = calculate_stats()
|
| - print stats
|
| -
|
| -if __name__ == '__main__':
|
| - main()
|
|
|