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

Side by Side Diff: tools/python/google/gethash_timer.py

Issue 8678023: Fix python scripts in src/tools/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « tools/pragmaonce/pragmaonce.py ('k') | tools/python/google/httpd_utils.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/env python
2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # Issue a series of GetHash requests to the SafeBrowsing servers and measure the 6 """Issue a series of GetHash requests to the SafeBrowsing servers and measure
7 # response times. 7 the response times.
8 # 8
9 # Usage: 9 Usage:
10 # 10
11 # $ ./gethash_timer.py --period=600 --samples=20 --output=resp.csv 11 $ ./gethash_timer.py --period=600 --samples=20 --output=resp.csv
12 # 12
13 # --period (or -p): The amount of time (in seconds) to wait between GetHash 13 --period (or -p): The amount of time (in seconds) to wait between GetHash
14 # requests. Using a value of more than 300 (5 minutes) to 14 requests. Using a value of more than 300 (5 minutes) to
15 # include the effect of DNS. 15 include the effect of DNS.
16 # 16
17 # --samples (or -s): The number of requests to issue. If this parameter is not 17 --samples (or -s): The number of requests to issue. If this parameter is not
18 # specified, the test will run indefinitely. 18 specified, the test will run indefinitely.
19 # 19
20 # --output (or -o): The path to a file where the output will be written in 20 --output (or -o): The path to a file where the output will be written in
21 # CSV format: sample_number,response_code,elapsed_time_ms 21 CSV format: sample_number,response_code,elapsed_time_ms
22 """
22 23
23 import getopt 24 import getopt
24 import httplib 25 import httplib
25 import sys 26 import sys
26 import time 27 import time
27 28
28 _GETHASH_HOST = 'safebrowsing.clients.google.com' 29 _GETHASH_HOST = 'safebrowsing.clients.google.com'
29 _GETHASH_REQUEST = '/safebrowsing/gethash?client=googleclient&appver=1.0&pver=2. 1' 30 _GETHASH_REQUEST = (
31 '/safebrowsing/gethash?client=googleclient&appver=1.0&pver=2.1')
30 32
31 # Global logging file handle. 33 # Global logging file handle.
32 g_file_handle = None 34 g_file_handle = None
33 35
34 36
35 def IssueGetHash(prefix): 37 def IssueGetHash(prefix):
36 '''Issue one GetHash request to the safebrowsing servers. 38 '''Issue one GetHash request to the safebrowsing servers.
37 Args: 39 Args:
38 prefix: A 4 byte value to look up on the server. 40 prefix: A 4 byte value to look up on the server.
39 Returns: 41 Returns:
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 '''Open a file for logging results. 110 '''Open a file for logging results.
109 Args: 111 Args:
110 file_name: A path to a file to store the output. 112 file_name: A path to a file to store the output.
111 Returns: 113 Returns:
112 None. 114 None.
113 ''' 115 '''
114 global g_file_handle 116 global g_file_handle
115 g_file_handle = open(file_name, 'w') 117 g_file_handle = open(file_name, 'w')
116 118
117 119
118 if __name__ == '__main__': 120 def main():
119 period = 10 121 period = 10
120 samples = None 122 samples = None
121 123
122 options, args = getopt.getopt(sys.argv[1:], 124 options, args = getopt.getopt(sys.argv[1:],
123 's:p:o:', 125 's:p:o:',
124 ['samples=', 'period=', 'output=']) 126 ['samples=', 'period=', 'output='])
125 for option, value in options: 127 for option, value in options:
126 if option == '-s' or option == '--samples': 128 if option == '-s' or option == '--samples':
127 samples = int(value) 129 samples = int(value)
128 elif option == '-p' or option == '--period': 130 elif option == '-p' or option == '--period':
129 period = float(value) 131 period = float(value)
130 elif option == '-o' or option == '--output': 132 elif option == '-o' or option == '--output':
131 file_name = value 133 file_name = value
132 else: 134 else:
133 print 'Bad option: %s' % option 135 print 'Bad option: %s' % option
134 sys.exit(1) 136 return 1
135 try: 137 try:
136 print 'Starting Timed GetHash ----------' 138 print 'Starting Timed GetHash ----------'
137 SetupOutputFile(file_name) 139 SetupOutputFile(file_name)
138 RunTimedGetHash(period, samples) 140 RunTimedGetHash(period, samples)
139 except KeyboardInterrupt: 141 except KeyboardInterrupt:
140 pass 142 pass
141 143
142 print 'Timed GetHash complete ----------' 144 print 'Timed GetHash complete ----------'
143 g_file_handle.close() 145 g_file_handle.close()
144 146
147
148 if __name__ == '__main__':
149 sys.exit(main())
OLDNEW
« no previous file with comments | « tools/pragmaonce/pragmaonce.py ('k') | tools/python/google/httpd_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698