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

Side by Side Diff: appengine/findit/util_scripts/crash_queries/delta_test/run-delta-test.py

Issue 2432203003: [Predator] Run predator. (Closed)
Patch Set: Rebase. Created 4 years, 1 month 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
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Runs delta test on 2 findit versions.""" 5 """Runs delta test on 2 findit versions."""
6 6
7 import argparse 7 import argparse
8 from datetime import date 8 from datetime import date
9 from datetime import timedelta 9 from datetime import timedelta
10 import pickle
11 import logging 10 import logging
12 import os 11 import os
12 import pickle
13 import sys 13 import sys
14 14
15 _SCRIPT_DIR = os.path.join(os.path.dirname(__file__), os.path.pardir, 15 _SCRIPT_DIR = os.path.join(os.path.dirname(__file__), os.path.pardir,
16 os.path.pardir) 16 os.path.pardir)
17 sys.path.insert(1, _SCRIPT_DIR) 17 sys.path.insert(1, _SCRIPT_DIR)
18 18
19 import script_util 19 import script_util
20 script_util.SetUpSystemPaths() 20 script_util.SetUpSystemPaths()
21 21
22 from crash.type_enums import CrashClient
23 from crash_queries.delta_test import delta_test 22 from crash_queries.delta_test import delta_test
24 from crash_queries.delta_test import delta_util 23 from crash_queries.delta_test import delta_util
25 24
26 _TODAY = date.today().strftime('%Y-%m-%d') 25 _TODAY = date.today().strftime('%Y-%m-%d')
27 _A_YEAR_AGO = (date.today() - timedelta(days=365)).strftime('%Y-%m-%d') 26 _A_YEAR_AGO = (date.today() - timedelta(days=365)).strftime('%Y-%m-%d')
28 27
29 # App Engine APIs will fail if batch size is more than 1000. 28 # App Engine APIs will fail if batch size is more than 1000.
30 _MAX_BATCH_SIZE = 1000 29 _MAX_BATCH_SIZE = 1000
31 _DEFAULT_BATCH_SIZE = _MAX_BATCH_SIZE 30 _DEFAULT_BATCH_SIZE = _MAX_BATCH_SIZE
32 31
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 117
119 # If only one revision provided, default the rev2 to HEAD. 118 # If only one revision provided, default the rev2 to HEAD.
120 if len(args.revisions) == 1: 119 if len(args.revisions) == 1:
121 args.revisions.append('HEAD') 120 args.revisions.append('HEAD')
122 121
123 git_hash1 = delta_util.ParseGitHash(args.revisions[0]) 122 git_hash1 = delta_util.ParseGitHash(args.revisions[0])
124 git_hash2 = delta_util.ParseGitHash(args.revisions[1]) 123 git_hash2 = delta_util.ParseGitHash(args.revisions[1])
125 124
126 delta_result_prefix = '%s_%s_%s..%s.delta' % (git_hash1[:7], git_hash2[:7], 125 delta_result_prefix = '%s_%s_%s..%s.delta' % (git_hash1[:7], git_hash2[:7],
127 args.since, args.until) 126 args.since, args.until)
128 delta_csv_path = os.path.join( 127 delta_csv_path = os.path.join(DELTA_RESULTS_DIRECTORY,
129 DELTA_RESULTS_DIRECTORY, '%s.csv' % delta_result_prefix) 128 '%s.csv' % delta_result_prefix)
130 delta_path = os.path.join( 129 delta_path = os.path.join(DELTA_RESULTS_DIRECTORY,
131 DELTA_RESULTS_DIRECTORY, '.%s' % delta_result_prefix) 130 delta_result_prefix)
132 131
133 # Check if delta results already existed. 132 # Check if delta results already existed.
134 if os.path.exists(delta_csv_path): 133 if os.path.exists(delta_csv_path):
135 logging.info('Delta results existed in\n%s', delta_csv_path) 134 print 'Delta results existed in\n%s' % delta_csv_path
136 if not os.path.exists(delta_path): 135 if not os.path.exists(delta_path):
137 logging.info('Cannot print out delta results, ' 136 print 'Cannot print out delta results, please open %s to see the results.'
138 'please open %s to see the results.')
139 return 137 return
140 138
141 with open(delta_path) as f: 139 with open(delta_path) as f:
142 deltas, crash_num = pickle.load(f) 140 deltas, crash_num = pickle.load(f)
143 else: 141 else:
144 logging.info('Running delta test...') 142 print 'Running delta test...'
145 # Get delta of results between git_hash1 and git_hash2. 143 # Get delta of results between git_hash1 and git_hash2.
146 deltas, crash_num = delta_test.DeltaEvaluator( 144 deltas, crash_num = delta_test.DeltaEvaluator(
147 git_hash1, git_hash2, args.client, args.app, 145 git_hash1, git_hash2, args.client, args.app,
148 start_date=args.since, end_date=args.until, 146 start_date=args.since, end_date=args.until,
149 batch_size=args.batch, verbose=args.verbose) 147 batch_size=args.batch, verbose=args.verbose)
150 delta_util.FlushResult([deltas, crash_num], delta_path) 148 delta_util.FlushResult([deltas, crash_num], delta_path)
151 delta_util.WriteDeltaToCSV(deltas, crash_num, 149 delta_util.WriteDeltaToCSV(deltas, crash_num, args.app,
152 git_hash1, git_hash2, delta_csv_path) 150 git_hash1, git_hash2, delta_csv_path)
153 151
154 # Print delta results to users. 152 # Print delta results to users.
155 logging.info('\n========================= Summary =========================') 153 print '\n========================= Summary ========================='
156 delta_util.PrintDelta(deltas, crash_num) 154 delta_util.PrintDelta(deltas, crash_num, args.app)
157 155
158 156
159 if __name__ == '__main__': 157 if __name__ == '__main__':
160 RunDeltaTest() 158 RunDeltaTest()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698