{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/2128","repository_url":"https://api.github.com/repos/kubernetes/ingress-nginx","labels_url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/2128/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/2128/comments","events_url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/2128/events","html_url":"https://github.com/kubernetes/ingress-nginx/issues/2128","id":299115745,"number":2128,"title":"[nginx] Include track label in Prometheus metrics","user":{"login":"lambertjosh","id":25085430,"avatar_url":"https://avatars0.githubusercontent.com/u/25085430?v=4","gravatar_id":"","url":"https://api.github.com/users/lambertjosh","html_url":"https://github.com/lambertjosh","followers_url":"https://api.github.com/users/lambertjosh/followers","following_url":"https://api.github.com/users/lambertjosh/following{/other_user}","gists_url":"https://api.github.com/users/lambertjosh/gists{/gist_id}","starred_url":"https://api.github.com/users/lambertjosh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lambertjosh/subscriptions","organizations_url":"https://api.github.com/users/lambertjosh/orgs","repos_url":"https://api.github.com/users/lambertjosh/repos","events_url":"https://api.github.com/users/lambertjosh/events{/privacy}","received_events_url":"https://api.github.com/users/lambertjosh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-02-21T20:25:04Z","updated_at":"2018-05-25T14:50:24Z","closed_at":null,"author_association":"NONE","body":"The addition of Prometheus metrics support directly within the Ingress in 0.9.0 beta is great. One limitation we have found however, is that there is a limited set of upstream information available.\r\n\r\nFor example if a company uses two labels to facilitate [canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments) in k8s, this unfortunately means there is no way to differentiate between them. This makes it hard to detect increasing error rates and latency from these canary pods.\r\n\r\nIt would be really helpful if we could include an additional label, or perhaps include it in the existing upstream label."},"comment":{"url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/comments/392082445","html_url":"https://github.com/kubernetes/ingress-nginx/issues/2128#issuecomment-392082445","issue_url":"https://api.github.com/repos/kubernetes/ingress-nginx/issues/2128","id":392082445,"user":{"login":"aledbf","id":161571,"avatar_url":"https://avatars2.githubusercontent.com/u/161571?v=4","gravatar_id":"","url":"https://api.github.com/users/aledbf","html_url":"https://github.com/aledbf","followers_url":"https://api.github.com/users/aledbf/followers","following_url":"https://api.github.com/users/aledbf/following{/other_user}","gists_url":"https://api.github.com/users/aledbf/gists{/gist_id}","starred_url":"https://api.github.com/users/aledbf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aledbf/subscriptions","organizations_url":"https://api.github.com/users/aledbf/orgs","repos_url":"https://api.github.com/users/aledbf/repos","events_url":"https://api.github.com/users/aledbf/events{/privacy}","received_events_url":"https://api.github.com/users/aledbf/received_events","type":"User","site_admin":false},"created_at":"2018-05-25T14:50:24Z","updated_at":"2018-05-25T14:50:24Z","author_association":"MEMBER","body":"> does the Store store data in memory or for each query it will query k8s api?\r\n\r\nNo, the Store contains a local copy of the required objects but even with that the operation will be expensive.\r\nJust in case we are going to refactor the prometheus metrics, removing the vts module as the source of the data and use lua in the log phase (after the request was returned) to update the metrics. In that case, we don't need the local store because nginx has all the fields we need and if that's not the case we can just add another variable in the template :)"}}
{"actor":{"display_login":"aledbf"}}