{"action":"opened","number":410,"pull_request":{"url":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410","id":224410850,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0NDEwODUw","html_url":"https://github.com/Microsoft/VFSForGit/pull/410","diff_url":"https://github.com/Microsoft/VFSForGit/pull/410.diff","patch_url":"https://github.com/Microsoft/VFSForGit/pull/410.patch","issue_url":"https://api.github.com/repos/Microsoft/VFSForGit/issues/410","number":410,"state":"open","locked":false,"title":"Telemetry Mount Story - EARLY PR FOR FEEDBACK","user":{"login":"jeschu1","id":20819937,"node_id":"MDQ6VXNlcjIwODE5OTM3","avatar_url":"https://avatars2.githubusercontent.com/u/20819937?v=4","gravatar_id":"","url":"https://api.github.com/users/jeschu1","html_url":"https://github.com/jeschu1","followers_url":"https://api.github.com/users/jeschu1/followers","following_url":"https://api.github.com/users/jeschu1/following{/other_user}","gists_url":"https://api.github.com/users/jeschu1/gists{/gist_id}","starred_url":"https://api.github.com/users/jeschu1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeschu1/subscriptions","organizations_url":"https://api.github.com/users/jeschu1/orgs","repos_url":"https://api.github.com/users/jeschu1/repos","events_url":"https://api.github.com/users/jeschu1/events{/privacy}","received_events_url":"https://api.github.com/users/jeschu1/received_events","type":"User","site_admin":false},"body":"This is a very early unpolished PR to solicit feedback on the described approach below.  \r\n****Please don't go thru the code yet and attempt to review it yet  :-)****\r\nLet me know what you think of the approach and what tweaks you'd suggest.  This leverages the great work @kewillford started with mountId.\r\n\r\n### Purpose: We want to track the Mount process knowing when it is successful and when it fails.  To do that I'm proposing adding these new telemetry points.\r\n- MountId on Clone\r\n  - Tracks mount processes started from a clone\r\n- MountId on Unmount\r\n  - Tracks when an unmount is successfully used\r\n\r\n### From this we can track:\r\n- Successful Completed Mounts\r\n   - Mounts that ended by Unmounting\r\n- Unsuccessful Mounts\r\n   - Mounts that have Error entries \r\n   - We may choose to ignore some errors in the count. For instance if a user tries to do a clone without admin privileges GVFS.exe will log an error when attempting to attach the filter.  However, failing to attach the filter is expected when GVFS.exe is not running with elevation, and it will request that that the Service attach the filter. \r\n- If we have a Mount that isn't marked as either Successful / Unsuccessful above,  it could be because\r\n   - It is still running\r\n      - We can validate this by looking for a Heartbeat\r\n   - It was force killed / BSOD / Power Outage / etc..\r\n      - How much effort do we want to put into this scenarios?  My preliminary thoughts are to see how common it is before digging further\r\n\r\nIn addition to approach validation I also need to\r\n- [ ] Verify all Error states are logged and have a mountId\r\n\r\nHere is the Kusto i've been working with\r\n```\r\n // SUCCESSFUL COMPLETED MOUNTS: completed by Unmounting\r\nlet start = ago(1d); \r\nMicrosoftGit\r\n| where timestamp > start\r\n| where name like \"Microsoft.Git.GVFS\"\r\n| extend d = parse_json(tostring(parse_json(data).Json))\r\n| extend MountId = tostring(parse_json(data).MountId)\r\n| extend Version = tostring(d.Version) \r\n| where Version == \"0.2.173.2\"\r\n| where MountId <> \"\"\r\n| join (\r\n    MicrosoftGit\r\n    | where timestamp > start\r\n    | where name like \"Microsoft.Git.GVFS\"\r\n    | extend d = parse_json(tostring(parse_json(data).Json))\r\n    | extend MountId = tostring(parse_json(data).MountId)\r\n    | where name in (\"Microsoft.Git.GVFS.GVFSUnmount\")\r\n    | where MountId <> \"\" ) on MountId \r\n\r\n// UNSUCCESSFUL MOUNTS: mounts with errors\r\nlet start = ago(10d); \r\nMicrosoftGit\r\n| where timestamp > start\r\n| where name == \"Microsoft.Git.GVFS.Error\"\r\n| extend d = parse_json(tostring(parse_json(data).Json))\r\n| extend MountId = tostring(parse_json(data).MountId)\r\n| extend Exception = tostring(d.Exception)\r\n| extend ErrorMessage = tostring(d.ErrorMessage)\r\n| where MountId <> \"\"\r\n| summarize count() by MountId //Remove the summary to see all the errors\r\n```\r\n\r\n\r\n \r\n","created_at":"2018-10-19T21:08:20Z","updated_at":"2018-10-19T21:08:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410/commits","review_comments_url":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410/comments","review_comment_url":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/VFSForGit/issues/410/comments","statuses_url":"https://api.github.com/repos/Microsoft/VFSForGit/statuses/1941b48c44dae24f2514550a27ed7049ff5caeac","head":{"label":"jeschu1:telemetry","ref":"telemetry","sha":"1941b48c44dae24f2514550a27ed7049ff5caeac","user":{"login":"jeschu1","id":20819937,"node_id":"MDQ6VXNlcjIwODE5OTM3","avatar_url":"https://avatars2.githubusercontent.com/u/20819937?v=4","gravatar_id":"","url":"https://api.github.com/users/jeschu1","html_url":"https://github.com/jeschu1","followers_url":"https://api.github.com/users/jeschu1/followers","following_url":"https://api.github.com/users/jeschu1/following{/other_user}","gists_url":"https://api.github.com/users/jeschu1/gists{/gist_id}","starred_url":"https://api.github.com/users/jeschu1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeschu1/subscriptions","organizations_url":"https://api.github.com/users/jeschu1/orgs","repos_url":"https://api.github.com/users/jeschu1/repos","events_url":"https://api.github.com/users/jeschu1/events{/privacy}","received_events_url":"https://api.github.com/users/jeschu1/received_events","type":"User","site_admin":false},"repo":{"id":149776239,"node_id":"MDEwOlJlcG9zaXRvcnkxNDk3NzYyMzk=","name":"VFSForGit","full_name":"jeschu1/VFSForGit","private":false,"owner":{"login":"jeschu1","id":20819937,"node_id":"MDQ6VXNlcjIwODE5OTM3","avatar_url":"https://avatars2.githubusercontent.com/u/20819937?v=4","gravatar_id":"","url":"https://api.github.com/users/jeschu1","html_url":"https://github.com/jeschu1","followers_url":"https://api.github.com/users/jeschu1/followers","following_url":"https://api.github.com/users/jeschu1/following{/other_user}","gists_url":"https://api.github.com/users/jeschu1/gists{/gist_id}","starred_url":"https://api.github.com/users/jeschu1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeschu1/subscriptions","organizations_url":"https://api.github.com/users/jeschu1/orgs","repos_url":"https://api.github.com/users/jeschu1/repos","events_url":"https://api.github.com/users/jeschu1/events{/privacy}","received_events_url":"https://api.github.com/users/jeschu1/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jeschu1/VFSForGit","description":"Virtual File System for Git: Enable Git at Enterprise Scale","fork":true,"url":"https://api.github.com/repos/jeschu1/VFSForGit","forks_url":"https://api.github.com/repos/jeschu1/VFSForGit/forks","keys_url":"https://api.github.com/repos/jeschu1/VFSForGit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jeschu1/VFSForGit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jeschu1/VFSForGit/teams","hooks_url":"https://api.github.com/repos/jeschu1/VFSForGit/hooks","issue_events_url":"https://api.github.com/repos/jeschu1/VFSForGit/issues/events{/number}","events_url":"https://api.github.com/repos/jeschu1/VFSForGit/events","assignees_url":"https://api.github.com/repos/jeschu1/VFSForGit/assignees{/user}","branches_url":"https://api.github.com/repos/jeschu1/VFSForGit/branches{/branch}","tags_url":"https://api.github.com/repos/jeschu1/VFSForGit/tags","blobs_url":"https://api.github.com/repos/jeschu1/VFSForGit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jeschu1/VFSForGit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jeschu1/VFSForGit/git/refs{/sha}","trees_url":"https://api.github.com/repos/jeschu1/VFSForGit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jeschu1/VFSForGit/statuses/{sha}","languages_url":"https://api.github.com/repos/jeschu1/VFSForGit/languages","stargazers_url":"https://api.github.com/repos/jeschu1/VFSForGit/stargazers","contributors_url":"https://api.github.com/repos/jeschu1/VFSForGit/contributors","subscribers_url":"https://api.github.com/repos/jeschu1/VFSForGit/subscribers","subscription_url":"https://api.github.com/repos/jeschu1/VFSForGit/subscription","commits_url":"https://api.github.com/repos/jeschu1/VFSForGit/commits{/sha}","git_commits_url":"https://api.github.com/repos/jeschu1/VFSForGit/git/commits{/sha}","comments_url":"https://api.github.com/repos/jeschu1/VFSForGit/comments{/number}","issue_comment_url":"https://api.github.com/repos/jeschu1/VFSForGit/issues/comments{/number}","contents_url":"https://api.github.com/repos/jeschu1/VFSForGit/contents/{+path}","compare_url":"https://api.github.com/repos/jeschu1/VFSForGit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jeschu1/VFSForGit/merges","archive_url":"https://api.github.com/repos/jeschu1/VFSForGit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jeschu1/VFSForGit/downloads","issues_url":"https://api.github.com/repos/jeschu1/VFSForGit/issues{/number}","pulls_url":"https://api.github.com/repos/jeschu1/VFSForGit/pulls{/number}","milestones_url":"https://api.github.com/repos/jeschu1/VFSForGit/milestones{/number}","notifications_url":"https://api.github.com/repos/jeschu1/VFSForGit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jeschu1/VFSForGit/labels{/name}","releases_url":"https://api.github.com/repos/jeschu1/VFSForGit/releases{/id}","deployments_url":"https://api.github.com/repos/jeschu1/VFSForGit/deployments","created_at":"2018-09-21T14:40:32Z","updated_at":"2018-09-21T14:40:36Z","pushed_at":"2018-10-19T19:17:30Z","git_url":"git://github.com/jeschu1/VFSForGit.git","ssh_url":"git@github.com:jeschu1/VFSForGit.git","clone_url":"https://github.com/jeschu1/VFSForGit.git","svn_url":"https://github.com/jeschu1/VFSForGit","homepage":"https://gvfs.io/","size":3248,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"3bd509d373734a9f9685d6a73ba73324f72931e3","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":80058269,"node_id":"MDEwOlJlcG9zaXRvcnk4MDA1ODI2OQ==","name":"VFSForGit","full_name":"Microsoft/VFSForGit","private":false,"owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Microsoft/VFSForGit","description":"Virtual File System for Git: Enable Git at Enterprise Scale","fork":false,"url":"https://api.github.com/repos/Microsoft/VFSForGit","forks_url":"https://api.github.com/repos/Microsoft/VFSForGit/forks","keys_url":"https://api.github.com/repos/Microsoft/VFSForGit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/VFSForGit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/VFSForGit/teams","hooks_url":"https://api.github.com/repos/Microsoft/VFSForGit/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/VFSForGit/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/VFSForGit/events","assignees_url":"https://api.github.com/repos/Microsoft/VFSForGit/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/VFSForGit/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/VFSForGit/tags","blobs_url":"https://api.github.com/repos/Microsoft/VFSForGit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/VFSForGit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/VFSForGit/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/VFSForGit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/VFSForGit/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/VFSForGit/languages","stargazers_url":"https://api.github.com/repos/Microsoft/VFSForGit/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/VFSForGit/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/VFSForGit/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/VFSForGit/subscription","commits_url":"https://api.github.com/repos/Microsoft/VFSForGit/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/VFSForGit/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/VFSForGit/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/VFSForGit/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/VFSForGit/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/VFSForGit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/VFSForGit/merges","archive_url":"https://api.github.com/repos/Microsoft/VFSForGit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/VFSForGit/downloads","issues_url":"https://api.github.com/repos/Microsoft/VFSForGit/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/VFSForGit/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/VFSForGit/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/VFSForGit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/VFSForGit/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/VFSForGit/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/VFSForGit/deployments","created_at":"2017-01-25T21:10:29Z","updated_at":"2018-10-19T20:11:48Z","pushed_at":"2018-10-19T20:51:30Z","git_url":"git://github.com/Microsoft/VFSForGit.git","ssh_url":"git@github.com:Microsoft/VFSForGit.git","clone_url":"https://github.com/Microsoft/VFSForGit.git","svn_url":"https://github.com/Microsoft/VFSForGit","homepage":"https://gvfs.io/","size":3224,"stargazers_count":4362,"watchers_count":4362,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":285,"mirror_url":null,"archived":false,"open_issues_count":105,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":285,"open_issues":105,"watchers":4362,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410"},"html":{"href":"https://github.com/Microsoft/VFSForGit/pull/410"},"issue":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/issues/410"},"comments":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/issues/410/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/pulls/410/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/VFSForGit/statuses/1941b48c44dae24f2514550a27ed7049ff5caeac"}},"author_association":"MEMBER","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":56,"deletions":29,"changed_files":3}}
{"actor":{"display_login":"jeschu1"}}