Module: ActiveMeasure::Serializer::ClassMethods
- Defined in:
- lib/active_measure/serializer.rb
Instance Method Summary collapse
-
#deserialize(serialized_metric) ⇒ Hash
Deserialize a metric from a serialized string.
-
#serialize(metric, value, type: 'c', tags: {}) ⇒ String
Serialize a metric into a string.
Instance Method Details
#deserialize(serialized_metric) ⇒ Hash
Deserialize a metric from a serialized string
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/active_measure/serializer.rb', line 30 def deserialize(serialized_metric) metric, tag_string, value_and_type = serialized_metric.split(';') value, type = value_and_type.split('|') = {} tag_string.split(',').each do |tag| key, value = tag.split('=') [key] = value end { metric: metric, value: value.to_f, type: type, tags: } rescue => e raise "Failed to deserialize metric: #{e.message}" end |
#serialize(metric, value, type: 'c', tags: {}) ⇒ String
Serialize a metric into a string
20 21 22 23 |
# File 'lib/active_measure/serializer.rb', line 20 def serialize(metric, value, type: 'c', tags: {}) tag_string = .map { |key, val| "#{key}=#{val}" }.join(',') "#{metric};#{tag_string}:#{value}|#{type}" end |