{"action":"created","issue":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/472","labels_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/472/labels{/name}","comments_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/472/comments","events_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/472/events","html_url":"https://github.com/SnabbCo/snabbswitch/pull/472","id":75990363,"number":472,"title":"Integrate snabb top","user":{"login":"eugeneia","id":4933566,"avatar_url":"https://avatars.githubusercontent.com/u/4933566?v=3","gravatar_id":"","url":"https://api.github.com/users/eugeneia","html_url":"https://github.com/eugeneia","followers_url":"https://api.github.com/users/eugeneia/followers","following_url":"https://api.github.com/users/eugeneia/following{/other_user}","gists_url":"https://api.github.com/users/eugeneia/gists{/gist_id}","starred_url":"https://api.github.com/users/eugeneia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eugeneia/subscriptions","organizations_url":"https://api.github.com/users/eugeneia/orgs","repos_url":"https://api.github.com/users/eugeneia/repos","events_url":"https://api.github.com/users/eugeneia/events{/privacy}","received_events_url":"https://api.github.com/users/eugeneia/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"eugeneia","id":4933566,"avatar_url":"https://avatars.githubusercontent.com/u/4933566?v=3","gravatar_id":"","url":"https://api.github.com/users/eugeneia","html_url":"https://github.com/eugeneia","followers_url":"https://api.github.com/users/eugeneia/followers","following_url":"https://api.github.com/users/eugeneia/following{/other_user}","gists_url":"https://api.github.com/users/eugeneia/gists{/gist_id}","starred_url":"https://api.github.com/users/eugeneia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eugeneia/subscriptions","organizations_url":"https://api.github.com/users/eugeneia/orgs","repos_url":"https://api.github.com/users/eugeneia/repos","events_url":"https://api.github.com/users/eugeneia/events{/privacy}","received_events_url":"https://api.github.com/users/eugeneia/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2015-05-13T13:48:02Z","updated_at":"2015-06-04T11:48:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/pulls/472","html_url":"https://github.com/SnabbCo/snabbswitch/pull/472","diff_url":"https://github.com/SnabbCo/snabbswitch/pull/472.diff","patch_url":"https://github.com/SnabbCo/snabbswitch/pull/472.patch"},"body":"This adds a `snabb top` program (that already works pretty reliably). `snabb top` is powered by the `lib.ipc.shmem.top` class which is also used by `core.app` to expose engine statistics. `snabb top` is not a curses program but uses VT100 term codes to emulate a single updating screen. This works Okayish, suggestions welcome. Consider this a work in progress, its not done yet:\r\n\r\n- [x] Implement a working `snabb top`\r\n- [ ] Review the friction between `core.app` and `lib.ipc.shmem.top` (can this be done in a nicer way?)\r\n- [x] Make filename used by `lib.ipc.shmem.top` configurable to allow for multiple Snabb Switch instances (figure out a scheme)"},"comment":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/comments/108856966","html_url":"https://github.com/SnabbCo/snabbswitch/pull/472#issuecomment-108856966","issue_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/472","id":108856966,"user":{"login":"lukego","id":13791,"avatar_url":"https://avatars.githubusercontent.com/u/13791?v=3","gravatar_id":"","url":"https://api.github.com/users/lukego","html_url":"https://github.com/lukego","followers_url":"https://api.github.com/users/lukego/followers","following_url":"https://api.github.com/users/lukego/following{/other_user}","gists_url":"https://api.github.com/users/lukego/gists{/gist_id}","starred_url":"https://api.github.com/users/lukego/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukego/subscriptions","organizations_url":"https://api.github.com/users/lukego/orgs","repos_url":"https://api.github.com/users/lukego/repos","events_url":"https://api.github.com/users/lukego/events{/privacy}","received_events_url":"https://api.github.com/users/lukego/received_events","type":"User","site_admin":false},"created_at":"2015-06-04T11:48:21Z","updated_at":"2015-06-04T11:48:21Z","body":"I merged this onto `next` to test for the next release. I hope that we will be able to use #513 to more easily expose state from the core and the apps to SnabbTop but we will see."}}