{"action":"created","issue":{"url":"https://api.github.com/repos/uswitch/kiam/issues/113","repository_url":"https://api.github.com/repos/uswitch/kiam","labels_url":"https://api.github.com/repos/uswitch/kiam/issues/113/labels{/name}","comments_url":"https://api.github.com/repos/uswitch/kiam/issues/113/comments","events_url":"https://api.github.com/repos/uswitch/kiam/issues/113/events","html_url":"https://github.com/uswitch/kiam/pull/113","id":339115095,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5ODc5MDE3","number":113,"title":"Idiamond/prometheus and statsd","user":{"login":"idiamond-stripe","id":37758547,"node_id":"MDQ6VXNlcjM3NzU4NTQ3","avatar_url":"https://avatars1.githubusercontent.com/u/37758547?v=4","gravatar_id":"","url":"https://api.github.com/users/idiamond-stripe","html_url":"https://github.com/idiamond-stripe","followers_url":"https://api.github.com/users/idiamond-stripe/followers","following_url":"https://api.github.com/users/idiamond-stripe/following{/other_user}","gists_url":"https://api.github.com/users/idiamond-stripe/gists{/gist_id}","starred_url":"https://api.github.com/users/idiamond-stripe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/idiamond-stripe/subscriptions","organizations_url":"https://api.github.com/users/idiamond-stripe/orgs","repos_url":"https://api.github.com/users/idiamond-stripe/repos","events_url":"https://api.github.com/users/idiamond-stripe/events{/privacy}","received_events_url":"https://api.github.com/users/idiamond-stripe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-07-07T04:03:28Z","updated_at":"2018-07-21T21:01:41Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/uswitch/kiam/pulls/113","html_url":"https://github.com/uswitch/kiam/pull/113","diff_url":"https://github.com/uswitch/kiam/pull/113.diff","patch_url":"https://github.com/uswitch/kiam/pull/113.patch"},"body":"This change replaces `go-metrics` with the standard Prometheus library and emits StatsD timing metrics for each request, rather than aggregating it in memory. \r\n\r\nThis PR creates `metrics.go` files on the package level for each package it monitors and then emits metrics in the centralized `prometheus` package. This also creates a `statsd` package that can emit metrics to a StatsD sink on demand.\r\n\r\nAvoiding in-memory metric aggregation means aggregation can be performed in the metrics engine like SIgnalFX or DataDog or Graphite. This allows users to more easily monitor the p99s as they'd like and determine when individual requests endure latency spikes, rather than simply seeing the view in aggregate.\r\n\r\n- Replace go-metrics Prometheus metrics with the Prometheus go client library and emit all previous `go-metrics` metrics that way\r\n- Replace go-metrics StatsD with a client that does not perform in-memory aggregation and emit timing metrics that way\r\n- Add additional logging as to the duration of requests\r\n\r\nResolves #35"},"comment":{"url":"https://api.github.com/repos/uswitch/kiam/issues/comments/406823334","html_url":"https://github.com/uswitch/kiam/pull/113#issuecomment-406823334","issue_url":"https://api.github.com/repos/uswitch/kiam/issues/113","id":406823334,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNjgyMzMzNA==","user":{"login":"idiamond-stripe","id":37758547,"node_id":"MDQ6VXNlcjM3NzU4NTQ3","avatar_url":"https://avatars1.githubusercontent.com/u/37758547?v=4","gravatar_id":"","url":"https://api.github.com/users/idiamond-stripe","html_url":"https://github.com/idiamond-stripe","followers_url":"https://api.github.com/users/idiamond-stripe/followers","following_url":"https://api.github.com/users/idiamond-stripe/following{/other_user}","gists_url":"https://api.github.com/users/idiamond-stripe/gists{/gist_id}","starred_url":"https://api.github.com/users/idiamond-stripe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/idiamond-stripe/subscriptions","organizations_url":"https://api.github.com/users/idiamond-stripe/orgs","repos_url":"https://api.github.com/users/idiamond-stripe/repos","events_url":"https://api.github.com/users/idiamond-stripe/events{/privacy}","received_events_url":"https://api.github.com/users/idiamond-stripe/received_events","type":"User","site_admin":false},"created_at":"2018-07-21T21:01:41Z","updated_at":"2018-07-21T21:01:41Z","author_association":"CONTRIBUTOR","body":"Alright @pingles, rebased on top of your changes and went ahead and added a `docs/metrics.md` as you suggested. :) \r\n\r\nThat wasn't too bad, and hopefully everything here makes sense. Wasn't quite sure how to discuss the RPC metrics in the documentation, and if you have any insight that would be great!"}}
{"actor":{"display_login":"idiamond-stripe"}}