{"action":"created","issue":{"url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/117","repository_url":"https://api.github.com/repos/linkerd/linkerd2-proxy","labels_url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/117/labels{/name}","comments_url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/117/comments","events_url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/117/events","html_url":"https://github.com/linkerd/linkerd2-proxy/pull/117","id":376606292,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI3Nzg3NjY2","number":117,"title":"Introduce outbound route metrics","user":{"login":"olix0r","id":240738,"node_id":"MDQ6VXNlcjI0MDczOA==","avatar_url":"https://avatars3.githubusercontent.com/u/240738?v=4","gravatar_id":"","url":"https://api.github.com/users/olix0r","html_url":"https://github.com/olix0r","followers_url":"https://api.github.com/users/olix0r/followers","following_url":"https://api.github.com/users/olix0r/following{/other_user}","gists_url":"https://api.github.com/users/olix0r/gists{/gist_id}","starred_url":"https://api.github.com/users/olix0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olix0r/subscriptions","organizations_url":"https://api.github.com/users/olix0r/orgs","repos_url":"https://api.github.com/users/olix0r/repos","events_url":"https://api.github.com/users/olix0r/events{/privacy}","received_events_url":"https://api.github.com/users/olix0r/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"olix0r","id":240738,"node_id":"MDQ6VXNlcjI0MDczOA==","avatar_url":"https://avatars3.githubusercontent.com/u/240738?v=4","gravatar_id":"","url":"https://api.github.com/users/olix0r","html_url":"https://github.com/olix0r","followers_url":"https://api.github.com/users/olix0r/followers","following_url":"https://api.github.com/users/olix0r/following{/other_user}","gists_url":"https://api.github.com/users/olix0r/gists{/gist_id}","starred_url":"https://api.github.com/users/olix0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olix0r/subscriptions","organizations_url":"https://api.github.com/users/olix0r/orgs","repos_url":"https://api.github.com/users/olix0r/repos","events_url":"https://api.github.com/users/olix0r/events{/privacy}","received_events_url":"https://api.github.com/users/olix0r/received_events","type":"User","site_admin":false},"assignees":[{"login":"olix0r","id":240738,"node_id":"MDQ6VXNlcjI0MDczOA==","avatar_url":"https://avatars3.githubusercontent.com/u/240738?v=4","gravatar_id":"","url":"https://api.github.com/users/olix0r","html_url":"https://github.com/olix0r","followers_url":"https://api.github.com/users/olix0r/followers","following_url":"https://api.github.com/users/olix0r/following{/other_user}","gists_url":"https://api.github.com/users/olix0r/gists{/gist_id}","starred_url":"https://api.github.com/users/olix0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olix0r/subscriptions","organizations_url":"https://api.github.com/users/olix0r/orgs","repos_url":"https://api.github.com/users/olix0r/repos","events_url":"https://api.github.com/users/olix0r/events{/privacy}","received_events_url":"https://api.github.com/users/olix0r/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-11-01T23:14:19Z","updated_at":"2018-11-01T23:15:17Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/linkerd/linkerd2-proxy/pulls/117","html_url":"https://github.com/linkerd/linkerd2-proxy/pull/117","diff_url":"https://github.com/linkerd/linkerd2-proxy/pull/117.diff","patch_url":"https://github.com/linkerd/linkerd2-proxy/pull/117.patch"},"body":"The Destination Profile API---provided by linkerd2-proxy-api v0.1.3--\r\nallows the proxy to discovery route information for an HTTP service. As\r\nthe proxy processes outbound requests, in addition to doing address\r\nresolution through the Destination service, the proxy may also discover\r\nprofiles including route patterns and labels.\r\n\r\nWhen the proxy has route information for a destination, it applies the\r\nRequestMatch for each route to find the first-matching route. The\r\nroute's labels are used to expose `route_`-prefixed HTTP metrics (and\r\neach label is prefixed with `rt_`).\r\n\r\nFurthermore, if a route includes ResponseMatches, they are used to\r\nperform classification (i.e. for the `response_total` and\r\n`route_response_total` metrics).\r\n\r\nA new `proxy::http::profiles` module implements a router that consumes\r\nroutes from an infinite stream of route lists.\r\n\r\nThe `app::profiles` module implements a client that continually and\r\nrepeatedly tries to establish a watch for the destination's routes (with\r\nsome backoff).\r\n\r\nRoute discovery does not _block_ routing; that is, the first request to\r\na destination will likely be processed before the route information is\r\nretrieved from the controller (i.e. on the default route). Route\r\nconfiguration is applied in a best-effort fashion."},"comment":{"url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/comments/435218144","html_url":"https://github.com/linkerd/linkerd2-proxy/pull/117#issuecomment-435218144","issue_url":"https://api.github.com/repos/linkerd/linkerd2-proxy/issues/117","id":435218144,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTIxODE0NA==","user":{"login":"olix0r","id":240738,"node_id":"MDQ6VXNlcjI0MDczOA==","avatar_url":"https://avatars3.githubusercontent.com/u/240738?v=4","gravatar_id":"","url":"https://api.github.com/users/olix0r","html_url":"https://github.com/olix0r","followers_url":"https://api.github.com/users/olix0r/followers","following_url":"https://api.github.com/users/olix0r/following{/other_user}","gists_url":"https://api.github.com/users/olix0r/gists{/gist_id}","starred_url":"https://api.github.com/users/olix0r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olix0r/subscriptions","organizations_url":"https://api.github.com/users/olix0r/orgs","repos_url":"https://api.github.com/users/olix0r/repos","events_url":"https://api.github.com/users/olix0r/events{/privacy}","received_events_url":"https://api.github.com/users/olix0r/received_events","type":"User","site_admin":false},"created_at":"2018-11-01T23:15:17Z","updated_at":"2018-11-01T23:15:17Z","author_association":"MEMBER","body":"This needs more automated testing, but it has been tested manually quite a bit."}}
{"actor":{"display_login":"olix0r"}}