diff --git a/files/pe_metrics.rb b/files/pe_metrics.rb index fc0c1f3..65137a0 100644 --- a/files/pe_metrics.rb +++ b/files/pe_metrics.rb @@ -79,16 +79,16 @@ def post_endpoint(url, body) end def retrieve_additional_metrics(url, _metrics_type, metrics) - begin - json_data = metrics.to_json - rescue StandardError => e - STDERR.puts 'Failed to convert metrics to JSON.' - STDERR.puts "Error: #{e.message}" - STDERR.puts e.backtrace + metrics_output = post_endpoint(url, metrics.to_json) + + unless metrics_output.is_a?(Array) + STDERR.puts('ERROR request to %{url} returned data non-Array data of type %{class}: %{output}' % + { url: url, + class: metrics_output.class, + output: metrics_output.to_s }) return [] end - metrics_output = post_endpoint(url, json_data) return [] if metrics_output.empty? # For a status other than 200 or 404, add the HTTP code to the error array