41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/red_cross/trackers/monitor_tracker.rb', line 41
def monitor_request(attrs)
return if client.nil?
event = attrs[:event].to_s
properties = attrs[:properties] || {}
values = { count: 1 }.merge((properties.delete(:fields) || {}))
begin
client.write_point(event, { values: compact(values), tags: compact(properties) })
client.writer.worker.stop!
rescue => e
error_data = {
log_message: 'Failed to send monitor data to InfluxDB',
event_arguments: {
event: event,
tags: properties,
fields: values
},
exception: {
class: e.class.to_s,
message: e.message,
backtrace: e.backtrace
}
}
log :error, error_data
end
end
|