i have written small ruby code to get publish stats, code is following
begin
response = conn.get("api/queues")
statistics = JSON.parse(response.body)
statistics.each do |qDetails|
payload = "#{qDetails["name"]}"
if payload != "aliveness-test"
puts "#{qDetails["message_stats"]["publish"]}"
end
end
rescue Faraday::Error::ConnectionFailed => e
puts "Connection failed"
end
but i get this error in return
undefined method `[]' for nil:NilClass (NoMethodError)
message_stats json would be like this
{"deliver_get_details"=>{"rate"=>0.0}, "deliver_get"=>1357, "ack_details"=>{"rate"=>0.0}, "ack"=>1357, "redeliver_details"=>{"rate"=>0.0}, "redeliver"=>0, "deliver_no_ack_details"=>{"rate"=>0.0}, "deliver_no_ack"=>0, "deliver_details"=>{"rate"=>0.0}, "deliver"=>1357, "get_no_ack_details"=>{"rate"=>0.0}, "get_no_ack"=>0, "get_details"=>{"rate"=>0.0}, "get"=>0, "publish_details"=>{"rate"=>0.0}, "publish"=>1400}
what's the issue?
"message_stats"is always filled in, because that would explain immediately.