{"action":"created","comment":{"url":"https://api.github.com/repos/influxdata/telegraf/pulls/comments/243066526","pull_request_review_id":186737413,"id":243066526,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MzA2NjUyNg==","diff_hunk":"@@ -0,0 +1,291 @@\n+package pubsub\n+\n+import (\n+\t\"cloud.google.com/go/pubsub\"\n+\t\"context\"\n+\t\"fmt\"\n+\t\"github.com/influxdata/telegraf\"\n+\t\"github.com/influxdata/telegraf/internal\"\n+\t\"github.com/influxdata/telegraf/plugins/inputs\"\n+\t\"github.com/influxdata/telegraf/plugins/parsers\"\n+\t\"golang.org/x/oauth2/google\"\n+\t\"google.golang.org/api/option\"\n+\t\"log\"\n+\t\"sync\"\n+)\n+\n+type empty struct{}\n+type semaphore chan empty\n+\n+const defaultMaxUndeliveredMessages = 1000\n+\n+type PubSub struct {\n+\tCredentialsFile string `toml:\"credentials_file\"`\n+\tProject         string `toml:\"google_project\"`\n+\tSubscription    string `toml:\"subscription\"`\n+\n+\t// Subscription ReceiveSettings\n+\tMaxExtension           internal.Duration `toml:\"max_extension\"`\n+\tMaxOutstandingMessages int               `toml:\"max_outstanding_messages\"`\n+\tMaxOutstandingBytes    int               `toml:\"max_outstanding_bytes\"`\n+\tMaxReceiverGoRoutines  int               `toml:\"max_receiver_go_routines\"`\n+\n+\t// Agent settings\n+\tMaxMessageLen          int `toml:\"max_message_len\"`\n+\tMaxUndeliveredMessages int `toml:\"max_undelivered_messages\"`\n+\n+\tSubscriptionTag string `toml:\"subscription_tag\"`\n+\n+\tsub    subscription\n+\tclient *pubsub.Client\n+\tcancel context.CancelFunc\n+\tparser parsers.Parser\n+\twg     *sync.WaitGroup\n+\tacc    telegraf.TrackingAccumulator\n+\n+\tmu sync.Mutex\n+\n+\tundelivered map[telegraf.TrackingID]message\n+\tsem         semaphore\n+}\n+\n+func (ps *PubSub) Description() string {\n+\treturn \"Read metrics from Google PubSub\"\n+}\n+\n+func (ps *PubSub) SampleConfig() string {\n+\treturn sampleConfig\n+}\n+\n+// Gather does nothing for this service input.\n+func (ps *PubSub) Gather(acc telegraf.Accumulator) error {\n+\treturn nil\n+}\n+\n+// SetParser implements ParserInput interface.\n+func (ps *PubSub) SetParser(parser parsers.Parser) {\n+\tps.parser = parser\n+}\n+\n+// Start initializes the plugin and processing messages from Google PubSub.\n+// Two goroutines are started - one pulling for the subscription, one\n+// receiving delivery notifications from the accumulator.\n+func (ps *PubSub) Start(ac telegraf.Accumulator) error {\n+\tcctx, cancel := context.WithCancel(context.Background())\n+\tps.cancel = cancel\n+\tif err := ps.initPubSubHandles(cctx); err != nil {\n+\t\treturn err\n+\t}\n+\n+\tps.wg = &sync.WaitGroup{}\n+\tps.acc = ac.WithTracking(ps.MaxUndeliveredMessages)\n+\tps.sem = make(semaphore, ps.MaxUndeliveredMessages)\n+\n+\t// Start receiver in new goroutine for each subscription.\n+\tps.wg.Add(1)\n+\tgo func() {\n+\t\tdefer ps.wg.Done()\n+\t\tps.subReceive(cctx)\n+\t}()\n+\n+\t// Start goroutine to handle delivery notifications from accumulator.\n+\tps.wg.Add(1)\n+\tgo func() {\n+\t\tdefer ps.wg.Done()\n+\t\tps.receiveDelivered(cctx)\n+\t}()\n+\n+\tlog.Printf(\"Started the PubSub service! Listening to subscriptions %+v\", ps.Subscription)\n+\treturn nil\n+}\n+\n+// Stop ensures the PubSub subscriptions receivers are stopped by\n+// canceling the context and waits for goroutines to finish.\n+func (ps *PubSub) Stop() {\n+\tps.cancel()\n+\tps.wg.Wait()\n+}\n+\n+func (ps *PubSub) subReceive(cctx context.Context) {\n+\terr := ps.sub.Receive(cctx, func(ctx context.Context, msg message) {\n+\t\tif err := ps.onMessage(ctx, msg); err != nil {\n+\t\t\tps.acc.AddError(fmt.Errorf(\"unable to add message from subscription %s: %v\", ps.sub.ID(), err))\n+\t\t}\n+\t})\n+\tps.acc.AddError(fmt.Errorf(\"receiver for subscription %s exited: %v\", ps.sub.ID(), err))\n+}\n+\n+// onMessage handles parsing and adding a received message to the accumulator.\n+func (ps *PubSub) onMessage(ctx context.Context, msg message) error {\n+\tif ps.MaxMessageLen > 0 && len(msg.Data()) > ps.MaxMessageLen {\n+\t\tmsg.Ack()\n+\t\treturn fmt.Errorf(\"message longer than max_message_len (%d > %d)\", len(msg.Data()), ps.MaxMessageLen)\n+\t}\n+\n+\tmetrics, err := ps.parser.Parse(msg.Data())\n+\tif err != nil {\n+\t\tmsg.Ack()\n+\t\treturn err\n+\t}\n+\n+\tif len(metrics) == 0 {\n+\t\tmsg.Ack()\n+\t\treturn nil\n+\t}\n+\n+\tif len(ps.SubscriptionTag) > 0 {\n+\t\tfor _, m := range metrics {\n+\t\t\tm.AddTag(ps.SubscriptionTag, ps.sub.ID())","path":"plugins/inputs/pubsub/pubsub.go","position":null,"original_position":138,"commit_id":"8471100bd293b3ce778c3c3fe45f785e2464f6d0","original_commit_id":"2d07f8e31ff9e89b49df4b884667091a76b974b5","user":{"login":"emilymye","id":3684614,"node_id":"MDQ6VXNlcjM2ODQ2MTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3684614?v=4","gravatar_id":"","url":"https://api.github.com/users/emilymye","html_url":"https://github.com/emilymye","followers_url":"https://api.github.com/users/emilymye/followers","following_url":"https://api.github.com/users/emilymye/following{/other_user}","gists_url":"https://api.github.com/users/emilymye/gists{/gist_id}","starred_url":"https://api.github.com/users/emilymye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilymye/subscriptions","organizations_url":"https://api.github.com/users/emilymye/orgs","repos_url":"https://api.github.com/users/emilymye/repos","events_url":"https://api.github.com/users/emilymye/events{/privacy}","received_events_url":"https://api.github.com/users/emilymye/received_events","type":"User","site_admin":false},"body":"Sounds good! I'll remove subscription_tag","created_at":"2018-12-19T20:35:49Z","updated_at":"2018-12-19T20:35:49Z","html_url":"https://github.com/influxdata/telegraf/pull/5136#discussion_r243066526","pull_request_url":"https://api.github.com/repos/influxdata/telegraf/pulls/5136","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/comments/243066526"},"html":{"href":"https://github.com/influxdata/telegraf/pull/5136#discussion_r243066526"},"pull_request":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/5136"}},"in_reply_to_id":242757120},"pull_request":{"url":"https://api.github.com/repos/influxdata/telegraf/pulls/5136","id":237851003,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM3ODUxMDAz","html_url":"https://github.com/influxdata/telegraf/pull/5136","diff_url":"https://github.com/influxdata/telegraf/pull/5136.diff","patch_url":"https://github.com/influxdata/telegraf/pull/5136.patch","issue_url":"https://api.github.com/repos/influxdata/telegraf/issues/5136","number":5136,"state":"open","locked":false,"title":"PubSub Input Plugin","user":{"login":"emilymye","id":3684614,"node_id":"MDQ6VXNlcjM2ODQ2MTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3684614?v=4","gravatar_id":"","url":"https://api.github.com/users/emilymye","html_url":"https://github.com/emilymye","followers_url":"https://api.github.com/users/emilymye/followers","following_url":"https://api.github.com/users/emilymye/following{/other_user}","gists_url":"https://api.github.com/users/emilymye/gists{/gist_id}","starred_url":"https://api.github.com/users/emilymye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilymye/subscriptions","organizations_url":"https://api.github.com/users/emilymye/orgs","repos_url":"https://api.github.com/users/emilymye/repos","events_url":"https://api.github.com/users/emilymye/events{/privacy}","received_events_url":"https://api.github.com/users/emilymye/received_events","type":"User","site_admin":false},"body":"\r\n### Required for all PRs:\r\n\r\n- [x] Signed [CLA](https://influxdata.com/community/cla/).\r\n- [x] Associated README.md updated.\r\n- [x] Has appropriate unit tests.\r\n\r\nRelated to #2776","created_at":"2018-12-11T22:35:27Z","updated_at":"2018-12-19T20:35:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b8190df5ffc1bd4dab4c84fab77c7c0ecf4137b9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":696213361,"node_id":"MDU6TGFiZWw2OTYyMTMzNjE=","url":"https://api.github.com/repos/influxdata/telegraf/labels/new%20plugin","name":"new plugin","color":"513cc6","default":false}],"milestone":{"url":"https://api.github.com/repos/influxdata/telegraf/milestones/38","html_url":"https://github.com/influxdata/telegraf/milestone/38","labels_url":"https://api.github.com/repos/influxdata/telegraf/milestones/38/labels","id":3655900,"node_id":"MDk6TWlsZXN0b25lMzY1NTkwMA==","number":38,"title":"1.10.0","description":"","creator":{"login":"russorat","id":4805997,"node_id":"MDQ6VXNlcjQ4MDU5OTc=","avatar_url":"https://avatars2.githubusercontent.com/u/4805997?v=4","gravatar_id":"","url":"https://api.github.com/users/russorat","html_url":"https://github.com/russorat","followers_url":"https://api.github.com/users/russorat/followers","following_url":"https://api.github.com/users/russorat/following{/other_user}","gists_url":"https://api.github.com/users/russorat/gists{/gist_id}","starred_url":"https://api.github.com/users/russorat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russorat/subscriptions","organizations_url":"https://api.github.com/users/russorat/orgs","repos_url":"https://api.github.com/users/russorat/repos","events_url":"https://api.github.com/users/russorat/events{/privacy}","received_events_url":"https://api.github.com/users/russorat/received_events","type":"User","site_admin":false},"open_issues":74,"closed_issues":16,"state":"open","created_at":"2018-09-14T21:28:42Z","updated_at":"2018-12-19T02:37:37Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/influxdata/telegraf/pulls/5136/commits","review_comments_url":"https://api.github.com/repos/influxdata/telegraf/pulls/5136/comments","review_comment_url":"https://api.github.com/repos/influxdata/telegraf/pulls/comments{/number}","comments_url":"https://api.github.com/repos/influxdata/telegraf/issues/5136/comments","statuses_url":"https://api.github.com/repos/influxdata/telegraf/statuses/8471100bd293b3ce778c3c3fe45f785e2464f6d0","head":{"label":"emilymye:pubsub","ref":"pubsub","sha":"8471100bd293b3ce778c3c3fe45f785e2464f6d0","user":{"login":"emilymye","id":3684614,"node_id":"MDQ6VXNlcjM2ODQ2MTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3684614?v=4","gravatar_id":"","url":"https://api.github.com/users/emilymye","html_url":"https://github.com/emilymye","followers_url":"https://api.github.com/users/emilymye/followers","following_url":"https://api.github.com/users/emilymye/following{/other_user}","gists_url":"https://api.github.com/users/emilymye/gists{/gist_id}","starred_url":"https://api.github.com/users/emilymye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilymye/subscriptions","organizations_url":"https://api.github.com/users/emilymye/orgs","repos_url":"https://api.github.com/users/emilymye/repos","events_url":"https://api.github.com/users/emilymye/events{/privacy}","received_events_url":"https://api.github.com/users/emilymye/received_events","type":"User","site_admin":false},"repo":{"id":157636839,"node_id":"MDEwOlJlcG9zaXRvcnkxNTc2MzY4Mzk=","name":"telegraf","full_name":"emilymye/telegraf","private":false,"owner":{"login":"emilymye","id":3684614,"node_id":"MDQ6VXNlcjM2ODQ2MTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3684614?v=4","gravatar_id":"","url":"https://api.github.com/users/emilymye","html_url":"https://github.com/emilymye","followers_url":"https://api.github.com/users/emilymye/followers","following_url":"https://api.github.com/users/emilymye/following{/other_user}","gists_url":"https://api.github.com/users/emilymye/gists{/gist_id}","starred_url":"https://api.github.com/users/emilymye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilymye/subscriptions","organizations_url":"https://api.github.com/users/emilymye/orgs","repos_url":"https://api.github.com/users/emilymye/repos","events_url":"https://api.github.com/users/emilymye/events{/privacy}","received_events_url":"https://api.github.com/users/emilymye/received_events","type":"User","site_admin":false},"html_url":"https://github.com/emilymye/telegraf","description":"The plugin-driven server agent for collecting & reporting metrics.","fork":true,"url":"https://api.github.com/repos/emilymye/telegraf","forks_url":"https://api.github.com/repos/emilymye/telegraf/forks","keys_url":"https://api.github.com/repos/emilymye/telegraf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/emilymye/telegraf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/emilymye/telegraf/teams","hooks_url":"https://api.github.com/repos/emilymye/telegraf/hooks","issue_events_url":"https://api.github.com/repos/emilymye/telegraf/issues/events{/number}","events_url":"https://api.github.com/repos/emilymye/telegraf/events","assignees_url":"https://api.github.com/repos/emilymye/telegraf/assignees{/user}","branches_url":"https://api.github.com/repos/emilymye/telegraf/branches{/branch}","tags_url":"https://api.github.com/repos/emilymye/telegraf/tags","blobs_url":"https://api.github.com/repos/emilymye/telegraf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/emilymye/telegraf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/emilymye/telegraf/git/refs{/sha}","trees_url":"https://api.github.com/repos/emilymye/telegraf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/emilymye/telegraf/statuses/{sha}","languages_url":"https://api.github.com/repos/emilymye/telegraf/languages","stargazers_url":"https://api.github.com/repos/emilymye/telegraf/stargazers","contributors_url":"https://api.github.com/repos/emilymye/telegraf/contributors","subscribers_url":"https://api.github.com/repos/emilymye/telegraf/subscribers","subscription_url":"https://api.github.com/repos/emilymye/telegraf/subscription","commits_url":"https://api.github.com/repos/emilymye/telegraf/commits{/sha}","git_commits_url":"https://api.github.com/repos/emilymye/telegraf/git/commits{/sha}","comments_url":"https://api.github.com/repos/emilymye/telegraf/comments{/number}","issue_comment_url":"https://api.github.com/repos/emilymye/telegraf/issues/comments{/number}","contents_url":"https://api.github.com/repos/emilymye/telegraf/contents/{+path}","compare_url":"https://api.github.com/repos/emilymye/telegraf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/emilymye/telegraf/merges","archive_url":"https://api.github.com/repos/emilymye/telegraf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/emilymye/telegraf/downloads","issues_url":"https://api.github.com/repos/emilymye/telegraf/issues{/number}","pulls_url":"https://api.github.com/repos/emilymye/telegraf/pulls{/number}","milestones_url":"https://api.github.com/repos/emilymye/telegraf/milestones{/number}","notifications_url":"https://api.github.com/repos/emilymye/telegraf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/emilymye/telegraf/labels{/name}","releases_url":"https://api.github.com/repos/emilymye/telegraf/releases{/id}","deployments_url":"https://api.github.com/repos/emilymye/telegraf/deployments","created_at":"2018-11-15T01:53:57Z","updated_at":"2018-12-18T23:28:00Z","pushed_at":"2018-12-19T19:02:22Z","git_url":"git://github.com/emilymye/telegraf.git","ssh_url":"git@github.com:emilymye/telegraf.git","clone_url":"https://github.com/emilymye/telegraf.git","svn_url":"https://github.com/emilymye/telegraf","homepage":"","size":21527,"stargazers_count":0,"watchers_count":0,"language":"Go","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":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"influxdata:master","ref":"master","sha":"f530ca6e7ccc96091025c0156009d2365231744e","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":33258973,"node_id":"MDEwOlJlcG9zaXRvcnkzMzI1ODk3Mw==","name":"telegraf","full_name":"influxdata/telegraf","private":false,"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},"html_url":"https://github.com/influxdata/telegraf","description":"The plugin-driven server agent for collecting & reporting metrics.","fork":false,"url":"https://api.github.com/repos/influxdata/telegraf","forks_url":"https://api.github.com/repos/influxdata/telegraf/forks","keys_url":"https://api.github.com/repos/influxdata/telegraf/keys{/key_id}","collaborators_url":"https://api.github.com/repos/influxdata/telegraf/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/influxdata/telegraf/teams","hooks_url":"https://api.github.com/repos/influxdata/telegraf/hooks","issue_events_url":"https://api.github.com/repos/influxdata/telegraf/issues/events{/number}","events_url":"https://api.github.com/repos/influxdata/telegraf/events","assignees_url":"https://api.github.com/repos/influxdata/telegraf/assignees{/user}","branches_url":"https://api.github.com/repos/influxdata/telegraf/branches{/branch}","tags_url":"https://api.github.com/repos/influxdata/telegraf/tags","blobs_url":"https://api.github.com/repos/influxdata/telegraf/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/influxdata/telegraf/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/influxdata/telegraf/git/refs{/sha}","trees_url":"https://api.github.com/repos/influxdata/telegraf/git/trees{/sha}","statuses_url":"https://api.github.com/repos/influxdata/telegraf/statuses/{sha}","languages_url":"https://api.github.com/repos/influxdata/telegraf/languages","stargazers_url":"https://api.github.com/repos/influxdata/telegraf/stargazers","contributors_url":"https://api.github.com/repos/influxdata/telegraf/contributors","subscribers_url":"https://api.github.com/repos/influxdata/telegraf/subscribers","subscription_url":"https://api.github.com/repos/influxdata/telegraf/subscription","commits_url":"https://api.github.com/repos/influxdata/telegraf/commits{/sha}","git_commits_url":"https://api.github.com/repos/influxdata/telegraf/git/commits{/sha}","comments_url":"https://api.github.com/repos/influxdata/telegraf/comments{/number}","issue_comment_url":"https://api.github.com/repos/influxdata/telegraf/issues/comments{/number}","contents_url":"https://api.github.com/repos/influxdata/telegraf/contents/{+path}","compare_url":"https://api.github.com/repos/influxdata/telegraf/compare/{base}...{head}","merges_url":"https://api.github.com/repos/influxdata/telegraf/merges","archive_url":"https://api.github.com/repos/influxdata/telegraf/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/influxdata/telegraf/downloads","issues_url":"https://api.github.com/repos/influxdata/telegraf/issues{/number}","pulls_url":"https://api.github.com/repos/influxdata/telegraf/pulls{/number}","milestones_url":"https://api.github.com/repos/influxdata/telegraf/milestones{/number}","notifications_url":"https://api.github.com/repos/influxdata/telegraf/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/influxdata/telegraf/labels{/name}","releases_url":"https://api.github.com/repos/influxdata/telegraf/releases{/id}","deployments_url":"https://api.github.com/repos/influxdata/telegraf/deployments","created_at":"2015-04-01T16:28:44Z","updated_at":"2018-12-19T17:06:25Z","pushed_at":"2018-12-19T20:09:24Z","git_url":"git://github.com/influxdata/telegraf.git","ssh_url":"git@github.com:influxdata/telegraf.git","clone_url":"https://github.com/influxdata/telegraf.git","svn_url":"https://github.com/influxdata/telegraf","homepage":"","size":21567,"stargazers_count":6004,"watchers_count":6004,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2264,"mirror_url":null,"archived":false,"open_issues_count":652,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":2264,"open_issues":652,"watchers":6004,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/5136"},"html":{"href":"https://github.com/influxdata/telegraf/pull/5136"},"issue":{"href":"https://api.github.com/repos/influxdata/telegraf/issues/5136"},"comments":{"href":"https://api.github.com/repos/influxdata/telegraf/issues/5136/comments"},"review_comments":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/5136/comments"},"review_comment":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/influxdata/telegraf/pulls/5136/commits"},"statuses":{"href":"https://api.github.com/repos/influxdata/telegraf/statuses/8471100bd293b3ce778c3c3fe45f785e2464f6d0"}},"author_association":"NONE"}}
{"actor":{"display_login":"emilymye"}}