{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/msbuild/pulls/comments/192914762","pull_request_review_id":125782937,"id":192914762,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5MjkxNDc2Mg==","diff_hunk":"@@ -404,96 +404,81 @@ public int NextTaskId\n         /// Is it starting to shutdown\n         /// Has it shutdown\n         /// </summary>\n-        public LoggingServiceState ServiceState\n-        {\n-            get\n-            {\n-                return _serviceState;\n-            }\n-        }\n+        public LoggingServiceState ServiceState => _serviceState;\n \n         /// <summary>\n         /// Use to optimize away status messages. When this is set to true, only \"critical\"\n         /// events like errors are logged.\n         /// </summary>\n         public bool OnlyLogCriticalEvents\n         {\n-            get\n-            {\n-                return _onlyLogCriticalEvents;\n-            }\n+            get => _onlyLogCriticalEvents;\n \n-            set\n-            {\n-                _onlyLogCriticalEvents = value;\n-            }\n+            set => _onlyLogCriticalEvents = value;\n         }\n \n         /// <summary>\n         /// Number of nodes in the system when the system is initially started\n         /// </summary>\n         public int MaxCPUCount\n         {\n-            get\n-            {\n-                return _maxCPUCount;\n-            }\n+            get => _maxCPUCount;\n \n-            set\n-            {\n-                _maxCPUCount = value;\n-            }\n+            set => _maxCPUCount = value;\n         }\n \n         /// <summary>\n         /// The list of descriptions which describe how to create forwarding loggers on a node.\n         /// This is used by the node provider to get a list of registered descriptions so that \n         /// they can be transmitted to child nodes.\n         /// </summary>\n-        public ICollection<LoggerDescription> LoggerDescriptions\n-        {\n-            get\n-            {\n-                return _loggerDescriptions;\n-            }\n-        }\n+        public ICollection<LoggerDescription> LoggerDescriptions => _loggerDescriptions;\n \n         /// <summary>\n         /// Enumerator over all registered loggers.\n         /// </summary>\n-        public ICollection<ILogger> Loggers\n-        {\n-            get { return _iloggerList; }\n-        }\n+        public ICollection<ILogger> Loggers => _loggers;\n \n         /// <summary>\n         /// What type of logging mode is the logger running under. \n         /// Is it Synchronous or Asynchronous\n         /// </summary>\n-        public LoggerMode LoggingMode\n-        {\n-            get\n-            {\n-                return _logMode;\n-            }\n-        }\n+        public LoggerMode LoggingMode => _logMode;\n \n         /// <summary>\n         /// Get of warnings to treat as errors.  An empty non-null set will treat all warnings as errors.\n         /// </summary>\n         public ISet<string> WarningsAsErrors\n         {\n-            get { return _warningsAsErrors; }\n-            set { _warningsAsErrors = value; }\n-        }\n+            get;\n+            set;\n+        } = null;\n \n         /// <summary>\n         /// A list of warnings to treat as low importance messages.\n         /// </summary>\n         public ISet<string> WarningsAsMessages\n         {\n-            get { return _warningsAsMessages; }\n-            set { _warningsAsMessages = value; }\n+            get;\n+            set;\n+        } = null;\n+\n+        /// <summary>\n+        /// Should evaluation events include profiling information?\n+        /// </summary>\n+        public bool IncludeEvaluationProfile\n+        {\n+            get => _includeEvaluationProfile || _eventSinkDictionary.Values.OfType<EventSourceSink>().Any(sink => sink.IncludeEvaluationProfiles);","path":"src/Build/BackEnd/Components/Logging/LoggingService.cs","position":175,"original_position":175,"commit_id":"3b00163c8a906a7c479234ae0f23affdf73ff019","original_commit_id":"3b00163c8a906a7c479234ae0f23affdf73ff019","user":{"login":"cdmihai","id":2255729,"node_id":"MDQ6VXNlcjIyNTU3Mjk=","avatar_url":"https://avatars0.githubusercontent.com/u/2255729?v=4","gravatar_id":"","url":"https://api.github.com/users/cdmihai","html_url":"https://github.com/cdmihai","followers_url":"https://api.github.com/users/cdmihai/followers","following_url":"https://api.github.com/users/cdmihai/following{/other_user}","gists_url":"https://api.github.com/users/cdmihai/gists{/gist_id}","starred_url":"https://api.github.com/users/cdmihai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdmihai/subscriptions","organizations_url":"https://api.github.com/users/cdmihai/orgs","repos_url":"https://api.github.com/users/cdmihai/repos","events_url":"https://api.github.com/users/cdmihai/events{/privacy}","received_events_url":"https://api.github.com/users/cdmihai/received_events","type":"User","site_admin":false},"body":"These linqs will execute on each evaluation start, which might get picked up in small project restore perf tests (.net core perf is pretty critical about this scenario). Could you hide them behind a Lazy?","created_at":"2018-06-05T00:09:21Z","updated_at":"2018-06-05T00:09:22Z","html_url":"https://github.com/Microsoft/msbuild/pull/3253#discussion_r192914762","pull_request_url":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/comments/192914762"},"html":{"href":"https://github.com/Microsoft/msbuild/pull/3253#discussion_r192914762"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253"}}},"pull_request":{"url":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253","id":185268390,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg1MjY4Mzkw","html_url":"https://github.com/Microsoft/msbuild/pull/3253","diff_url":"https://github.com/Microsoft/msbuild/pull/3253.diff","patch_url":"https://github.com/Microsoft/msbuild/pull/3253.patch","issue_url":"https://api.github.com/repos/Microsoft/msbuild/issues/3253","number":3253,"state":"open","locked":false,"title":"Diagnostic/evaluation logging","user":{"login":"panopticoncentral","id":684792,"node_id":"MDQ6VXNlcjY4NDc5Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/684792?v=4","gravatar_id":"","url":"https://api.github.com/users/panopticoncentral","html_url":"https://github.com/panopticoncentral","followers_url":"https://api.github.com/users/panopticoncentral/followers","following_url":"https://api.github.com/users/panopticoncentral/following{/other_user}","gists_url":"https://api.github.com/users/panopticoncentral/gists{/gist_id}","starred_url":"https://api.github.com/users/panopticoncentral/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/panopticoncentral/subscriptions","organizations_url":"https://api.github.com/users/panopticoncentral/orgs","repos_url":"https://api.github.com/users/panopticoncentral/repos","events_url":"https://api.github.com/users/panopticoncentral/events{/privacy}","received_events_url":"https://api.github.com/users/panopticoncentral/received_events","type":"User","site_admin":false},"body":"This PR proposes to address several logging issues:\r\n\r\n* There are several situations in Visual Studio where loggers need to specify precisely the events that they want to receive so that efficient forwarding loggers can be created. Without more fine-grained event lists, forwarding logger creators have to rely on verbosity, which may include many events that the loggers don't need but will get forwarded.\r\n\r\n* Evaluation profiling is now governed by the project instance creator, but this means that if a logger wishes to receive evaluation profiling it has to have a way to talk to the project instance creator. This PR proposes an alternate method whereby a logger can specify that it wants evaluation profiling without having to state that up front in the build parameters.\r\n\r\nIn adding a test for the evaluation profiling, I took the liberty of doing a little syntax cleanup in the MockLogger. If that's not OK, or if it looks wrong, I can back it out, no problem. Also, totally open to any suggestions for a better way to do this.","created_at":"2018-05-01T20:30:51Z","updated_at":"2018-06-05T00:09:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"59c67909d8b620b04f090f934f554168264a7da4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253/commits","review_comments_url":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253/comments","review_comment_url":"https://api.github.com/repos/Microsoft/msbuild/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/msbuild/issues/3253/comments","statuses_url":"https://api.github.com/repos/Microsoft/msbuild/statuses/3b00163c8a906a7c479234ae0f23affdf73ff019","head":{"label":"panopticoncentral:evallogging","ref":"evallogging","sha":"3b00163c8a906a7c479234ae0f23affdf73ff019","user":{"login":"panopticoncentral","id":684792,"node_id":"MDQ6VXNlcjY4NDc5Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/684792?v=4","gravatar_id":"","url":"https://api.github.com/users/panopticoncentral","html_url":"https://github.com/panopticoncentral","followers_url":"https://api.github.com/users/panopticoncentral/followers","following_url":"https://api.github.com/users/panopticoncentral/following{/other_user}","gists_url":"https://api.github.com/users/panopticoncentral/gists{/gist_id}","starred_url":"https://api.github.com/users/panopticoncentral/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/panopticoncentral/subscriptions","organizations_url":"https://api.github.com/users/panopticoncentral/orgs","repos_url":"https://api.github.com/users/panopticoncentral/repos","events_url":"https://api.github.com/users/panopticoncentral/events{/privacy}","received_events_url":"https://api.github.com/users/panopticoncentral/received_events","type":"User","site_admin":false},"repo":{"id":87472138,"node_id":"MDEwOlJlcG9zaXRvcnk4NzQ3MjEzOA==","name":"msbuild","full_name":"panopticoncentral/msbuild","owner":{"login":"panopticoncentral","id":684792,"node_id":"MDQ6VXNlcjY4NDc5Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/684792?v=4","gravatar_id":"","url":"https://api.github.com/users/panopticoncentral","html_url":"https://github.com/panopticoncentral","followers_url":"https://api.github.com/users/panopticoncentral/followers","following_url":"https://api.github.com/users/panopticoncentral/following{/other_user}","gists_url":"https://api.github.com/users/panopticoncentral/gists{/gist_id}","starred_url":"https://api.github.com/users/panopticoncentral/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/panopticoncentral/subscriptions","organizations_url":"https://api.github.com/users/panopticoncentral/orgs","repos_url":"https://api.github.com/users/panopticoncentral/repos","events_url":"https://api.github.com/users/panopticoncentral/events{/privacy}","received_events_url":"https://api.github.com/users/panopticoncentral/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/panopticoncentral/msbuild","description":"The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.","fork":true,"url":"https://api.github.com/repos/panopticoncentral/msbuild","forks_url":"https://api.github.com/repos/panopticoncentral/msbuild/forks","keys_url":"https://api.github.com/repos/panopticoncentral/msbuild/keys{/key_id}","collaborators_url":"https://api.github.com/repos/panopticoncentral/msbuild/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/panopticoncentral/msbuild/teams","hooks_url":"https://api.github.com/repos/panopticoncentral/msbuild/hooks","issue_events_url":"https://api.github.com/repos/panopticoncentral/msbuild/issues/events{/number}","events_url":"https://api.github.com/repos/panopticoncentral/msbuild/events","assignees_url":"https://api.github.com/repos/panopticoncentral/msbuild/assignees{/user}","branches_url":"https://api.github.com/repos/panopticoncentral/msbuild/branches{/branch}","tags_url":"https://api.github.com/repos/panopticoncentral/msbuild/tags","blobs_url":"https://api.github.com/repos/panopticoncentral/msbuild/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/panopticoncentral/msbuild/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/panopticoncentral/msbuild/git/refs{/sha}","trees_url":"https://api.github.com/repos/panopticoncentral/msbuild/git/trees{/sha}","statuses_url":"https://api.github.com/repos/panopticoncentral/msbuild/statuses/{sha}","languages_url":"https://api.github.com/repos/panopticoncentral/msbuild/languages","stargazers_url":"https://api.github.com/repos/panopticoncentral/msbuild/stargazers","contributors_url":"https://api.github.com/repos/panopticoncentral/msbuild/contributors","subscribers_url":"https://api.github.com/repos/panopticoncentral/msbuild/subscribers","subscription_url":"https://api.github.com/repos/panopticoncentral/msbuild/subscription","commits_url":"https://api.github.com/repos/panopticoncentral/msbuild/commits{/sha}","git_commits_url":"https://api.github.com/repos/panopticoncentral/msbuild/git/commits{/sha}","comments_url":"https://api.github.com/repos/panopticoncentral/msbuild/comments{/number}","issue_comment_url":"https://api.github.com/repos/panopticoncentral/msbuild/issues/comments{/number}","contents_url":"https://api.github.com/repos/panopticoncentral/msbuild/contents/{+path}","compare_url":"https://api.github.com/repos/panopticoncentral/msbuild/compare/{base}...{head}","merges_url":"https://api.github.com/repos/panopticoncentral/msbuild/merges","archive_url":"https://api.github.com/repos/panopticoncentral/msbuild/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/panopticoncentral/msbuild/downloads","issues_url":"https://api.github.com/repos/panopticoncentral/msbuild/issues{/number}","pulls_url":"https://api.github.com/repos/panopticoncentral/msbuild/pulls{/number}","milestones_url":"https://api.github.com/repos/panopticoncentral/msbuild/milestones{/number}","notifications_url":"https://api.github.com/repos/panopticoncentral/msbuild/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/panopticoncentral/msbuild/labels{/name}","releases_url":"https://api.github.com/repos/panopticoncentral/msbuild/releases{/id}","deployments_url":"https://api.github.com/repos/panopticoncentral/msbuild/deployments","created_at":"2017-04-06T20:30:13Z","updated_at":"2018-05-16T15:52:35Z","pushed_at":"2018-06-04T23:00:04Z","git_url":"git://github.com/panopticoncentral/msbuild.git","ssh_url":"git@github.com:panopticoncentral/msbuild.git","clone_url":"https://github.com/panopticoncentral/msbuild.git","svn_url":"https://github.com/panopticoncentral/msbuild","homepage":null,"size":26578,"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":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"3362ab337e71a41eaa181146e7b91b7a67558f1e","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":32051890,"node_id":"MDEwOlJlcG9zaXRvcnkzMjA1MTg5MA==","name":"msbuild","full_name":"Microsoft/msbuild","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},"private":false,"html_url":"https://github.com/Microsoft/msbuild","description":"The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.","fork":false,"url":"https://api.github.com/repos/Microsoft/msbuild","forks_url":"https://api.github.com/repos/Microsoft/msbuild/forks","keys_url":"https://api.github.com/repos/Microsoft/msbuild/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/msbuild/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/msbuild/teams","hooks_url":"https://api.github.com/repos/Microsoft/msbuild/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/msbuild/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/msbuild/events","assignees_url":"https://api.github.com/repos/Microsoft/msbuild/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/msbuild/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/msbuild/tags","blobs_url":"https://api.github.com/repos/Microsoft/msbuild/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/msbuild/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/msbuild/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/msbuild/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/msbuild/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/msbuild/languages","stargazers_url":"https://api.github.com/repos/Microsoft/msbuild/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/msbuild/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/msbuild/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/msbuild/subscription","commits_url":"https://api.github.com/repos/Microsoft/msbuild/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/msbuild/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/msbuild/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/msbuild/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/msbuild/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/msbuild/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/msbuild/merges","archive_url":"https://api.github.com/repos/Microsoft/msbuild/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/msbuild/downloads","issues_url":"https://api.github.com/repos/Microsoft/msbuild/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/msbuild/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/msbuild/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/msbuild/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/msbuild/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/msbuild/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/msbuild/deployments","created_at":"2015-03-12T02:04:46Z","updated_at":"2018-06-04T20:29:17Z","pushed_at":"2018-06-04T23:00:06Z","git_url":"git://github.com/Microsoft/msbuild.git","ssh_url":"git@github.com:Microsoft/msbuild.git","clone_url":"https://github.com/Microsoft/msbuild.git","svn_url":"https://github.com/Microsoft/msbuild","homepage":null,"size":26950,"stargazers_count":3484,"watchers_count":3484,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":778,"mirror_url":null,"archived":false,"open_issues_count":841,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":778,"open_issues":841,"watchers":3484,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253"},"html":{"href":"https://github.com/Microsoft/msbuild/pull/3253"},"issue":{"href":"https://api.github.com/repos/Microsoft/msbuild/issues/3253"},"comments":{"href":"https://api.github.com/repos/Microsoft/msbuild/issues/3253/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/msbuild/pulls/3253/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/msbuild/statuses/3b00163c8a906a7c479234ae0f23affdf73ff019"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"cdmihai"}}