Class: JenkinsStatsd::JenkinsClient

Inherits:
Object
  • Object
show all
Defined in:
lib/jenkins_statsd/jenkins_client.rb

Constant Summary collapse

GAUGES_EXCLUDE =
[
  %r{^jenkins\.versions}
]
METERS_EXCLUDE =
[
  %r{^http}
]
TIMERS_EXCLUDE =
[
  %r{^http},
  %r{^jenkins\.health},
  %r{^jenkins\.node}
]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(host, api_token) ⇒ JenkinsClient

Returns a new instance of JenkinsClient.



22
23
24
# File 'lib/jenkins_statsd/jenkins_client.rb', line 22

def initialize(host, api_token)
  @metrics_url = File.join(host, 'metrics', api_token, 'metrics')
end

Instance Attribute Details

#metrics_urlObject (readonly)

Returns the value of attribute metrics_url.



6
7
8
# File 'lib/jenkins_statsd/jenkins_client.rb', line 6

def metrics_url
  @metrics_url
end

Instance Method Details

#get_metricsObject



26
27
28
29
30
31
32
33
34
# File 'lib/jenkins_statsd/jenkins_client.rb', line 26

def get_metrics
  metrics = {}
  response = RestClient.get metrics_url
  parsed = JSON.parse(response.body)
  metrics[:gauges] = extract_gauges(parsed)
  metrics[:meters] = extract_meters(parsed)
  metrics[:timers] = extract_timers(parsed)
  metrics
end