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

Unified Diff: sky/tools/skydb

Issue 878283002: Split skydb trace into start_tracing and stop_tracing (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« sky/tools/debugger/prompt/prompt.cc ('K') | « sky/tools/debugger/prompt/prompt.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tools/skydb
diff --git a/sky/tools/skydb b/sky/tools/skydb
index b12d138f2f90ff216975e480b7cf30043a83393c..3d0f3ac480f2aaf6f96f546fe289baa51ba6566f 100755
--- a/sky/tools/skydb
+++ b/sky/tools/skydb
@@ -288,7 +288,7 @@ class SkyDebugger(object):
def stop_command(self, args):
# TODO(eseidel): mojo_shell crashes when attempting graceful shutdown.
- # self._send_command_to_sky('/quit')
+ # self._run_basic_command('/quit')
self._kill_if_exists('sky_server_pid', 'sky_server')
@@ -326,7 +326,7 @@ class SkyDebugger(object):
self.pids['sky_server_root'], args.url_or_path)
else:
url = args.url_or_path
- self._send_command_to_sky('/load', url)
+ self._run_basic_command('/load', url)
def _read_mojo_map(self):
# TODO(eseidel): Does not work for android.
@@ -335,8 +335,14 @@ class SkyDebugger(object):
lines = maps_file.read().strip().split('\n')
return dict(map(lambda line: line.split(' '), lines))
+ def stop_tracing_command(self, args):
+ trace = self._send_command_to_sky('/stop_tracing').content
+ with open("sky_viewer.trace", "wb") as trace_file:
esprehn 2015/01/27 20:59:24 It'd be nice to take the name as an argument to st
eseidel 2015/01/27 21:07:22 You don't even need the -f, just simply a position
abarth-chromium 2015/01/27 21:27:59 Will do!
+ trace_file.write(trace)
+ print "Trace saved in sky_viewer.trace"
+
def stop_profiling_command(self, args):
- self._send_command_to_sky('/stop_profiling')
+ self._run_basic_command('/stop_profiling')
mojo_map = self._read_mojo_map()
# TODO(eseidel): We should have a helper for resolving urls, etc.
@@ -380,7 +386,10 @@ class SkyDebugger(object):
response = requests.post(url, payload)
else:
response = requests.get(url)
- print response.text
+ return response
+
+ def _run_basic_command(self, command_path, payload=None):
+ print self._send_command_to_sky(command_path, payload=payload).text
# FIXME: These could be made into a context object with __enter__/__exit__.
def _load_pid_file(self, path):
@@ -401,14 +410,14 @@ class SkyDebugger(object):
def _add_basic_command(self, subparsers, name, url_path, help_text):
parser = subparsers.add_parser(name, help=help_text)
- command = lambda args: self._send_command_to_sky(url_path)
+ command = lambda args: self._run_basic_command(url_path)
parser.set_defaults(func=command)
def _wait_for_sky_command_port(self):
tries = 0
while True:
try:
- self._send_command_to_sky('/')
+ self._run_basic_command('/')
return True
except:
tries += 1
@@ -564,8 +573,8 @@ class SkyDebugger(object):
help='launch gdb and attach to gdbserver launched from start --gdb')
gdb_attach_parser.set_defaults(func=self.gdb_attach_command)
- self._add_basic_command(subparsers, 'trace', '/trace',
- 'toggle tracing')
+ self._add_basic_command(subparsers, 'start_tracing', '/start_tracing',
+ 'starts tracing the running sky intance')
eseidel 2015/01/27 21:07:22 instance
abarth-chromium 2015/01/27 21:27:59 Done.
self._add_basic_command(subparsers, 'reload', '/reload',
'reload the current page')
self._add_basic_command(subparsers, 'inspect', '/inspect',
@@ -573,6 +582,9 @@ class SkyDebugger(object):
self._add_basic_command(subparsers, 'start_profiling', '/start_profiling',
'starts profiling the running sky instance (Linux only)')
+ stop_tracing_parser = subparsers.add_parser('stop_tracing',
+ help='stops tracing the running sky instance')
+ stop_tracing_parser.set_defaults(func=self.stop_tracing_command)
stop_profiling_parser = subparsers.add_parser('stop_profiling',
help='stops profiling the running sky instance (Linux only)')
stop_profiling_parser.set_defaults(func=self.stop_profiling_command)
« sky/tools/debugger/prompt/prompt.cc ('K') | « sky/tools/debugger/prompt/prompt.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698