Module: HadoopMetrics2
- Defined in:
- lib/hadoop_metrics2/api.rb,
lib/hadoop_metrics2/version.rb,
lib/hadoop_metrics2/data_node.rb,
lib/hadoop_metrics2/name_node.rb,
lib/hadoop_metrics2/node_manager.rb,
lib/hadoop_metrics2/resource_manager.rb
Defined Under Namespace
Modules: API
Classes: DataNode, NameNode, NodeManager, ResourceManager
Constant Summary
collapse
- VERSION =
'0.0.6'
Class Method Summary
collapse
Class Method Details
.get_response(endpoint) ⇒ Object
152
153
154
155
156
157
158
159
|
# File 'lib/hadoop_metrics2/api.rb', line 152
def self.get_response(endpoint)
response = Net::HTTP.get_response(endpoint)
if response.code.to_i == 200
JSON.parse(response.body)
else
raise "Failed to get a response: code = #{response.code}, body = #{response.body}"
end
end
|
.merge_data(data, snake_case) ⇒ Object
161
162
163
164
165
|
# File 'lib/hadoop_metrics2/api.rb', line 161
def self.merge_data(data, snake_case)
f = data.first
f.merge!(data.last)
snake_case ? snake_cased(f) : f
end
|
.snake_cased(json) ⇒ Object
172
173
174
175
176
177
178
179
180
181
182
|
# File 'lib/hadoop_metrics2/api.rb', line 172
def self.snake_cased(json)
snake_cased_json = {}
json.each_pair { |key, value|
v = json[key]
if v.is_a?(Hash)
v = snake_cased(v)
end
snake_cased_json[HadoopMetrics2.to_snake_case(key.dup)] = v
}
snake_cased_json
end
|
.to_snake_case(name) ⇒ Object
167
168
169
170
|
# File 'lib/hadoop_metrics2/api.rb', line 167
def self.to_snake_case(name)
name[0] = name[0].chr.downcase
name.gsub(/[A-Z]/) { |n| "_#{n.downcase}" }
end
|