class OpenTsdb::Server
Attributes
port[RW]
server_url[RW]
Public Class Methods
new(server_url,port = 4242)
click to toggle source
# File lib/psc/opentsdb.rb, line 10 def initialize(server_url,port = 4242) @server_url = server_url @port = port self.class.base_uri @server_url + ":" + @port.to_s end
Public Instance Methods
create_metric(metric)
click to toggle source
# File lib/psc/opentsdb.rb, line 32 def create_metric(metric) data = Hash.new data['metric'] = [metric] response = self.class.post('/api/uid/assign',body: data.to_json) puts '***' puts response.parsed_response.to_s if response.code == 400 raise MetricCreationError , metric + " could not be created. " + response.parsed_response['metric_errors'][metric].to_s return elsif response.code != 200 raise MetricCreationError , metric + " could not be created. Unknown Error" return end response end
put(data_points)
click to toggle source
# File lib/psc/opentsdb.rb, line 48 def put(data_points) # data_points = array of data point objects data = Array.new data_points.each do |dp| data.push(dp.to_hash) end response = self.class.post('/api/put', body: data.to_json) end
suggest(type,query=nil,max=1000)
click to toggle source
# File lib/psc/opentsdb.rb, line 16 def suggest(type,query=nil,max=1000) # type must be one of metrics, tagk, tagv # query matches entire strings to front of stored data # max is max results returned data = Hash.new data['type'] = type unless query.nil? data['q'] = query end data['max'] = max response = self.class.post('/api/suggest',body: data.to_json) return response.parsed_response end