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() |