{"action":"created","issue":{"url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/27","repository_url":"https://api.github.com/repos/jenkinsci/metrics-plugin","labels_url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/27/comments","events_url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/27/events","html_url":"https://github.com/jenkinsci/metrics-plugin/pull/27","id":269081155,"number":27,"title":"JENKINS-47696: renaming metrics for all nodes","user":{"login":"sebastiangraf","id":1047301,"avatar_url":"https://avatars3.githubusercontent.com/u/1047301?v=4","gravatar_id":"","url":"https://api.github.com/users/sebastiangraf","html_url":"https://github.com/sebastiangraf","followers_url":"https://api.github.com/users/sebastiangraf/followers","following_url":"https://api.github.com/users/sebastiangraf/following{/other_user}","gists_url":"https://api.github.com/users/sebastiangraf/gists{/gist_id}","starred_url":"https://api.github.com/users/sebastiangraf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebastiangraf/subscriptions","organizations_url":"https://api.github.com/users/sebastiangraf/orgs","repos_url":"https://api.github.com/users/sebastiangraf/repos","events_url":"https://api.github.com/users/sebastiangraf/events{/privacy}","received_events_url":"https://api.github.com/users/sebastiangraf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-10-27T11:53:26Z","updated_at":"2018-03-07T12:15:04Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/jenkinsci/metrics-plugin/pulls/27","html_url":"https://github.com/jenkinsci/metrics-plugin/pull/27","diff_url":"https://github.com/jenkinsci/metrics-plugin/pull/27.diff","patch_url":"https://github.com/jenkinsci/metrics-plugin/pull/27.patch"},"body":"**Background:**\r\nWe monitor Jenkins with Prometheus and scrape the metrics produced by the metrics-plugin with the jmx-exporter (https://github.com/prometheus/jmx_exporter).\r\nFurthermore, our slaves are ephemeral resulting in different slaves for different builds.\r\n\r\n**Motivation:**\r\n\r\nExposed as mBeans and visible via JMX, we see metrics for our slaves denoted by e.g.\r\n`metrics_jenkins_node_scaler_int_i_192_168_148_102_java_4966cfa5_builds_98thPercentile 0.0`\r\nTo make maximal use of this metric, Prometheus needs it so scrape in a form like\r\n`metrics_jenkins_node_builds{name=\"scaler_int_i_192_168_148_102_java_4966cfa5\", quantile=\"0.98\"} 0.0`\r\nSuch a rewriting can be done with help of rules in the configuration of the JMX-Exporter: https://github.com/prometheus/jmx_exporter#configuration\r\n\r\n**Problem:**\r\n\r\nTo generate rules, we need to apply a regex on the mBean. The prefix \"node\" would fit perfectly to file for. Unfortunately, the same prefix is used for the following, global node staticstic:\r\n\r\n- jenkins.node.count.*\r\n- jenkins.node.offline.*\r\n- jenkins.node.online.*\r\n\r\nThis prohibits a filtering on node-specifics metrics.\r\nProposal:\r\nRenaming of \r\n\r\n- jenkins.node.count.*\r\n- jenkins.node.offline.*\r\n- jenkins.node.online.*\r\n\r\nto \r\n\r\n- jenkins.allnodes.count.*\r\n- jenkins.allnodes.offline.*\r\n- jenkins.allnodes.online.*\r\n"},"comment":{"url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/comments/371120188","html_url":"https://github.com/jenkinsci/metrics-plugin/pull/27#issuecomment-371120188","issue_url":"https://api.github.com/repos/jenkinsci/metrics-plugin/issues/27","id":371120188,"user":{"login":"stephenc","id":209336,"avatar_url":"https://avatars2.githubusercontent.com/u/209336?v=4","gravatar_id":"","url":"https://api.github.com/users/stephenc","html_url":"https://github.com/stephenc","followers_url":"https://api.github.com/users/stephenc/followers","following_url":"https://api.github.com/users/stephenc/following{/other_user}","gists_url":"https://api.github.com/users/stephenc/gists{/gist_id}","starred_url":"https://api.github.com/users/stephenc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephenc/subscriptions","organizations_url":"https://api.github.com/users/stephenc/orgs","repos_url":"https://api.github.com/users/stephenc/repos","events_url":"https://api.github.com/users/stephenc/events{/privacy}","received_events_url":"https://api.github.com/users/stephenc/received_events","type":"User","site_admin":false},"created_at":"2018-03-07T12:15:04Z","updated_at":"2018-03-07T12:15:04Z","author_association":"MEMBER","body":"Would break existing consumers that rely on the existing names. Need a mechanism to migrate safely without affecting existing consumers"}}
{"actor":{"display_login":"stephenc"}}