Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: tools/testing/perf_testing/get_current_stats.py

Issue 1576153002: Remove the Dromaeo and TodoMVC samples. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/testing/perf_testing/dromaeo.html ('k') | tools/testing/perf_testing/index.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/python
2
3 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file.
6
7 from create_graph import BROWSER_CORRECTNESS
8 from create_graph import BrowserCorrectnessTest
9 from create_graph import BROWSER_PERF
10 from create_graph import BrowserPerformanceTest
11 from create_graph import CL_PERF
12 from create_graph import CommandLinePerformanceTest
13 from create_graph import CompileTimeAndSizeTest
14 from create_graph import TIME_SIZE
15
16 import os
17 from os.path import dirname, abspath
18 import pickle
19 import re
20 import sys
21
22 """Find the most recent performance files, and store the stats."""
23
24 # TODO(efortuna): turn these into proper appengine tasks, using the app engine
25 # datastore instead of files.
26
27 DIRECTORIES = [BROWSER_CORRECTNESS, BROWSER_PERF, CL_PERF, TIME_SIZE]
28 PICKLE_FILENAME = 'start_stats.txt'
29
30 def find_latest_data_files(directory):
31 """Given a directory, find the files with the latest timestamp, indicating the
32 latest results.
33
34 Args:
35 directory: name of the directory we should look inside.
36
37 Returns:
38 A list of the most recent files in the particular directory."""
39 path = dirname(abspath(__file__))
40 files = os.listdir(os.path.join(path, directory))
41 files.sort()
42 f = files.pop()
43 match = re.search('[1-9]', f)
44 trace_name = f[:match.start()]
45 timestamp_and_data = f[match.start():]
46 latest_files = [f]
47 if trace_name == 'correctness' or trace_name == 'perf-':
48 index = timestamp_and_data.find('-')
49 timestamp = timestamp_and_data[:index]
50 f = files.pop()
51 while f[match.start() : match.start() + index] == timestamp:
52 latest_files.append(f)
53 f = files.pop()
54 return latest_files
55
56 def populate_stats_dict(test_runner_dict = None):
57 """Find the latest files in each directory, and process those latest files
58 using the appropriate TestRunner.
59
60 Args:
61 test_runner_dict: Optional agument storing previous data in runners to which
62 we should add our data."""
63 cur_runner_dict = dict()
64 if test_runner_dict:
65 cur_runner_dict = test_runner_dict
66 for directory in DIRECTORIES:
67 test_runner = None
68 latest_files = find_latest_data_files(directory)
69
70 if test_runner_dict:
71 test_runner = cur_runner_dict[directory]
72 else:
73 if directory == BROWSER_CORRECTNESS:
74 test_runner = BrowserCorrectnessTest('language', directory)
75 elif directory == BROWSER_PERF:
76 test_runner = BrowserPerformanceTest(directory)
77 elif directory == TIME_SIZE:
78 test_runner = CompileTimeAndSizeTest(directory)
79 elif directory == CL_PERF:
80 test_runner = CommandLinePerformanceTest(directory)
81 cur_runner_dict[directory] = test_runner
82
83 for f in latest_files:
84 test_runner.process_file(f)
85 return cur_runner_dict
86
87 def main():
88 test_runner_dict = populate_stats_dict()
89 f = open(PICKLE_FILENAME, 'w')
90 pickle.dump(test_runner_dict, f)
91 f.close()
92
93 if __name__ == '__main__':
94 main()
OLDNEW
« no previous file with comments | « tools/testing/perf_testing/dromaeo.html ('k') | tools/testing/perf_testing/index.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698