{"action":"created","issue":{"url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/24","labels_url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/24/comments","events_url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/24/events","html_url":"https://github.com/expectedbehavior/instrumental_tools/pull/24","id":89944222,"number":24,"title":"[WIP] Win32 support","user":{"login":"netshade","id":3809,"avatar_url":"https://avatars.githubusercontent.com/u/3809?v=3","gravatar_id":"","url":"https://api.github.com/users/netshade","html_url":"https://github.com/netshade","followers_url":"https://api.github.com/users/netshade/followers","following_url":"https://api.github.com/users/netshade/following{/other_user}","gists_url":"https://api.github.com/users/netshade/gists{/gist_id}","starred_url":"https://api.github.com/users/netshade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netshade/subscriptions","organizations_url":"https://api.github.com/users/netshade/orgs","repos_url":"https://api.github.com/users/netshade/repos","events_url":"https://api.github.com/users/netshade/events{/privacy}","received_events_url":"https://api.github.com/users/netshade/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-06-21T18:37:11Z","updated_at":"2015-06-30T15:32:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/pulls/24","html_url":"https://github.com/expectedbehavior/instrumental_tools/pull/24","diff_url":"https://github.com/expectedbehavior/instrumental_tools/pull/24.diff","patch_url":"https://github.com/expectedbehavior/instrumental_tools/pull/24.patch"},"body":"* Add initial WMI instrumentation of Windows hosts\r\n* Bundle a Traveling Ruby binary that is Windows native\r\n* Packaging scripts to create an .exe for installing the instrumentation tools\r\n* Install monitoring as a Windows service\r\n* Uninstall de-registers Windows service\r\n* On metric flush, after sending data, synchronously ensures send then disconnects connection\r\n\r\nOnly VMs tested so far: IE11 Win 7 VM image from [modern.ie](http://dev.modern.ie/tools/vms/).\r\n\r\nDependencies: `brew install makensis`\r\n\r\nTo build new installer: `rake package:win32`\r\n\r\nTODO:\r\n\r\n- [ ] Make the yaml config file generated for windows use windows line ends (`\\r\\n`) so the file can be edited in notepad.\r\n- [ ] Make service show up as \"Instrumental Tools\" instead of \"instrumental_tools\" in the services tab of \"Component Services\", and give it a description.\r\n- [ ] Review use of `nssm` and `.bat` file as means of starting application\r\n- [ ] Port custom script executor to Windows\r\n- [ ] Ensure permissions on install are least privileged\r\n- [ ] Uninstall removes installed files\r\n- [ ] Integration w/ kitchenci, if possible\r\n- [ ] Integrate hotpatch of Agent `EAGAIN` no-op into core Instrumental agent\r\n- [ ] Ensure updated Traveling Ruby does not cause new issues on *nix builds\r\n- [ ] Port kitchenci testing to use local builds of packages as well as testing the remote package fetch\r\n- [ ] Installer accepts parameters for baking in config values ( GUI and headless )\r\n- [ ] Only accept arguments for the platform you are on ( don't advertise \"run as user\" unless that works on Win32 )\r\n- [ ] ~~_Optional_: Ensure tools level prefix can be specified via command line~~"},"comment":{"url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/comments/117230086","html_url":"https://github.com/expectedbehavior/instrumental_tools/pull/24#issuecomment-117230086","issue_url":"https://api.github.com/repos/expectedbehavior/instrumental_tools/issues/24","id":117230086,"user":{"login":"janxious","id":50124,"avatar_url":"https://avatars.githubusercontent.com/u/50124?v=3","gravatar_id":"","url":"https://api.github.com/users/janxious","html_url":"https://github.com/janxious","followers_url":"https://api.github.com/users/janxious/followers","following_url":"https://api.github.com/users/janxious/following{/other_user}","gists_url":"https://api.github.com/users/janxious/gists{/gist_id}","starred_url":"https://api.github.com/users/janxious/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janxious/subscriptions","organizations_url":"https://api.github.com/users/janxious/orgs","repos_url":"https://api.github.com/users/janxious/repos","events_url":"https://api.github.com/users/janxious/events{/privacy}","received_events_url":"https://api.github.com/users/janxious/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T15:32:52Z","updated_at":"2015-06-30T15:32:52Z","body":"Thought: it would be cool to do a notice/increment for instance/machine reboots"}}