in benchmark/metrics.rb [6:36]
def self.put_metric(client:, dims:, timestamp:, metric_name:, metric_value:)
return unless metric_value.is_a?(Numeric) || metric_value.is_a?(Array)
metric_data = {
metric_name: metric_name,
timestamp: timestamp,
unit: metric_unit(metric_name),
dimensions: dims.map { |k, v| { name: k.to_s, value: v } }
}
case metric_value
when Numeric
metric_data[:value] = metric_value
client.put_metric_data(
namespace: metric_namespace,
metric_data: [metric_data]
)
when Array
metric_value.each_slice(150) do |values|
metric_data[:values] = values
client.put_metric_data(
namespace: metric_namespace,
metric_data: [metric_data]
)
end
else
raise 'Unknown type for metric value'
end
end