56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/metriks/sematext.rb', line 56
def write
datapoints = []
@registry.each do |name, metric|
datapoints += case metric
when Metriks::Counter
[
create_datapoints(name, metric, [:count], [:min, :max, :avg])
]
when Metriks::Meter
[
create_datapoints(name, metric, [:count], [:avg], :count),
create_datapoints(name, metric, [:mean_rate], [:avg], :rate)
]
when Metriks::UtilizationTimer
[
create_datapoints(name, metric, [:min], [:min]),
create_datapoints(name, metric, [:max], [:max]),
create_datapoints(name, metric, [:mean], [:avg], :time),
create_datapoints(name, metric, [:mean_rate], [:avg], :rate),
create_datapoints(name, metric, [
:mean_utilization
], [:avg], :utilization)
]
when Metriks::Histogram
[
create_datapoints(name, metric, [:min], [:min]),
create_datapoints(name, metric, [:max], [:max]),
create_datapoints(name, metric, [:mean], [:avg]),
]
when Metriks::Timer
[
create_datapoints(name, metric, [:min], [:min]),
create_datapoints(name, metric, [:max], [:max]),
create_datapoints(name, metric, [:mean], [:avg], :time),
create_datapoints(name, metric, [:mean_rate], [:avg], :rate)
]
end
end
datapoints.flatten!
results = @client.send_batch datapoints
results.each do |result|
raise "Sending failed: #{result[:response]}" unless result[:status] == :succeed
end if results
end
|