{"action":"opened","number":2932,"pull_request":{"url":"https://api.github.com/repos/dotnet/corefx/pulls/2932","id":43090782,"html_url":"https://github.com/dotnet/corefx/pull/2932","diff_url":"https://github.com/dotnet/corefx/pull/2932.diff","patch_url":"https://github.com/dotnet/corefx/pull/2932.patch","issue_url":"https://api.github.com/repos/dotnet/corefx/issues/2932","number":2932,"state":"open","locked":false,"title":"Implement TelemetrySource/TelemetryListener for Rich Diagnostics in ASP.NET 5 ","user":{"login":"vancem","id":8459414,"avatar_url":"https://avatars.githubusercontent.com/u/8459414?v=3","gravatar_id":"","url":"https://api.github.com/users/vancem","html_url":"https://github.com/vancem","followers_url":"https://api.github.com/users/vancem/followers","following_url":"https://api.github.com/users/vancem/following{/other_user}","gists_url":"https://api.github.com/users/vancem/gists{/gist_id}","starred_url":"https://api.github.com/users/vancem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vancem/subscriptions","organizations_url":"https://api.github.com/users/vancem/orgs","repos_url":"https://api.github.com/users/vancem/repos","events_url":"https://api.github.com/users/vancem/events{/privacy}","received_events_url":"https://api.github.com/users/vancem/received_events","type":"User","site_admin":false},"body":"The ASP.NET team has been working with diagnostic tools teams on support for Rich diagnostics.   Basically what is needed is the ability to instrument various points in the runtime (and ASP.NET) and pass rich types (e.g. a HTTP context, or a whole HTTP Message).   Existing offerings (e.g. EventSource) are insufficient because of the desired richness (EventSource requires that what is passed to it be serializable, which in turn requires that you pick an choose what is important to you to keep the size reasonable).   In this API there is no expectation of serialization (the tool will inject code and inspect the rich objects and IT WILL DECIDE what is important FOR THAT INSTANCE.   \r\n\r\nThere was a prototype built by the ASP.NET team (See aspnet/EventNotfication).   This is effectively a counter proposal by the runtime team.  We removed everything that did not absolutely need to be in the framework (thus it is just a subscription service, and does very little), because the rest can be done by the subscribers to the rich events (they have a Duck typing scheme).   \r\n\r\nThis API has been through about a week's worth of discussion trying to keep it as simple and clean as possible.   It will be its own package.    There are only two classes (see TelemetrySource.cs and TelemetryListener.cs) and only the Listener has any implementation.  \r\n\r\nThis class has to be pushed through ASAP so that the ASP.NET team can use it to instrument all the necessary places in their framework.      ","created_at":"2015-08-21T23:29:59Z","updated_at":"2015-08-21T23:29:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/corefx/pulls/2932/commits","review_comments_url":"https://api.github.com/repos/dotnet/corefx/pulls/2932/comments","review_comment_url":"https://api.github.com/repos/dotnet/corefx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/2932/comments","statuses_url":"https://api.github.com/repos/dotnet/corefx/statuses/9433e672e5cea4223d31040f418dd156c30e552a","head":{"label":"vancem:master","ref":"master","sha":"9433e672e5cea4223d31040f418dd156c30e552a","user":{"login":"vancem","id":8459414,"avatar_url":"https://avatars.githubusercontent.com/u/8459414?v=3","gravatar_id":"","url":"https://api.github.com/users/vancem","html_url":"https://github.com/vancem","followers_url":"https://api.github.com/users/vancem/followers","following_url":"https://api.github.com/users/vancem/following{/other_user}","gists_url":"https://api.github.com/users/vancem/gists{/gist_id}","starred_url":"https://api.github.com/users/vancem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vancem/subscriptions","organizations_url":"https://api.github.com/users/vancem/orgs","repos_url":"https://api.github.com/users/vancem/repos","events_url":"https://api.github.com/users/vancem/events{/privacy}","received_events_url":"https://api.github.com/users/vancem/received_events","type":"User","site_admin":false},"repo":{"id":41119686,"name":"corefx","full_name":"vancem/corefx","owner":{"login":"vancem","id":8459414,"avatar_url":"https://avatars.githubusercontent.com/u/8459414?v=3","gravatar_id":"","url":"https://api.github.com/users/vancem","html_url":"https://github.com/vancem","followers_url":"https://api.github.com/users/vancem/followers","following_url":"https://api.github.com/users/vancem/following{/other_user}","gists_url":"https://api.github.com/users/vancem/gists{/gist_id}","starred_url":"https://api.github.com/users/vancem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vancem/subscriptions","organizations_url":"https://api.github.com/users/vancem/orgs","repos_url":"https://api.github.com/users/vancem/repos","events_url":"https://api.github.com/users/vancem/events{/privacy}","received_events_url":"https://api.github.com/users/vancem/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/vancem/corefx","description":"This repo contains the .NET Core foundational libraries, called CoreFX. It includes classes for collections, file systems, console, XML, async and many others.","fork":true,"url":"https://api.github.com/repos/vancem/corefx","forks_url":"https://api.github.com/repos/vancem/corefx/forks","keys_url":"https://api.github.com/repos/vancem/corefx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vancem/corefx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vancem/corefx/teams","hooks_url":"https://api.github.com/repos/vancem/corefx/hooks","issue_events_url":"https://api.github.com/repos/vancem/corefx/issues/events{/number}","events_url":"https://api.github.com/repos/vancem/corefx/events","assignees_url":"https://api.github.com/repos/vancem/corefx/assignees{/user}","branches_url":"https://api.github.com/repos/vancem/corefx/branches{/branch}","tags_url":"https://api.github.com/repos/vancem/corefx/tags","blobs_url":"https://api.github.com/repos/vancem/corefx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vancem/corefx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vancem/corefx/git/refs{/sha}","trees_url":"https://api.github.com/repos/vancem/corefx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vancem/corefx/statuses/{sha}","languages_url":"https://api.github.com/repos/vancem/corefx/languages","stargazers_url":"https://api.github.com/repos/vancem/corefx/stargazers","contributors_url":"https://api.github.com/repos/vancem/corefx/contributors","subscribers_url":"https://api.github.com/repos/vancem/corefx/subscribers","subscription_url":"https://api.github.com/repos/vancem/corefx/subscription","commits_url":"https://api.github.com/repos/vancem/corefx/commits{/sha}","git_commits_url":"https://api.github.com/repos/vancem/corefx/git/commits{/sha}","comments_url":"https://api.github.com/repos/vancem/corefx/comments{/number}","issue_comment_url":"https://api.github.com/repos/vancem/corefx/issues/comments{/number}","contents_url":"https://api.github.com/repos/vancem/corefx/contents/{+path}","compare_url":"https://api.github.com/repos/vancem/corefx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vancem/corefx/merges","archive_url":"https://api.github.com/repos/vancem/corefx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vancem/corefx/downloads","issues_url":"https://api.github.com/repos/vancem/corefx/issues{/number}","pulls_url":"https://api.github.com/repos/vancem/corefx/pulls{/number}","milestones_url":"https://api.github.com/repos/vancem/corefx/milestones{/number}","notifications_url":"https://api.github.com/repos/vancem/corefx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vancem/corefx/labels{/name}","releases_url":"https://api.github.com/repos/vancem/corefx/releases{/id}","created_at":"2015-08-20T21:27:34Z","updated_at":"2015-08-20T21:27:52Z","pushed_at":"2015-08-21T20:38:51Z","git_url":"git://github.com/vancem/corefx.git","ssh_url":"git@github.com:vancem/corefx.git","clone_url":"https://github.com/vancem/corefx.git","svn_url":"https://github.com/vancem/corefx","homepage":"http://dotnet.github.io/core/","size":29490,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"1ec6e8fedd8dee278f3c51a0c8cfd69d4dedc234","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":26295345,"name":"corefx","full_name":"dotnet/corefx","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/corefx","description":"This repo contains the .NET Core foundational libraries, called CoreFX. It includes classes for collections, file systems, console, XML, async and many others.","fork":false,"url":"https://api.github.com/repos/dotnet/corefx","forks_url":"https://api.github.com/repos/dotnet/corefx/forks","keys_url":"https://api.github.com/repos/dotnet/corefx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/corefx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/corefx/teams","hooks_url":"https://api.github.com/repos/dotnet/corefx/hooks","issue_events_url":"https://api.github.com/repos/dotnet/corefx/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/corefx/events","assignees_url":"https://api.github.com/repos/dotnet/corefx/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/corefx/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/corefx/tags","blobs_url":"https://api.github.com/repos/dotnet/corefx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/corefx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/corefx/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/corefx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/corefx/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/corefx/languages","stargazers_url":"https://api.github.com/repos/dotnet/corefx/stargazers","contributors_url":"https://api.github.com/repos/dotnet/corefx/contributors","subscribers_url":"https://api.github.com/repos/dotnet/corefx/subscribers","subscription_url":"https://api.github.com/repos/dotnet/corefx/subscription","commits_url":"https://api.github.com/repos/dotnet/corefx/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/corefx/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/corefx/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/corefx/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/corefx/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/corefx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/corefx/merges","archive_url":"https://api.github.com/repos/dotnet/corefx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/corefx/downloads","issues_url":"https://api.github.com/repos/dotnet/corefx/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/corefx/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/corefx/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/corefx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/corefx/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/corefx/releases{/id}","created_at":"2014-11-06T23:42:48Z","updated_at":"2015-08-21T20:48:40Z","pushed_at":"2015-08-21T22:34:39Z","git_url":"git://github.com/dotnet/corefx.git","ssh_url":"git@github.com:dotnet/corefx.git","clone_url":"https://github.com/dotnet/corefx.git","svn_url":"https://github.com/dotnet/corefx","homepage":"http://dotnet.github.io/core/","size":63286,"stargazers_count":8236,"watchers_count":8236,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1742,"mirror_url":null,"open_issues_count":553,"forks":1742,"open_issues":553,"watchers":8236,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/corefx/pulls/2932"},"html":{"href":"https://github.com/dotnet/corefx/pull/2932"},"issue":{"href":"https://api.github.com/repos/dotnet/corefx/issues/2932"},"comments":{"href":"https://api.github.com/repos/dotnet/corefx/issues/2932/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/corefx/pulls/2932/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/corefx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/corefx/pulls/2932/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/corefx/statuses/9433e672e5cea4223d31040f418dd156c30e552a"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":2171,"deletions":0,"changed_files":14}}