{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka-http/issues/1025","repository_url":"https://api.github.com/repos/akka/akka-http","labels_url":"https://api.github.com/repos/akka/akka-http/issues/1025/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka-http/issues/1025/comments","events_url":"https://api.github.com/repos/akka/akka-http/issues/1025/events","html_url":"https://github.com/akka/akka-http/issues/1025","id":221228596,"number":1025,"title":"Client pool monitoring","user":{"login":"jrudolph","id":9868,"avatar_url":"https://avatars2.githubusercontent.com/u/9868?v=3","gravatar_id":"","url":"https://api.github.com/users/jrudolph","html_url":"https://github.com/jrudolph","followers_url":"https://api.github.com/users/jrudolph/followers","following_url":"https://api.github.com/users/jrudolph/following{/other_user}","gists_url":"https://api.github.com/users/jrudolph/gists{/gist_id}","starred_url":"https://api.github.com/users/jrudolph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrudolph/subscriptions","organizations_url":"https://api.github.com/users/jrudolph/orgs","repos_url":"https://api.github.com/users/jrudolph/repos","events_url":"https://api.github.com/users/jrudolph/events{/privacy}","received_events_url":"https://api.github.com/users/jrudolph/received_events","type":"User","site_admin":false},"labels":[{"id":430145635,"url":"https://api.github.com/repos/akka/akka-http/labels/1%20-%20triaged","name":"1 - triaged","color":"5319e7","default":false},{"id":436861101,"url":"https://api.github.com/repos/akka/akka-http/labels/t:client","name":"t:client","color":"cccccc","default":false},{"id":439061009,"url":"https://api.github.com/repos/akka/akka-http/labels/t:core","name":"t:core","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/akka/akka-http/milestones/23","html_url":"https://github.com/akka/akka-http/milestone/23","labels_url":"https://api.github.com/repos/akka/akka-http/milestones/23/labels","id":2393686,"number":23,"title":"10.0.6","description":"","creator":{"login":"ktoso","id":120979,"avatar_url":"https://avatars2.githubusercontent.com/u/120979?v=3","gravatar_id":"","url":"https://api.github.com/users/ktoso","html_url":"https://github.com/ktoso","followers_url":"https://api.github.com/users/ktoso/followers","following_url":"https://api.github.com/users/ktoso/following{/other_user}","gists_url":"https://api.github.com/users/ktoso/gists{/gist_id}","starred_url":"https://api.github.com/users/ktoso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktoso/subscriptions","organizations_url":"https://api.github.com/users/ktoso/orgs","repos_url":"https://api.github.com/users/ktoso/repos","events_url":"https://api.github.com/users/ktoso/events{/privacy}","received_events_url":"https://api.github.com/users/ktoso/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":13,"state":"open","created_at":"2017-03-17T13:58:53Z","updated_at":"2017-04-18T12:38:52Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2017-04-12T11:11:05Z","updated_at":"2017-04-18T14:39:21Z","closed_at":null,"body":"We have several tickets of hung pools and it's always hard to find out what's going on. It would be nice if there would be some (internal / unstable?) API to allow users to check what the pool is doing right now (and why). Using the flight recorder would be nice to allow recording of recent events to understand how the pool ended up in the current state.\r\n\r\nSee also suggestions by @ShaneDelmore in https://github.com/akka/akka-http/issues/741#issuecomment-287599964:\r\n\r\n> Adding some visibility to the state of finite resources would help as well. There are a lot of issues related to hung pools and the answer seems to always be \"consume all of the bytes\". If people are repeatedly failing to consume all of the bytes then i think they would benefit from some way to monitor which endpoints are open with no data flowing through them. If the server is just going to go unresponsive after 4 concurrent connections than a way to see how many connections are currently used would be great.\r\n>\r\n> Maybe even a debugging mode to help detect suspicious usage. A \"this request has been open for 5 minutes with no bytes sent\" did you mean to do that? If someone has 500 different endpoints and one of them is using the pool incorrectly how would they even begin to troubleshoot that?"},"comment":{"url":"https://api.github.com/repos/akka/akka-http/issues/comments/294865820","html_url":"https://github.com/akka/akka-http/issues/1025#issuecomment-294865820","issue_url":"https://api.github.com/repos/akka/akka-http/issues/1025","id":294865820,"user":{"login":"jrudolph","id":9868,"avatar_url":"https://avatars2.githubusercontent.com/u/9868?v=3","gravatar_id":"","url":"https://api.github.com/users/jrudolph","html_url":"https://github.com/jrudolph","followers_url":"https://api.github.com/users/jrudolph/followers","following_url":"https://api.github.com/users/jrudolph/following{/other_user}","gists_url":"https://api.github.com/users/jrudolph/gists{/gist_id}","starred_url":"https://api.github.com/users/jrudolph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrudolph/subscriptions","organizations_url":"https://api.github.com/users/jrudolph/orgs","repos_url":"https://api.github.com/users/jrudolph/repos","events_url":"https://api.github.com/users/jrudolph/events{/privacy}","received_events_url":"https://api.github.com/users/jrudolph/received_events","type":"User","site_admin":false},"created_at":"2017-04-18T14:39:21Z","updated_at":"2017-04-18T14:39:21Z","body":"No, I don't think there's something to learn from right now. One problem would be that the pool is built from multiple asynchronous parts so that any monitoring can only provide an approximate view into the current state that might not be completely consistent at all times because of in-flight elements.\r\n\r\nWhat about a visitor interface with several methods that will be called from different places for different kinds of events happening in the infrastructure?"}}
{"actor":{"display_login":"jrudolph"}}