diff --git a/lib/statsd/instrument/metric.rb b/lib/statsd/instrument/metric.rb index 20226213..82e8ae2a 100644 --- a/lib/statsd/instrument/metric.rb +++ b/lib/statsd/instrument/metric.rb @@ -101,8 +101,8 @@ def inspect # @param tags [Array, Hash, nil] Tags specified in any form. # @return [Array, nil] the list of tags in canonical form. def self.normalize_tags(tags) - return if tags.nil? - tags = tags.map { |k, v| "#{k.to_s.tr(':', '')}:#{v.to_s.tr(':', '')}" } if tags.is_a?(Hash) + return unless tags + tags = tags.map { |k, v| k.to_s + ":".freeze + v.to_s } if tags.is_a?(Hash) tags.map { |tag| tag.tr('|,'.freeze, ''.freeze) } end end diff --git a/test/metric_test.rb b/test/metric_test.rb index 8f591e3d..ac9ec19a 100644 --- a/test/metric_test.rb +++ b/test/metric_test.rb @@ -26,7 +26,7 @@ def test_name_prefix def test_handle_bad_tags assert_equal ['ignored'], StatsD::Instrument::Metric.normalize_tags(['igno|red']) - assert_equal ['lolclass:omglol'], StatsD::Instrument::Metric.normalize_tags({ :"lol::class" => "omg::lol" }) + assert_equal ['lol::class:omg::lol'], StatsD::Instrument::Metric.normalize_tags({ :"lol::class" => "omg::lol" }) end def test_rewrite_tags_provided_as_hash