{"action":"created","issue":{"url":"https://api.github.com/repos/qiniu/logkit/issues/110","repository_url":"https://api.github.com/repos/qiniu/logkit","labels_url":"https://api.github.com/repos/qiniu/logkit/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/qiniu/logkit/issues/110/comments","events_url":"https://api.github.com/repos/qiniu/logkit/issues/110/events","html_url":"https://github.com/qiniu/logkit/pull/110","id":256194696,"number":110,"title":"ftsender支持无队列并发发送","user":{"login":"Yezersky","id":9394243,"avatar_url":"https://avatars3.githubusercontent.com/u/9394243?v=4","gravatar_id":"","url":"https://api.github.com/users/Yezersky","html_url":"https://github.com/Yezersky","followers_url":"https://api.github.com/users/Yezersky/followers","following_url":"https://api.github.com/users/Yezersky/following{/other_user}","gists_url":"https://api.github.com/users/Yezersky/gists{/gist_id}","starred_url":"https://api.github.com/users/Yezersky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yezersky/subscriptions","organizations_url":"https://api.github.com/users/Yezersky/orgs","repos_url":"https://api.github.com/users/Yezersky/repos","events_url":"https://api.github.com/users/Yezersky/events{/privacy}","received_events_url":"https://api.github.com/users/Yezersky/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-09-08T09:30:07Z","updated_at":"2017-09-11T05:26:03Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/qiniu/logkit/pulls/110","html_url":"https://github.com/qiniu/logkit/pull/110","diff_url":"https://github.com/qiniu/logkit/pull/110.diff","patch_url":"https://github.com/qiniu/logkit/pull/110.patch"},"body":"## Changes\r\n \r\n  - [x] ftsender支持无队列并发发送，新增ft_strategy选项`concurrent`\r\n  - [x] 增加direct queue，用来支持无队列并发，起到goroutine间（`FtSender.Send`和`FtSender.sendFromQueue`之间）通讯的作用。direct queue实际上并不是队列，只是实现了队列接口。\r\n  - [x] 移除memory queue\r\n \r\n## Reviewers\r\n\r\n  - [ ] @wonderflow  please review\r\n\r\n## Checklist\r\n   \r\n   - [x] Rebased/mergable\r\n   - [x] Tests pass\r\n   - [ ] CHANGELOG.md updated\r\n   - [ ] Jira issue/task done"},"comment":{"url":"https://api.github.com/repos/qiniu/logkit/issues/comments/328418848","html_url":"https://github.com/qiniu/logkit/pull/110#issuecomment-328418848","issue_url":"https://api.github.com/repos/qiniu/logkit/issues/110","id":328418848,"user":{"login":"Yezersky","id":9394243,"avatar_url":"https://avatars3.githubusercontent.com/u/9394243?v=4","gravatar_id":"","url":"https://api.github.com/users/Yezersky","html_url":"https://github.com/Yezersky","followers_url":"https://api.github.com/users/Yezersky/followers","following_url":"https://api.github.com/users/Yezersky/following{/other_user}","gists_url":"https://api.github.com/users/Yezersky/gists{/gist_id}","starred_url":"https://api.github.com/users/Yezersky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Yezersky/subscriptions","organizations_url":"https://api.github.com/users/Yezersky/orgs","repos_url":"https://api.github.com/users/Yezersky/repos","events_url":"https://api.github.com/users/Yezersky/events{/privacy}","received_events_url":"https://api.github.com/users/Yezersky/received_events","type":"User","site_admin":false},"created_at":"2017-09-11T05:26:03Z","updated_at":"2017-09-11T05:26:03Z","author_association":"CONTRIBUTOR","body":"BenchmarkFtSenderConcurrentDirect-8   \t  300000\t      4425 ns/op\r\n--- BENCH: BenchmarkFtSenderConcurrentDirect-8\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 1\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 1\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 100\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 100\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 10000\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 10000\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 300000\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 300000\r\nBenchmarkFtSenderConcurrentDisk-8     \t   20000\t     77574 ns/op\r\n--- BENCH: BenchmarkFtSenderConcurrentDisk-8\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 1\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 1\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 100\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 100\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 10000\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 10000\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 20000\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 20000\r\nBenchmarkFtSenderConcurrentMemory-8   \t   10000\t    461803 ns/op\r\n--- BENCH: BenchmarkFtSenderConcurrentMemory-8\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 1\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 1\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 100\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 64\r\n\tfault_tolerant_sender_test.go:283: Benchmark.N: 10000\r\n\tfault_tolerant_sender_test.go:284: MockSender.SendCount: 9953"}}
{"actor":{"display_login":"Yezersky"}}