{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/38418","repository_url":"https://api.github.com/repos/dart-lang/sdk","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/38418/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/38418/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/38418/events","html_url":"https://github.com/dart-lang/sdk/issues/38418","id":494238644,"node_id":"MDU6SXNzdWU0OTQyMzg2NDQ=","number":38418,"title":"Allow for dumping service protocol information to a file on startup","user":{"login":"bkonyi","id":24210656,"node_id":"MDQ6VXNlcjI0MjEwNjU2","avatar_url":"https://avatars2.githubusercontent.com/u/24210656?v=4","gravatar_id":"","url":"https://api.github.com/users/bkonyi","html_url":"https://github.com/bkonyi","followers_url":"https://api.github.com/users/bkonyi/followers","following_url":"https://api.github.com/users/bkonyi/following{/other_user}","gists_url":"https://api.github.com/users/bkonyi/gists{/gist_id}","starred_url":"https://api.github.com/users/bkonyi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkonyi/subscriptions","organizations_url":"https://api.github.com/users/bkonyi/orgs","repos_url":"https://api.github.com/users/bkonyi/repos","events_url":"https://api.github.com/users/bkonyi/events{/privacy}","received_events_url":"https://api.github.com/users/bkonyi/received_events","type":"User","site_admin":false},"labels":[{"id":219928165,"node_id":"MDU6TGFiZWwyMTk5MjgxNjU=","url":"https://api.github.com/repos/dart-lang/sdk/labels/area-vm","name":"area-vm","color":"c7def8","default":false}],"state":"closed","locked":false,"assignee":{"login":"bkonyi","id":24210656,"node_id":"MDQ6VXNlcjI0MjEwNjU2","avatar_url":"https://avatars2.githubusercontent.com/u/24210656?v=4","gravatar_id":"","url":"https://api.github.com/users/bkonyi","html_url":"https://github.com/bkonyi","followers_url":"https://api.github.com/users/bkonyi/followers","following_url":"https://api.github.com/users/bkonyi/following{/other_user}","gists_url":"https://api.github.com/users/bkonyi/gists{/gist_id}","starred_url":"https://api.github.com/users/bkonyi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkonyi/subscriptions","organizations_url":"https://api.github.com/users/bkonyi/orgs","repos_url":"https://api.github.com/users/bkonyi/repos","events_url":"https://api.github.com/users/bkonyi/events{/privacy}","received_events_url":"https://api.github.com/users/bkonyi/received_events","type":"User","site_admin":false},"assignees":[{"login":"bkonyi","id":24210656,"node_id":"MDQ6VXNlcjI0MjEwNjU2","avatar_url":"https://avatars2.githubusercontent.com/u/24210656?v=4","gravatar_id":"","url":"https://api.github.com/users/bkonyi","html_url":"https://github.com/bkonyi","followers_url":"https://api.github.com/users/bkonyi/followers","following_url":"https://api.github.com/users/bkonyi/following{/other_user}","gists_url":"https://api.github.com/users/bkonyi/gists{/gist_id}","starred_url":"https://api.github.com/users/bkonyi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkonyi/subscriptions","organizations_url":"https://api.github.com/users/bkonyi/orgs","repos_url":"https://api.github.com/users/bkonyi/repos","events_url":"https://api.github.com/users/bkonyi/events{/privacy}","received_events_url":"https://api.github.com/users/bkonyi/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2019-09-16T19:40:33Z","updated_at":"2019-09-18T08:22:46Z","closed_at":"2019-09-17T20:34:45Z","author_association":"CONTRIBUTOR","body":"Currently all tools wishing to connect to the service protocol need to scrape the URL and authentication codes from stdout. However, this isn't always possible or convenient (@DanTup mentioned some VSCode use cases that cannot rely on listening to stdout to get the service protocol information). The VM should provide a way to dump service protocol information to a file in a well known format that can be consumed by tooling (e.g., `dart --observe --dump-service-info=service.json foo.dart`).\r\n\r\nExample format:\r\n\r\n```json\r\n{\r\n  \"version\": 1,\r\n  \"url\": \"http://127.0.0.1\",\r\n  \"port\": 8080,\r\n  \"authentication_code\": \"6iSIXM0fOBk=\",\r\n}\r\n```"},"comment":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/comments/532577087","html_url":"https://github.com/dart-lang/sdk/issues/38418#issuecomment-532577087","issue_url":"https://api.github.com/repos/dart-lang/sdk/issues/38418","id":532577087,"node_id":"MDEyOklzc3VlQ29tbWVudDUzMjU3NzA4Nw==","user":{"login":"DanTup","id":1078012,"node_id":"MDQ6VXNlcjEwNzgwMTI=","avatar_url":"https://avatars2.githubusercontent.com/u/1078012?v=4","gravatar_id":"","url":"https://api.github.com/users/DanTup","html_url":"https://github.com/DanTup","followers_url":"https://api.github.com/users/DanTup/followers","following_url":"https://api.github.com/users/DanTup/following{/other_user}","gists_url":"https://api.github.com/users/DanTup/gists{/gist_id}","starred_url":"https://api.github.com/users/DanTup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanTup/subscriptions","organizations_url":"https://api.github.com/users/DanTup/orgs","repos_url":"https://api.github.com/users/DanTup/repos","events_url":"https://api.github.com/users/DanTup/events{/privacy}","received_events_url":"https://api.github.com/users/DanTup/received_events","type":"User","site_admin":false},"created_at":"2019-09-18T08:22:46Z","updated_at":"2019-09-18T08:22:46Z","author_association":"MEMBER","body":"@bkonyi this looks great! In the sample at the top you included a version number, though that doesn't seem to be in the written file - do you think we should add it?\r\n\r\nIt would also be nice to suppress the \"Observatory listening\" text (if easy) when this flag is supplied before we start using it (so there's no danger of anything using the flag also depending on the output).\r\n\r\nWhen testing, I also saw this:\r\n\r\nvm-service: isolate(401215214933043) 'main' has no debugger attached and is paused at start.  Connect to Observatory at http://127.0.0.1:8181/HCf6LrZjZIo=/ to debug.\r\n\r\nI don't know what triggers this - is it if no debugger attaches within a certain period? (If so, what is that period? it seems like it could be racy if the IDE doesn't connect fast enough - though I've never noticed it show up in the console before)."}}
{"actor":{"display_login":"DanTup"}}