payload: {"action":"created","comment":{"url":"https://api.github.com/repos/python/cpython/pulls/comments/283113316","pull_request_review_id":236394444,"id":283113316,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI4MzExMzMxNg==","diff_hunk":"@@ -104,6 +104,10 @@ def test_various_ops(self):\n             self.assertRegex(repr(t), r'^<TestThread\\(.*, initial\\)>$')\n             t.start()\n \n+        tids = set(t.tid for t in threads) | {threading.get_tid()}\n+        self.assertNotIn(None, tids)\n+        self.assertEqual(len(tids), NUMTASKS + 1)","path":"Lib/test/test_threading.py","position":6,"original_position":6,"commit_id":"a19d2080804e15b22778f588d2fb99aa2977b0af","original_commit_id":"a19d2080804e15b22778f588d2fb99aa2977b0af","user":{"login":"pitrou","id":1721820,"node_id":"MDQ6VXNlcjE3MjE4MjA=","avatar_url":"https://avatars2.githubusercontent.com/u/1721820?v=4","gravatar_id":"","url":"https://api.github.com/users/pitrou","html_url":"https://github.com/pitrou","followers_url":"https://api.github.com/users/pitrou/followers","following_url":"https://api.github.com/users/pitrou/following{/other_user}","gists_url":"https://api.github.com/users/pitrou/gists{/gist_id}","starred_url":"https://api.github.com/users/pitrou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pitrou/subscriptions","organizations_url":"https://api.github.com/users/pitrou/orgs","repos_url":"https://api.github.com/users/pitrou/repos","events_url":"https://api.github.com/users/pitrou/events{/privacy}","received_events_url":"https://api.github.com/users/pitrou/received_events","type":"User","site_admin":false},"body":"You're right. That doesn't sound easily doable. Let's forget it for now.","created_at":"2019-05-11T22:26:16Z","updated_at":"2019-05-11T22:26:16Z","html_url":"https://github.com/python/cpython/pull/11993#discussion_r283113316","pull_request_url":"https://api.github.com/repos/python/cpython/pulls/11993","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/python/cpython/pulls/comments/283113316"},"html":{"href":"https://github.com/python/cpython/pull/11993#discussion_r283113316"},"pull_request":{"href":"https://api.github.com/repos/python/cpython/pulls/11993"}},"in_reply_to_id":283090203},"pull_request":{"url":"https://api.github.com/repos/python/cpython/pulls/11993","id":255556795,"node_id":"MDExOlB1bGxSZXF1ZXN0MjU1NTU2Nzk1","html_url":"https://github.com/python/cpython/pull/11993","diff_url":"https://github.com/python/cpython/pull/11993.diff","patch_url":"https://github.com/python/cpython/pull/11993.patch","issue_url":"https://api.github.com/repos/python/cpython/issues/11993","number":11993,"state":"open","locked":false,"title":"bpo-36084: add native thread ID (TID) to threading.Thread objects","user":{"login":"jaketesler","id":1238972,"node_id":"MDQ6VXNlcjEyMzg5NzI=","avatar_url":"https://avatars1.githubusercontent.com/u/1238972?v=4","gravatar_id":"","url":"https://api.github.com/users/jaketesler","html_url":"https://github.com/jaketesler","followers_url":"https://api.github.com/users/jaketesler/followers","following_url":"https://api.github.com/users/jaketesler/following{/other_user}","gists_url":"https://api.github.com/users/jaketesler/gists{/gist_id}","starred_url":"https://api.github.com/users/jaketesler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaketesler/subscriptions","organizations_url":"https://api.github.com/users/jaketesler/orgs","repos_url":"https://api.github.com/users/jaketesler/repos","events_url":"https://api.github.com/users/jaketesler/events{/privacy}","received_events_url":"https://api.github.com/users/jaketesler/received_events","type":"User","site_admin":false},"body":"This functionality adds a native Thread ID to threading.Thread objects. This ID (`TID`), similar to the `PID` of a process, is assigned by the OS (kernel) and is generally used for externally monitoring resources consumed by the running thread (or process).\r\nThis does not replace the `ident` attribute within Thread objects, which is assigned by the Python interpreter and is guaranteed as unique for the lifetime of the Python instance.\r\n\r\nThis new functionality fully supports Linux, Apple, and Windows platforms.\r\n\r\n<!-- issue-number: [bpo-36084](https://bugs.python.org/issue36084) -->\r\nhttps://bugs.python.org/issue36084\r\n<!-- /issue-number -->\r\n","created_at":"2019-02-22T22:47:57Z","updated_at":"2019-05-11T22:26:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3961dec56f313b5eb3d4159dc715d4b92c4a669f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":536945472,"node_id":"MDU6TGFiZWw1MzY5NDU0NzI=","url":"https://api.github.com/repos/python/cpython/labels/CLA%20signed","name":"CLA signed","color":"0e8a16","default":false},{"id":666979922,"node_id":"MDU6TGFiZWw2NjY5Nzk5MjI=","url":"https://api.github.com/repos/python/cpython/labels/awaiting%20changes","name":"awaiting changes","color":"fbca04","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/python/cpython/pulls/11993/commits","review_comments_url":"https://api.github.com/repos/python/cpython/pulls/11993/comments","review_comment_url":"https://api.github.com/repos/python/cpython/pulls/comments{/number}","comments_url":"https://api.github.com/repos/python/cpython/issues/11993/comments","statuses_url":"https://api.github.com/repos/python/cpython/statuses/a19d2080804e15b22778f588d2fb99aa2977b0af","head":{"label":"jaketesler:feature-threadid","ref":"feature-threadid","sha":"a19d2080804e15b22778f588d2fb99aa2977b0af","user":{"login":"jaketesler","id":1238972,"node_id":"MDQ6VXNlcjEyMzg5NzI=","avatar_url":"https://avatars1.githubusercontent.com/u/1238972?v=4","gravatar_id":"","url":"https://api.github.com/users/jaketesler","html_url":"https://github.com/jaketesler","followers_url":"https://api.github.com/users/jaketesler/followers","following_url":"https://api.github.com/users/jaketesler/following{/other_user}","gists_url":"https://api.github.com/users/jaketesler/gists{/gist_id}","starred_url":"https://api.github.com/users/jaketesler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaketesler/subscriptions","organizations_url":"https://api.github.com/users/jaketesler/orgs","repos_url":"https://api.github.com/users/jaketesler/repos","events_url":"https://api.github.com/users/jaketesler/events{/privacy}","received_events_url":"https://api.github.com/users/jaketesler/received_events","type":"User","site_admin":false},"repo":{"id":172085767,"node_id":"MDEwOlJlcG9zaXRvcnkxNzIwODU3Njc=","name":"cpython","full_name":"jaketesler/cpython","private":false,"owner":{"login":"jaketesler","id":1238972,"node_id":"MDQ6VXNlcjEyMzg5NzI=","avatar_url":"https://avatars1.githubusercontent.com/u/1238972?v=4","gravatar_id":"","url":"https://api.github.com/users/jaketesler","html_url":"https://github.com/jaketesler","followers_url":"https://api.github.com/users/jaketesler/followers","following_url":"https://api.github.com/users/jaketesler/following{/other_user}","gists_url":"https://api.github.com/users/jaketesler/gists{/gist_id}","starred_url":"https://api.github.com/users/jaketesler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaketesler/subscriptions","organizations_url":"https://api.github.com/users/jaketesler/orgs","repos_url":"https://api.github.com/users/jaketesler/repos","events_url":"https://api.github.com/users/jaketesler/events{/privacy}","received_events_url":"https://api.github.com/users/jaketesler/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jaketesler/cpython","description":"The Python programming language","fork":true,"url":"https://api.github.com/repos/jaketesler/cpython","forks_url":"https://api.github.com/repos/jaketesler/cpython/forks","keys_url":"https://api.github.com/repos/jaketesler/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jaketesler/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jaketesler/cpython/teams","hooks_url":"https://api.github.com/repos/jaketesler/cpython/hooks","issue_events_url":"https://api.github.com/repos/jaketesler/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/jaketesler/cpython/events","assignees_url":"https://api.github.com/repos/jaketesler/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/jaketesler/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/jaketesler/cpython/tags","blobs_url":"https://api.github.com/repos/jaketesler/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jaketesler/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jaketesler/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/jaketesler/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jaketesler/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/jaketesler/cpython/languages","stargazers_url":"https://api.github.com/repos/jaketesler/cpython/stargazers","contributors_url":"https://api.github.com/repos/jaketesler/cpython/contributors","subscribers_url":"https://api.github.com/repos/jaketesler/cpython/subscribers","subscription_url":"https://api.github.com/repos/jaketesler/cpython/subscription","commits_url":"https://api.github.com/repos/jaketesler/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/jaketesler/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/jaketesler/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/jaketesler/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/jaketesler/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/jaketesler/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jaketesler/cpython/merges","archive_url":"https://api.github.com/repos/jaketesler/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jaketesler/cpython/downloads","issues_url":"https://api.github.com/repos/jaketesler/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/jaketesler/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/jaketesler/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/jaketesler/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jaketesler/cpython/labels{/name}","releases_url":"https://api.github.com/repos/jaketesler/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/jaketesler/cpython/deployments","created_at":"2019-02-22T15:05:22Z","updated_at":"2019-02-22T15:05:48Z","pushed_at":"2019-05-11T00:14:36Z","git_url":"git://github.com/jaketesler/cpython.git","ssh_url":"git@github.com:jaketesler/cpython.git","clone_url":"https://github.com/jaketesler/cpython.git","svn_url":"https://github.com/jaketesler/cpython","homepage":"https://www.python.org/","size":282219,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"python:master","ref":"master","sha":"137be34180a20dba53948d126b961069f299f153","user":{"login":"python","id":1525981,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MjU5ODE=","avatar_url":"https://avatars3.githubusercontent.com/u/1525981?v=4","gravatar_id":"","url":"https://api.github.com/users/python","html_url":"https://github.com/python","followers_url":"https://api.github.com/users/python/followers","following_url":"https://api.github.com/users/python/following{/other_user}","gists_url":"https://api.github.com/users/python/gists{/gist_id}","starred_url":"https://api.github.com/users/python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/python/subscriptions","organizations_url":"https://api.github.com/users/python/orgs","repos_url":"https://api.github.com/users/python/repos","events_url":"https://api.github.com/users/python/events{/privacy}","received_events_url":"https://api.github.com/users/python/received_events","type":"Organization","site_admin":false},"repo":{"id":81598961,"node_id":"MDEwOlJlcG9zaXRvcnk4MTU5ODk2MQ==","name":"cpython","full_name":"python/cpython","private":false,"owner":{"login":"python","id":1525981,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1MjU5ODE=","avatar_url":"https://avatars3.githubusercontent.com/u/1525981?v=4","gravatar_id":"","url":"https://api.github.com/users/python","html_url":"https://github.com/python","followers_url":"https://api.github.com/users/python/followers","following_url":"https://api.github.com/users/python/following{/other_user}","gists_url":"https://api.github.com/users/python/gists{/gist_id}","starred_url":"https://api.github.com/users/python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/python/subscriptions","organizations_url":"https://api.github.com/users/python/orgs","repos_url":"https://api.github.com/users/python/repos","events_url":"https://api.github.com/users/python/events{/privacy}","received_events_url":"https://api.github.com/users/python/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/python/cpython","description":"The Python programming language","fork":false,"url":"https://api.github.com/repos/python/cpython","forks_url":"https://api.github.com/repos/python/cpython/forks","keys_url":"https://api.github.com/repos/python/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/python/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/python/cpython/teams","hooks_url":"https://api.github.com/repos/python/cpython/hooks","issue_events_url":"https://api.github.com/repos/python/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/python/cpython/events","assignees_url":"https://api.github.com/repos/python/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/python/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/python/cpython/tags","blobs_url":"https://api.github.com/repos/python/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/python/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/python/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/python/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/python/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/python/cpython/languages","stargazers_url":"https://api.github.com/repos/python/cpython/stargazers","contributors_url":"https://api.github.com/repos/python/cpython/contributors","subscribers_url":"https://api.github.com/repos/python/cpython/subscribers","subscription_url":"https://api.github.com/repos/python/cpython/subscription","commits_url":"https://api.github.com/repos/python/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/python/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/python/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/python/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/python/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/python/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/python/cpython/merges","archive_url":"https://api.github.com/repos/python/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/python/cpython/downloads","issues_url":"https://api.github.com/repos/python/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/python/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/python/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/python/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/python/cpython/labels{/name}","releases_url":"https://api.github.com/repos/python/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/python/cpython/deployments","created_at":"2017-02-10T19:23:51Z","updated_at":"2019-05-11T22:19:18Z","pushed_at":"2019-05-11T21:50:42Z","git_url":"git://github.com/python/cpython.git","ssh_url":"git@github.com:python/cpython.git","clone_url":"https://github.com/python/cpython.git","svn_url":"https://github.com/python/cpython","homepage":"https://www.python.org/","size":283458,"stargazers_count":24124,"watchers_count":24124,"language":"Python","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":9859,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1022,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":9859,"open_issues":1022,"watchers":24124,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/python/cpython/pulls/11993"},"html":{"href":"https://github.com/python/cpython/pull/11993"},"issue":{"href":"https://api.github.com/repos/python/cpython/issues/11993"},"comments":{"href":"https://api.github.com/repos/python/cpython/issues/11993/comments"},"review_comments":{"href":"https://api.github.com/repos/python/cpython/pulls/11993/comments"},"review_comment":{"href":"https://api.github.com/repos/python/cpython/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/python/cpython/pulls/11993/commits"},"statuses":{"href":"https://api.github.com/repos/python/cpython/statuses/a19d2080804e15b22778f588d2fb99aa2977b0af"}},"author_association":"NONE"}}
other: {"actor":{"display_login":"pitrou"}}