Skip to content

Commit

Permalink
First cut at supporting string metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
pilhuhn committed Sep 20, 2016
1 parent 4c42dac commit 649081f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
13 changes: 11 additions & 2 deletions lib/hawkular/metrics/metric_api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,12 @@ def fetch_version_and_status
# @example push gauge and availability datapoints
# client.push_data(gauges: [{:id => "gauge1", :data => [{:value => 1}, {:value => 2}]}],
# availabilities: [{:id => "avail1", :data => [{:value => "up"}]}])
def push_data(gauges: [], counters: [], availabilities: [])
def push_data(gauges: [], counters: [], availabilities: [], strings: [])
gauges.each { |g| default_timestamp g[:data] }
counters.each { |g| default_timestamp g[:data] }
availabilities.each { |g| default_timestamp g[:data] }
data = { gauges: gauges, counters: counters, availabilities: availabilities }
strings.each { |g| default_timestamp g[:data] }
data = { gauges: gauges, counters: counters, availabilities: availabilities, strings: strings }
path = '/metrics/'
@legacy_api ? path << 'data' : path << 'raw'
http_post(path, data)
Expand Down Expand Up @@ -257,6 +258,14 @@ def get_rate(id, starts: nil, ends: nil, bucket_duration: nil)
end
end

# Class that interacts with "string" metric types
class Strings < Metrics
# @param client [Client]
def initialize(client)
super(client, 'string', 'strings')
end
end

# Class that interacts with "availability" metric types
class Availability < Metrics
# @param client [Client]
Expand Down
3 changes: 3 additions & 0 deletions lib/hawkular/metrics/metrics_client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ class Client < Hawkular::BaseClient
attr_reader :counters
# @return [Gauges] access gauges API
attr_reader :gauges
# @return [Strings] access strings API
attr_reader :strings
# @return [Availability] access counters API
attr_reader :avail

Expand Down Expand Up @@ -61,6 +63,7 @@ def initialize(entrypoint,
@counters = Client::Counters.new self
@gauges = Client::Gauges.new self
@avail = Client::Availability.new self
@strings = Client::Strings.new self
end
end
end

0 comments on commit 649081f

Please sign in to comment.