{"action":"opened","number":21,"pull_request":{"url":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/21","id":238025646,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM4MDI1NjQ2","html_url":"https://github.com/rust-lang-nursery/datafrog/pull/21","diff_url":"https://github.com/rust-lang-nursery/datafrog/pull/21.diff","patch_url":"https://github.com/rust-lang-nursery/datafrog/pull/21.patch","issue_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/21","number":21,"state":"open","locked":false,"title":"Add Variable statistics under a feature flag","user":{"login":"lqd","id":247183,"node_id":"MDQ6VXNlcjI0NzE4Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/247183?v=4","gravatar_id":"","url":"https://api.github.com/users/lqd","html_url":"https://github.com/lqd","followers_url":"https://api.github.com/users/lqd/followers","following_url":"https://api.github.com/users/lqd/following{/other_user}","gists_url":"https://api.github.com/users/lqd/gists{/gist_id}","starred_url":"https://api.github.com/users/lqd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lqd/subscriptions","organizations_url":"https://api.github.com/users/lqd/orgs","repos_url":"https://api.github.com/users/lqd/repos","events_url":"https://api.github.com/users/lqd/events{/privacy}","received_events_url":"https://api.github.com/users/lqd/received_events","type":"User","site_admin":false},"body":"Opening for discussion.\r\n\r\nThis adds simple profiling statistics in the spirit of #5, but inspired by Soufflé's profiler: adding the statistics per identifiable round.\r\n\r\nFor each round, there's the stable and recent tuple counts for each variable. (tab separated for easy `awk` access)\r\n\r\nWe can talk about what precise data (or format) we'd like to see here. In the future, we can also add a self-profiling option to tally up the time each join operation took to create the tuples.\r\n\r\n<details>\r\n<summary>Here's how it looks right now</summary>\r\n\r\n```\r\nvar:    errors                                   round:          827     stable count:        0  recent count:        0\r\nvar:    invalidates                              round:          828     stable count:    76712  recent count:        0\r\nvar:    region_live_at                           round:          828     stable count:  1076158  recent count:        0\r\nvar:    borrow_region_rp                         round:          828     stable count:     1886  recent count:        0\r\nvar:    subset_r1p                               round:          828     stable count:  1995489  recent count:     1584\r\nvar:    requires_rp                              round:          828     stable count:   462922  recent count:     1260\r\nvar:    borrow_live_at                           round:          828     stable count:   441293  recent count:     1215\r\nvar:    live_to_dying_regions_r2pq               round:          828     stable count:    38098  recent count:        0\r\nvar:    dying_region_requires                    round:          828     stable count:    31904  recent count:      123\r\nvar:    dying_can_reach_origins                  round:          828     stable count:    43035  recent count:        0\r\nvar:    dying_can_reach                          round:          828     stable count:   182481  recent count:      154\r\nvar:    dying_can_reach_1                        round:          828     stable count:   143957  recent count:        2\r\nvar:    dying_can_reach_live                     round:          828     stable count:    38522  recent count:        0\r\nvar:    dead_borrow_region_can_reach_root        round:          828     stable count:     1886  recent count:        0\r\nvar:    dead_borrow_region_can_reach_dead        round:          828     stable count:     3772  recent count:        0\r\nvar:    dead_borrow_region_can_reach_dead_1      round:          828     stable count:     1886  recent count:        0\r\nvar:    errors                                   round:          828     stable count:        0  recent count:        0\r\nvar:    invalidates                              round:          829     stable count:    76712  recent count:        0\r\n```\r\n\r\n</details>\r\n\r\n---\r\n(\"Opening for discussion\" as I'm not super familiar with the intricacies of cargo features, especially towards crate users, default features, or what needs to be done to build and test all the `#[cfg]`s on CI, etc, and to verify if this was the way we expected this to work)\r\n","created_at":"2018-12-12T12:49:24Z","updated_at":"2018-12-12T12:49:24Z","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/rust-lang-nursery/datafrog/pulls/21/commits","review_comments_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/21/comments","review_comment_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/21/comments","statuses_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/statuses/a7e408a5b771c3c4a4707d9d2f62648566cbad81","head":{"label":"lqd:stats","ref":"stats","sha":"a7e408a5b771c3c4a4707d9d2f62648566cbad81","user":{"login":"lqd","id":247183,"node_id":"MDQ6VXNlcjI0NzE4Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/247183?v=4","gravatar_id":"","url":"https://api.github.com/users/lqd","html_url":"https://github.com/lqd","followers_url":"https://api.github.com/users/lqd/followers","following_url":"https://api.github.com/users/lqd/following{/other_user}","gists_url":"https://api.github.com/users/lqd/gists{/gist_id}","starred_url":"https://api.github.com/users/lqd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lqd/subscriptions","organizations_url":"https://api.github.com/users/lqd/orgs","repos_url":"https://api.github.com/users/lqd/repos","events_url":"https://api.github.com/users/lqd/events{/privacy}","received_events_url":"https://api.github.com/users/lqd/received_events","type":"User","site_admin":false},"repo":{"id":140603465,"node_id":"MDEwOlJlcG9zaXRvcnkxNDA2MDM0NjU=","name":"datafrog","full_name":"lqd/datafrog","private":false,"owner":{"login":"lqd","id":247183,"node_id":"MDQ6VXNlcjI0NzE4Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/247183?v=4","gravatar_id":"","url":"https://api.github.com/users/lqd","html_url":"https://github.com/lqd","followers_url":"https://api.github.com/users/lqd/followers","following_url":"https://api.github.com/users/lqd/following{/other_user}","gists_url":"https://api.github.com/users/lqd/gists{/gist_id}","starred_url":"https://api.github.com/users/lqd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lqd/subscriptions","organizations_url":"https://api.github.com/users/lqd/orgs","repos_url":"https://api.github.com/users/lqd/repos","events_url":"https://api.github.com/users/lqd/events{/privacy}","received_events_url":"https://api.github.com/users/lqd/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lqd/datafrog","description":"A lightweight Datalog engine in Rust","fork":true,"url":"https://api.github.com/repos/lqd/datafrog","forks_url":"https://api.github.com/repos/lqd/datafrog/forks","keys_url":"https://api.github.com/repos/lqd/datafrog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lqd/datafrog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lqd/datafrog/teams","hooks_url":"https://api.github.com/repos/lqd/datafrog/hooks","issue_events_url":"https://api.github.com/repos/lqd/datafrog/issues/events{/number}","events_url":"https://api.github.com/repos/lqd/datafrog/events","assignees_url":"https://api.github.com/repos/lqd/datafrog/assignees{/user}","branches_url":"https://api.github.com/repos/lqd/datafrog/branches{/branch}","tags_url":"https://api.github.com/repos/lqd/datafrog/tags","blobs_url":"https://api.github.com/repos/lqd/datafrog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lqd/datafrog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lqd/datafrog/git/refs{/sha}","trees_url":"https://api.github.com/repos/lqd/datafrog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lqd/datafrog/statuses/{sha}","languages_url":"https://api.github.com/repos/lqd/datafrog/languages","stargazers_url":"https://api.github.com/repos/lqd/datafrog/stargazers","contributors_url":"https://api.github.com/repos/lqd/datafrog/contributors","subscribers_url":"https://api.github.com/repos/lqd/datafrog/subscribers","subscription_url":"https://api.github.com/repos/lqd/datafrog/subscription","commits_url":"https://api.github.com/repos/lqd/datafrog/commits{/sha}","git_commits_url":"https://api.github.com/repos/lqd/datafrog/git/commits{/sha}","comments_url":"https://api.github.com/repos/lqd/datafrog/comments{/number}","issue_comment_url":"https://api.github.com/repos/lqd/datafrog/issues/comments{/number}","contents_url":"https://api.github.com/repos/lqd/datafrog/contents/{+path}","compare_url":"https://api.github.com/repos/lqd/datafrog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lqd/datafrog/merges","archive_url":"https://api.github.com/repos/lqd/datafrog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lqd/datafrog/downloads","issues_url":"https://api.github.com/repos/lqd/datafrog/issues{/number}","pulls_url":"https://api.github.com/repos/lqd/datafrog/pulls{/number}","milestones_url":"https://api.github.com/repos/lqd/datafrog/milestones{/number}","notifications_url":"https://api.github.com/repos/lqd/datafrog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lqd/datafrog/labels{/name}","releases_url":"https://api.github.com/repos/lqd/datafrog/releases{/id}","deployments_url":"https://api.github.com/repos/lqd/datafrog/deployments","created_at":"2018-07-11T16:42:19Z","updated_at":"2018-12-05T14:54:46Z","pushed_at":"2018-12-12T12:46:15Z","git_url":"git://github.com/lqd/datafrog.git","ssh_url":"git@github.com:lqd/datafrog.git","clone_url":"https://github.com/lqd/datafrog.git","svn_url":"https://github.com/lqd/datafrog","homepage":"","size":68,"stargazers_count":0,"watchers_count":0,"language":"Rust","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":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang-nursery:master","ref":"master","sha":"8a55b288b7738bc6d41112646be64877c4741d13","user":{"login":"rust-lang-nursery","id":14631425,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NjMxNDI1","avatar_url":"https://avatars1.githubusercontent.com/u/14631425?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang-nursery","html_url":"https://github.com/rust-lang-nursery","followers_url":"https://api.github.com/users/rust-lang-nursery/followers","following_url":"https://api.github.com/users/rust-lang-nursery/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-nursery/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-nursery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-nursery/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-nursery/orgs","repos_url":"https://api.github.com/users/rust-lang-nursery/repos","events_url":"https://api.github.com/users/rust-lang-nursery/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-nursery/received_events","type":"Organization","site_admin":false},"repo":{"id":133670992,"node_id":"MDEwOlJlcG9zaXRvcnkxMzM2NzA5OTI=","name":"datafrog","full_name":"rust-lang-nursery/datafrog","private":false,"owner":{"login":"rust-lang-nursery","id":14631425,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NjMxNDI1","avatar_url":"https://avatars1.githubusercontent.com/u/14631425?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang-nursery","html_url":"https://github.com/rust-lang-nursery","followers_url":"https://api.github.com/users/rust-lang-nursery/followers","following_url":"https://api.github.com/users/rust-lang-nursery/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-nursery/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-nursery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-nursery/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-nursery/orgs","repos_url":"https://api.github.com/users/rust-lang-nursery/repos","events_url":"https://api.github.com/users/rust-lang-nursery/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-nursery/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/rust-lang-nursery/datafrog","description":"A lightweight Datalog engine in Rust","fork":false,"url":"https://api.github.com/repos/rust-lang-nursery/datafrog","forks_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/forks","keys_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/teams","hooks_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/hooks","issue_events_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/events","assignees_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/tags","blobs_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/languages","stargazers_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/stargazers","contributors_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/contributors","subscribers_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/subscribers","subscription_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/subscription","commits_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/merges","archive_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/downloads","issues_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/releases{/id}","deployments_url":"https://api.github.com/repos/rust-lang-nursery/datafrog/deployments","created_at":"2018-05-16T13:37:32Z","updated_at":"2018-12-11T11:52:24Z","pushed_at":"2018-12-05T22:03:00Z","git_url":"git://github.com/rust-lang-nursery/datafrog.git","ssh_url":"git@github.com:rust-lang-nursery/datafrog.git","clone_url":"https://github.com/rust-lang-nursery/datafrog.git","svn_url":"https://github.com/rust-lang-nursery/datafrog","homepage":"","size":82,"stargazers_count":184,"watchers_count":184,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":18,"open_issues":5,"watchers":184,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/21"},"html":{"href":"https://github.com/rust-lang-nursery/datafrog/pull/21"},"issue":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/21"},"comments":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang-nursery/datafrog/statuses/a7e408a5b771c3c4a4707d9d2f62648566cbad81"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":37,"deletions":3,"changed_files":2}}
{"actor":{"display_login":"lqd"}}