{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc-go/issues/1969","repository_url":"https://api.github.com/repos/grpc/grpc-go","labels_url":"https://api.github.com/repos/grpc/grpc-go/issues/1969/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc-go/issues/1969/comments","events_url":"https://api.github.com/repos/grpc/grpc-go/issues/1969/events","html_url":"https://github.com/grpc/grpc-go/pull/1969","id":311741380,"number":1969,"title":"stickiness: add stickiness support","user":{"login":"menghanl","id":960845,"avatar_url":"https://avatars2.githubusercontent.com/u/960845?v=4","gravatar_id":"","url":"https://api.github.com/users/menghanl","html_url":"https://github.com/menghanl","followers_url":"https://api.github.com/users/menghanl/followers","following_url":"https://api.github.com/users/menghanl/following{/other_user}","gists_url":"https://api.github.com/users/menghanl/gists{/gist_id}","starred_url":"https://api.github.com/users/menghanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/menghanl/subscriptions","organizations_url":"https://api.github.com/users/menghanl/orgs","repos_url":"https://api.github.com/users/menghanl/repos","events_url":"https://api.github.com/users/menghanl/events{/privacy}","received_events_url":"https://api.github.com/users/menghanl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"menghanl","id":960845,"avatar_url":"https://avatars2.githubusercontent.com/u/960845?v=4","gravatar_id":"","url":"https://api.github.com/users/menghanl","html_url":"https://github.com/menghanl","followers_url":"https://api.github.com/users/menghanl/followers","following_url":"https://api.github.com/users/menghanl/following{/other_user}","gists_url":"https://api.github.com/users/menghanl/gists{/gist_id}","starred_url":"https://api.github.com/users/menghanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/menghanl/subscriptions","organizations_url":"https://api.github.com/users/menghanl/orgs","repos_url":"https://api.github.com/users/menghanl/repos","events_url":"https://api.github.com/users/menghanl/events{/privacy}","received_events_url":"https://api.github.com/users/menghanl/received_events","type":"User","site_admin":false},"assignees":[{"login":"menghanl","id":960845,"avatar_url":"https://avatars2.githubusercontent.com/u/960845?v=4","gravatar_id":"","url":"https://api.github.com/users/menghanl","html_url":"https://github.com/menghanl","followers_url":"https://api.github.com/users/menghanl/followers","following_url":"https://api.github.com/users/menghanl/following{/other_user}","gists_url":"https://api.github.com/users/menghanl/gists{/gist_id}","starred_url":"https://api.github.com/users/menghanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/menghanl/subscriptions","organizations_url":"https://api.github.com/users/menghanl/orgs","repos_url":"https://api.github.com/users/menghanl/repos","events_url":"https://api.github.com/users/menghanl/events{/privacy}","received_events_url":"https://api.github.com/users/menghanl/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-04-05T19:34:41Z","updated_at":"2018-04-18T17:49:24Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/grpc/grpc-go/pulls/1969","html_url":"https://github.com/grpc/grpc-go/pull/1969","diff_url":"https://github.com/grpc/grpc-go/pull/1969.diff","patch_url":"https://github.com/grpc/grpc-go/pull/1969.patch"},"body":"\n\n<!-- Reviewable:start -->\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/grpc/grpc-go/1969)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/grpc/grpc-go/issues/comments/382472345","html_url":"https://github.com/grpc/grpc-go/pull/1969#issuecomment-382472345","issue_url":"https://api.github.com/repos/grpc/grpc-go/issues/1969","id":382472345,"user":{"login":"menghanl","id":960845,"avatar_url":"https://avatars2.githubusercontent.com/u/960845?v=4","gravatar_id":"","url":"https://api.github.com/users/menghanl","html_url":"https://github.com/menghanl","followers_url":"https://api.github.com/users/menghanl/followers","following_url":"https://api.github.com/users/menghanl/following{/other_user}","gists_url":"https://api.github.com/users/menghanl/gists{/gist_id}","starred_url":"https://api.github.com/users/menghanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/menghanl/subscriptions","organizations_url":"https://api.github.com/users/menghanl/orgs","repos_url":"https://api.github.com/users/menghanl/repos","events_url":"https://api.github.com/users/menghanl/events{/privacy}","received_events_url":"https://api.github.com/users/menghanl/received_events","type":"User","site_admin":false},"created_at":"2018-04-18T17:49:24Z","updated_at":"2018-04-18T17:49:24Z","author_association":"CONTRIBUTOR","body":"Benchmark result:\r\n```\r\n==== before ====\r\n \r\ngo run benchmark/benchmain/main.go -benchtime=10s -workloads=all -compression=on -maxConcurrentCalls=1000 -trace=off -reqSizeBytes=1 -respSizeBytes=1 -networkMode=Local\r\nUnary-traceMode_false-latency_0s-kbps_0-MTU_0-maxConcurrentCalls_1000-reqSize_1B-respSize_1B-Compressor_true: \r\n50_Latency: 14071.5150 µs \t90_Latency: 16441.2350 µs \t99_Latency: 20031.4030 µs \tAvg latency: 14210.7170 µs \tCount: 703661 \t13866 Bytes/op\t173 Allocs/op\t\r\nHistogram (unit: µs)\r\nCount: 703661  Min: 613.9  Max: 45838.0  Avg: 14210.72\r\n------------------------------------------------------------\r\n[     613.868000,      613.869000)       1    0.0%    0.0%  \r\n[     613.869000,      613.875089)       0    0.0%    0.0%  \r\n[     613.875089,      613.918257)       0    0.0%    0.0%  \r\n[     613.918257,      614.224279)       0    0.0%    0.0%  \r\n[     614.224279,      616.393728)       0    0.0%    0.0%  \r\n[     616.393728,      631.773371)       0    0.0%    0.0%  \r\n[     631.773371,      740.802589)       0    0.0%    0.0%  \r\n[     740.802589,     1513.731516)       0    0.0%    0.0%  \r\n[    1513.731516,     6993.172135)       1    0.0%    0.0%  \r\n[    6993.172135,    45837.972000)  703658  100.0%  100.0%  ##########\r\n[   45837.972000,             inf)       1    0.0%  100.0%  \r\n \r\nStream-traceMode_false-latency_0s-kbps_0-MTU_0-maxConcurrentCalls_1000-reqSize_1B-respSize_1B-Compressor_true: \r\n50_Latency: 16236.1490 µs \t90_Latency: 49637.4370 µs \t99_Latency: 76499.9850 µs \tAvg latency: 23501.6690 µs \tCount: 425264 \t41246 Bytes/op\t40 Allocs/op\t\r\nHistogram (unit: µs)\r\nCount: 425264  Min: 215.3  Max: 131301.7  Avg: 23501.67\r\n------------------------------------------------------------\r\n[      215.284000,       215.285000)       1    0.0%    0.0%  \r\n[      215.285000,       215.291979)       0    0.0%    0.0%  \r\n[      215.291979,       215.347665)       0    0.0%    0.0%  \r\n[      215.347665,       215.791987)       0    0.0%    0.0%  \r\n[      215.791987,       219.337250)       0    0.0%    0.0%  \r\n[      219.337250,       247.625060)       0    0.0%    0.0%  \r\n[      247.625060,       473.334737)       6    0.0%    0.0%  \r\n[      473.334737,      2274.282144)      53    0.0%    0.0%  \r\n[     2274.282144,     16644.120436)  221560   52.1%   52.1%  #####\r\n[    16644.120436,    131301.690000)  203643   47.9%  100.0%  #####\r\n[   131301.690000,              inf)       1    0.0%  100.0%  \r\n \r\n==== after ====\r\n\r\ngo run benchmark/benchmain/main.go -benchtime=10s -workloads=all -compression=on -maxConcurrentCalls=1000 -trace=off -reqSizeBytes=1 -respSizeBytes=1 -networkMode=Local\r\nUnary-traceMode_false-latency_0s-kbps_0-MTU_0-maxConcurrentCalls_1000-reqSize_1B-respSize_1B-Compressor_true: \r\n50_Latency: 13.8357 ms \t90_Latency: 15.9277 ms \t99_Latency: 19.8321 ms \tAvg latency: 13.9379 ms \tCount: 717441 13868 Bytes/op\t174 Allocs/op\t\r\nHistogram (unit: ms)\r\nCount: 717441  Min:   3.8  Max:  33.6  Avg: 13.94\r\n------------------------------------------------------------\r\n[       3.845331,        3.845332)       1    0.0%    0.0%  \r\n[       3.845332,        3.845338)       0    0.0%    0.0%  \r\n[       3.845338,        3.845377)       0    0.0%    0.0%  \r\n[       3.845377,        3.845641)       0    0.0%    0.0%  \r\n[       3.845641,        3.847429)       0    0.0%    0.0%  \r\n[       3.847429,        3.859533)       0    0.0%    0.0%  \r\n[       3.859533,        3.941452)       0    0.0%    0.0%  \r\n[       3.941452,        4.495892)       0    0.0%    0.0%  \r\n[       4.495892,        8.248425)     553    0.1%    0.1%  \r\n[       8.248425,       33.646118)  716886   99.9%  100.0%  ##########\r\n[      33.646118,             inf)       1    0.0%  100.0%  \r\n \r\nStream-traceMode_false-latency_0s-kbps_0-MTU_0-maxConcurrentCalls_1000-reqSize_1B-respSize_1B-Compressor_true: \r\n50_Latency: 16425.5590 µs \t90_Latency: 48938.5340 µs \t99_Latency: 75172.7280 µs \tAvg latency: 23827.6740 µs \tCount: 419785 \t42069 Bytes/op\t40 Allocs/op\t\r\nHistogram (unit: µs)\r\nCount: 419785  Min: 184.6  Max: 141370.9  Avg: 23827.67\r\n------------------------------------------------------------\r\n[      184.603000,       184.604000)       1    0.0%    0.0%  \r\n[      184.604000,       184.611045)       0    0.0%    0.0%  \r\n[      184.611045,       184.667724)       0    0.0%    0.0%  \r\n[      184.667724,       185.123712)       0    0.0%    0.0%  \r\n[      185.123712,       188.792190)       0    0.0%    0.0%  \r\n[      188.792190,       218.305535)       2    0.0%    0.0%  \r\n[      218.305535,       455.743926)       9    0.0%    0.0%  \r\n[      455.743926,      2365.964217)      39    0.0%    0.0%  \r\n[     2365.964217,     17733.915193)  232117   55.3%   55.3%  ######\r\n[    17733.915193,    141370.921000)  187616   44.7%  100.0%  ####\r\n[   141370.921000,              inf)       1    0.0%  100.0%\r\n```"}}
{"actor":{"display_login":"menghanl"}}