From 9b385ee2d27b8dbdddf2b5739cd4e27593cdec46 Mon Sep 17 00:00:00 2001 From: "johnmccutchan@google.com" Date: Thu, 8 May 2014 22:02:38 +0000 Subject: [PATCH] Add trace_service_pause_events flag and paused at exit tracing R=keertip@google.com, turnidge@google.com Review URL: https://codereview.chromium.org//271893002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35944 260f80e4-7a28-3924-810f-c04153c831b5 --- runtime/bin/vmservice/server.dart | 2 +- runtime/vm/message_handler.cc | 6 +++++- runtime/vm/service.cc | 2 ++ tests/standalone/vmservice/test_helper.dart | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/runtime/bin/vmservice/server.dart b/runtime/bin/vmservice/server.dart index d622e62dbeb..051ea43ff64 100644 --- a/runtime/bin/vmservice/server.dart +++ b/runtime/bin/vmservice/server.dart @@ -127,7 +127,7 @@ class Server { _server = s; _server.listen(_requestHandler); if (display_message) { - print('VMService listening on $ip:$port'); + print('Observatory listening on http://$ip:$port'); } return s; }); diff --git a/runtime/vm/message_handler.cc b/runtime/vm/message_handler.cc index 32756b8f248..b1064a280b7 100644 --- a/runtime/vm/message_handler.cc +++ b/runtime/vm/message_handler.cc @@ -9,7 +9,7 @@ namespace dart { DECLARE_FLAG(bool, trace_isolates); - +DECLARE_FLAG(bool, trace_service_pause_events); class MessageHandlerTask : public ThreadPool::Task { public: @@ -231,6 +231,10 @@ void MessageHandler::TaskCallback() { if (!ok || !HasLivePorts()) { if (pause_on_exit()) { + if (FLAG_trace_service_pause_events && !paused_on_exit_) { + OS::PrintErr("Isolate %s paused before exiting. " + "Use the Observatory to release it.\n", name()); + } paused_on_exit_ = true; } else { if (FLAG_trace_isolates) { diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc index eef5f057c93..5b3f7789177 100644 --- a/runtime/vm/service.cc +++ b/runtime/vm/service.cc @@ -32,6 +32,8 @@ namespace dart { DEFINE_FLAG(bool, trace_service, false, "Trace VM service requests."); +DEFINE_FLAG(bool, trace_service_pause_events, false, + "Trace VM service isolate pause events."); DECLARE_FLAG(bool, enable_type_checks); DECLARE_FLAG(bool, enable_asserts); diff --git a/tests/standalone/vmservice/test_helper.dart b/tests/standalone/vmservice/test_helper.dart index d7c580ec05e..fde93e047f9 100644 --- a/tests/standalone/vmservice/test_helper.dart +++ b/tests/standalone/vmservice/test_helper.dart @@ -140,7 +140,7 @@ class TestLauncher { var first = true; process.stdout.transform(UTF8.decoder) .transform(new LineSplitter()).listen((line) { - if (line.startsWith('VMService listening on ')) { + if (line.startsWith('Observatory listening on http://')) { RegExp portExp = new RegExp(r"\d+.\d+.\d+.\d+:(\d+)"); var port = portExp.firstMatch(line).group(1); portNumber = int.parse(port);