{"action":"created","comment":{"url":"https://api.github.com/repos/influxdata/influxdb/pulls/comments/199831723","pull_request_review_id":134027731,"id":199831723,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5OTgzMTcyMw==","diff_hunk":"@@ -0,0 +1,486 @@\n+// Package reporttsi provides a report about the series cardinality in one or more TSI indexes.\n+package reporttsi\n+\n+import (\n+\t\"errors\"\n+\t\"flag\"\n+\t\"fmt\"\n+\t\"io\"\n+\t\"math\"\n+\t\"os\"\n+\t\"path\"\n+\t\"path/filepath\"\n+\t\"runtime\"\n+\t\"sort\"\n+\t\"strconv\"\n+\t\"sync/atomic\"\n+\t\"text/tabwriter\"\n+\n+\t\"github.com/influxdata/influxdb/logger\"\n+\t\"github.com/influxdata/influxdb/tsdb\"\n+\t\"github.com/influxdata/influxdb/tsdb/index/tsi1\"\n+)\n+\n+const (\n+\t// Number of series IDs to stored in slice before we convert to a roaring\n+\t// bitmap. Roaring bitmaps have a non-trivial initial cost to construct.\n+\tuseBitmapN = 25\n+)\n+\n+// Command represents the program execution for \"influxd dumptsi\".\n+type Command struct {\n+\t// Standard input/output, overridden for testing.\n+\tStderr io.Writer\n+\tStdout io.Writer\n+\n+\tdbPath        string\n+\tshardPaths    map[uint64]string\n+\tshardIdxs     map[uint64]*tsi1.Index\n+\tcardinalities map[uint64]map[string]*cardinality\n+\n+\tseriesFilePath string // optional. Defaults to dbPath/_series\n+\tsfile          *tsdb.SeriesFile\n+\n+\ttopN          int\n+\tbyMeasurement bool\n+\tbyTagKey      bool\n+\n+\t// How many goroutines to dedicate to calculating cardinality.\n+\tconcurrency int\n+}\n+\n+// NewCommand returns a new instance of Command with default setting applied.\n+func NewCommand() *Command {\n+\treturn &Command{\n+\t\tStderr:        os.Stderr,\n+\t\tStdout:        os.Stdout,\n+\t\tshardPaths:    map[uint64]string{},\n+\t\tshardIdxs:     map[uint64]*tsi1.Index{},\n+\t\tcardinalities: map[uint64]map[string]*cardinality{},\n+\t\ttopN:          0,\n+\t\tbyMeasurement: true,\n+\t\tbyTagKey:      false,\n+\t\tconcurrency:   runtime.GOMAXPROCS(0),\n+\t}\n+}\n+\n+// Run executes the command.\n+func (cmd *Command) Run(args ...string) error {\n+\tfs := flag.NewFlagSet(\"reporttsi\", flag.ExitOnError)\n+\tfs.StringVar(&cmd.dbPath, \"db-path\", \"\", \"Path to database. Required.\")\n+\tfs.StringVar(&cmd.seriesFilePath, \"series-file\", \"\", \"Optional path to series file. Defaults /path/to/db-path/_series\")\n+\tfs.BoolVar(&cmd.byMeasurement, \"measurements\", true, \"Segment cardinality by measurements\")\n+\tfs.BoolVar(&cmd.byTagKey, \"tag-key\", false, \"Segment cardinality by tag keys (overrides `measurements`\")","path":"cmd/influx_inspect/reporttsi/report.go","position":73,"original_position":73,"commit_id":"cef4c399c5dbd0c28c8f8ddf6718c77a86c3d0fa","original_commit_id":"cef4c399c5dbd0c28c8f8ddf6718c77a86c3d0fa","user":{"login":"stuartcarnie","id":52852,"node_id":"MDQ6VXNlcjUyODUy","avatar_url":"https://avatars0.githubusercontent.com/u/52852?v=4","gravatar_id":"","url":"https://api.github.com/users/stuartcarnie","html_url":"https://github.com/stuartcarnie","followers_url":"https://api.github.com/users/stuartcarnie/followers","following_url":"https://api.github.com/users/stuartcarnie/following{/other_user}","gists_url":"https://api.github.com/users/stuartcarnie/gists{/gist_id}","starred_url":"https://api.github.com/users/stuartcarnie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuartcarnie/subscriptions","organizations_url":"https://api.github.com/users/stuartcarnie/orgs","repos_url":"https://api.github.com/users/stuartcarnie/repos","events_url":"https://api.github.com/users/stuartcarnie/events{/privacy}","received_events_url":"https://api.github.com/users/stuartcarnie/received_events","type":"User","site_admin":false},"body":"Perhaps worth hiding this switch altogether until it is implemented?","created_at":"2018-07-03T14:37:50Z","updated_at":"2018-07-03T14:39:06Z","html_url":"https://github.com/influxdata/influxdb/pull/10032#discussion_r199831723","pull_request_url":"https://api.github.com/repos/influxdata/influxdb/pulls/10032","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/comments/199831723"},"html":{"href":"https://github.com/influxdata/influxdb/pull/10032#discussion_r199831723"},"pull_request":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/10032"}}},"pull_request":{"url":"https://api.github.com/repos/influxdata/influxdb/pulls/10032","id":198958044,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4OTU4MDQ0","html_url":"https://github.com/influxdata/influxdb/pull/10032","diff_url":"https://github.com/influxdata/influxdb/pull/10032.diff","patch_url":"https://github.com/influxdata/influxdb/pull/10032.patch","issue_url":"https://api.github.com/repos/influxdata/influxdb/issues/10032","number":10032,"state":"open","locked":false,"title":"Add new TSI index cardinality report to influx_inspect ","user":{"login":"e-dard","id":501993,"node_id":"MDQ6VXNlcjUwMTk5Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/501993?v=4","gravatar_id":"","url":"https://api.github.com/users/e-dard","html_url":"https://github.com/e-dard","followers_url":"https://api.github.com/users/e-dard/followers","following_url":"https://api.github.com/users/e-dard/following{/other_user}","gists_url":"https://api.github.com/users/e-dard/gists{/gist_id}","starred_url":"https://api.github.com/users/e-dard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e-dard/subscriptions","organizations_url":"https://api.github.com/users/e-dard/orgs","repos_url":"https://api.github.com/users/e-dard/repos","events_url":"https://api.github.com/users/e-dard/events{/privacy}","received_events_url":"https://api.github.com/users/e-dard/received_events","type":"User","site_admin":false},"body":"Resolves https://github.com/influxdata/influxdb/issues/10023\r\n\r\nThis PR adds a new tool `reporttsi` to `influx_inspect`. You run it as follows:\r\n\r\n```\r\n$ influx_inspect reporttsi -db-path ~/.influxdb/data/stress -top 10\r\n```\r\n\r\nThe report does the following:\r\n\r\n  - calculates the total exact series cardinality in the database;\r\n  - segments that cardinality by measurement, and emits those cardinality values;\r\n  - optionally limits the result to the \"top n\";\r\n  - Emits total exact cardinality for each shard in the database;\r\n  - Segments for each shard the exact cardinality for each measurement in the shard;\r\n  - optionally limits the results in each shard to the \"top n\".\r\n\r\nThis tool is primarily of use when there has been a change in cardinality, and it's not clear which measurement is responsible for this change, and further, roughly _when_ that change happened.\r\n\r\nEmitting an accurate cardinality breakdown for each measurement, and for each shard will help answer those questions.\r\n\r\n#### Performance\r\n\r\n  - The tool uses simple slice/maps to store low cardinality measurements, which saves on the cost of initialising bitmaps.\r\n  - For high cardinality measurements the tool uses roaring bitmaps, which means we don't need to store all series ids on the heap while running the tool.\r\n - Conversion from low-cardinality to high-cardinality representations is done automatically while the tool runs.\r\n\r\nI tested the tool on a dataset of 100M series across 25 shards. The tool completed in ~11 seconds, which means it worked in that case at approximately `9M series / second`.\r\n\r\n\r\n#### Todo\r\n\r\n  - Add support for segmenting by tag key instead of measurement.\r\n  - Allow tool to run on a sub-set of shards for the database rather than all of them.\r\n","created_at":"2018-07-03T13:10:08Z","updated_at":"2018-07-03T14:39:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ccf97cb022acb31a87672e756da6aeaf6359ddc4","assignee":{"login":"e-dard","id":501993,"node_id":"MDQ6VXNlcjUwMTk5Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/501993?v=4","gravatar_id":"","url":"https://api.github.com/users/e-dard","html_url":"https://github.com/e-dard","followers_url":"https://api.github.com/users/e-dard/followers","following_url":"https://api.github.com/users/e-dard/following{/other_user}","gists_url":"https://api.github.com/users/e-dard/gists{/gist_id}","starred_url":"https://api.github.com/users/e-dard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e-dard/subscriptions","organizations_url":"https://api.github.com/users/e-dard/orgs","repos_url":"https://api.github.com/users/e-dard/repos","events_url":"https://api.github.com/users/e-dard/events{/privacy}","received_events_url":"https://api.github.com/users/e-dard/received_events","type":"User","site_admin":false},"assignees":[{"login":"e-dard","id":501993,"node_id":"MDQ6VXNlcjUwMTk5Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/501993?v=4","gravatar_id":"","url":"https://api.github.com/users/e-dard","html_url":"https://github.com/e-dard","followers_url":"https://api.github.com/users/e-dard/followers","following_url":"https://api.github.com/users/e-dard/following{/other_user}","gists_url":"https://api.github.com/users/e-dard/gists{/gist_id}","starred_url":"https://api.github.com/users/e-dard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/e-dard/subscriptions","organizations_url":"https://api.github.com/users/e-dard/orgs","repos_url":"https://api.github.com/users/e-dard/repos","events_url":"https://api.github.com/users/e-dard/events{/privacy}","received_events_url":"https://api.github.com/users/e-dard/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"zeebo","id":96925,"node_id":"MDQ6VXNlcjk2OTI1","avatar_url":"https://avatars2.githubusercontent.com/u/96925?v=4","gravatar_id":"","url":"https://api.github.com/users/zeebo","html_url":"https://github.com/zeebo","followers_url":"https://api.github.com/users/zeebo/followers","following_url":"https://api.github.com/users/zeebo/following{/other_user}","gists_url":"https://api.github.com/users/zeebo/gists{/gist_id}","starred_url":"https://api.github.com/users/zeebo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeebo/subscriptions","organizations_url":"https://api.github.com/users/zeebo/orgs","repos_url":"https://api.github.com/users/zeebo/repos","events_url":"https://api.github.com/users/zeebo/events{/privacy}","received_events_url":"https://api.github.com/users/zeebo/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":203460960,"node_id":"MDU6TGFiZWwyMDM0NjA5NjA=","url":"https://api.github.com/repos/influxdata/influxdb/labels/area/tooling","name":"area/tooling","color":"fbca04","default":false},{"id":136598261,"node_id":"MDU6TGFiZWwxMzY1OTgyNjE=","url":"https://api.github.com/repos/influxdata/influxdb/labels/review","name":"review","color":"bfe5bf","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/influxdata/influxdb/pulls/10032/commits","review_comments_url":"https://api.github.com/repos/influxdata/influxdb/pulls/10032/comments","review_comment_url":"https://api.github.com/repos/influxdata/influxdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/influxdata/influxdb/issues/10032/comments","statuses_url":"https://api.github.com/repos/influxdata/influxdb/statuses/cef4c399c5dbd0c28c8f8ddf6718c77a86c3d0fa","head":{"label":"influxdata:er-reporttsi","ref":"er-reporttsi","sha":"cef4c399c5dbd0c28c8f8ddf6718c77a86c3d0fa","user":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"repo":{"id":13124802,"node_id":"MDEwOlJlcG9zaXRvcnkxMzEyNDgwMg==","name":"influxdb","full_name":"influxdata/influxdb","owner":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/influxdata/influxdb","description":"Scalable datastore for metrics, events, and real-time analytics","fork":false,"url":"https://api.github.com/repos/influxdata/influxdb","forks_url":"https://api.github.com/repos/influxdata/influxdb/forks","keys_url":"https://api.github.com/repos/influxdata/influxdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/influxdata/influxdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/influxdata/influxdb/teams","hooks_url":"https://api.github.com/repos/influxdata/influxdb/hooks","issue_events_url":"https://api.github.com/repos/influxdata/influxdb/issues/events{/number}","events_url":"https://api.github.com/repos/influxdata/influxdb/events","assignees_url":"https://api.github.com/repos/influxdata/influxdb/assignees{/user}","branches_url":"https://api.github.com/repos/influxdata/influxdb/branches{/branch}","tags_url":"https://api.github.com/repos/influxdata/influxdb/tags","blobs_url":"https://api.github.com/repos/influxdata/influxdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/influxdata/influxdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/influxdata/influxdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/influxdata/influxdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/influxdata/influxdb/statuses/{sha}","languages_url":"https://api.github.com/repos/influxdata/influxdb/languages","stargazers_url":"https://api.github.com/repos/influxdata/influxdb/stargazers","contributors_url":"https://api.github.com/repos/influxdata/influxdb/contributors","subscribers_url":"https://api.github.com/repos/influxdata/influxdb/subscribers","subscription_url":"https://api.github.com/repos/influxdata/influxdb/subscription","commits_url":"https://api.github.com/repos/influxdata/influxdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/influxdata/influxdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/influxdata/influxdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/influxdata/influxdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/influxdata/influxdb/contents/{+path}","compare_url":"https://api.github.com/repos/influxdata/influxdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/influxdata/influxdb/merges","archive_url":"https://api.github.com/repos/influxdata/influxdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/influxdata/influxdb/downloads","issues_url":"https://api.github.com/repos/influxdata/influxdb/issues{/number}","pulls_url":"https://api.github.com/repos/influxdata/influxdb/pulls{/number}","milestones_url":"https://api.github.com/repos/influxdata/influxdb/milestones{/number}","notifications_url":"https://api.github.com/repos/influxdata/influxdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/influxdata/influxdb/labels{/name}","releases_url":"https://api.github.com/repos/influxdata/influxdb/releases{/id}","deployments_url":"https://api.github.com/repos/influxdata/influxdb/deployments","created_at":"2013-09-26T14:31:10Z","updated_at":"2018-07-03T14:19:18Z","pushed_at":"2018-07-03T14:32:55Z","git_url":"git://github.com/influxdata/influxdb.git","ssh_url":"git@github.com:influxdata/influxdb.git","clone_url":"https://github.com/influxdata/influxdb.git","svn_url":"https://github.com/influxdata/influxdb","homepage":"https://influxdata.com","size":55737,"stargazers_count":13715,"watchers_count":13715,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1990,"mirror_url":null,"archived":false,"open_issues_count":756,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1990,"open_issues":756,"watchers":13715,"default_branch":"master"}},"base":{"label":"influxdata:master","ref":"master","sha":"e832514355e2b63784da78713cfad7c4f7e810c7","user":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"repo":{"id":13124802,"node_id":"MDEwOlJlcG9zaXRvcnkxMzEyNDgwMg==","name":"influxdb","full_name":"influxdata/influxdb","owner":{"login":"influxdata","id":5713248,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU3MTMyNDg=","avatar_url":"https://avatars2.githubusercontent.com/u/5713248?v=4","gravatar_id":"","url":"https://api.github.com/users/influxdata","html_url":"https://github.com/influxdata","followers_url":"https://api.github.com/users/influxdata/followers","following_url":"https://api.github.com/users/influxdata/following{/other_user}","gists_url":"https://api.github.com/users/influxdata/gists{/gist_id}","starred_url":"https://api.github.com/users/influxdata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/influxdata/subscriptions","organizations_url":"https://api.github.com/users/influxdata/orgs","repos_url":"https://api.github.com/users/influxdata/repos","events_url":"https://api.github.com/users/influxdata/events{/privacy}","received_events_url":"https://api.github.com/users/influxdata/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/influxdata/influxdb","description":"Scalable datastore for metrics, events, and real-time analytics","fork":false,"url":"https://api.github.com/repos/influxdata/influxdb","forks_url":"https://api.github.com/repos/influxdata/influxdb/forks","keys_url":"https://api.github.com/repos/influxdata/influxdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/influxdata/influxdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/influxdata/influxdb/teams","hooks_url":"https://api.github.com/repos/influxdata/influxdb/hooks","issue_events_url":"https://api.github.com/repos/influxdata/influxdb/issues/events{/number}","events_url":"https://api.github.com/repos/influxdata/influxdb/events","assignees_url":"https://api.github.com/repos/influxdata/influxdb/assignees{/user}","branches_url":"https://api.github.com/repos/influxdata/influxdb/branches{/branch}","tags_url":"https://api.github.com/repos/influxdata/influxdb/tags","blobs_url":"https://api.github.com/repos/influxdata/influxdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/influxdata/influxdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/influxdata/influxdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/influxdata/influxdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/influxdata/influxdb/statuses/{sha}","languages_url":"https://api.github.com/repos/influxdata/influxdb/languages","stargazers_url":"https://api.github.com/repos/influxdata/influxdb/stargazers","contributors_url":"https://api.github.com/repos/influxdata/influxdb/contributors","subscribers_url":"https://api.github.com/repos/influxdata/influxdb/subscribers","subscription_url":"https://api.github.com/repos/influxdata/influxdb/subscription","commits_url":"https://api.github.com/repos/influxdata/influxdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/influxdata/influxdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/influxdata/influxdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/influxdata/influxdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/influxdata/influxdb/contents/{+path}","compare_url":"https://api.github.com/repos/influxdata/influxdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/influxdata/influxdb/merges","archive_url":"https://api.github.com/repos/influxdata/influxdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/influxdata/influxdb/downloads","issues_url":"https://api.github.com/repos/influxdata/influxdb/issues{/number}","pulls_url":"https://api.github.com/repos/influxdata/influxdb/pulls{/number}","milestones_url":"https://api.github.com/repos/influxdata/influxdb/milestones{/number}","notifications_url":"https://api.github.com/repos/influxdata/influxdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/influxdata/influxdb/labels{/name}","releases_url":"https://api.github.com/repos/influxdata/influxdb/releases{/id}","deployments_url":"https://api.github.com/repos/influxdata/influxdb/deployments","created_at":"2013-09-26T14:31:10Z","updated_at":"2018-07-03T14:19:18Z","pushed_at":"2018-07-03T14:32:55Z","git_url":"git://github.com/influxdata/influxdb.git","ssh_url":"git@github.com:influxdata/influxdb.git","clone_url":"https://github.com/influxdata/influxdb.git","svn_url":"https://github.com/influxdata/influxdb","homepage":"https://influxdata.com","size":55737,"stargazers_count":13715,"watchers_count":13715,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1990,"mirror_url":null,"archived":false,"open_issues_count":756,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1990,"open_issues":756,"watchers":13715,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/10032"},"html":{"href":"https://github.com/influxdata/influxdb/pull/10032"},"issue":{"href":"https://api.github.com/repos/influxdata/influxdb/issues/10032"},"comments":{"href":"https://api.github.com/repos/influxdata/influxdb/issues/10032/comments"},"review_comments":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/10032/comments"},"review_comment":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/influxdata/influxdb/pulls/10032/commits"},"statuses":{"href":"https://api.github.com/repos/influxdata/influxdb/statuses/cef4c399c5dbd0c28c8f8ddf6718c77a86c3d0fa"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"stuartcarnie"}}