diff --git a/lib/datadog/statsd/serialization/tag_serializer.rb b/lib/datadog/statsd/serialization/tag_serializer.rb index 95860df..4a44bb1 100644 --- a/lib/datadog/statsd/serialization/tag_serializer.rb +++ b/lib/datadog/statsd/serialization/tag_serializer.rb @@ -74,8 +74,8 @@ def to_tags_list(tags) def escape_tag_content(tag) tag = tag.to_s - return tag unless tag.include?('|') - tag.delete('|,') + return tag unless tag.include?('|') || tag.include?(',') + tag.delete('|,') end def dd_tags(env = ENV) diff --git a/spec/statsd/serialization/tag_serializer_spec.rb b/spec/statsd/serialization/tag_serializer_spec.rb index d45be5f..32d4246 100644 --- a/spec/statsd/serialization/tag_serializer_spec.rb +++ b/spec/statsd/serialization/tag_serializer_spec.rb @@ -132,6 +132,8 @@ context '[testing serialization edge cases]' do it 'formats tags with reserved characters' do expect(subject.format(['name:foo,bar|foo'])).to eq 'name:foobarfoo' + expect(subject.format(['name:foobar|foo'])).to eq 'name:foobarfoo' + expect(subject.format(['name:foo, bar, and foo'])).to eq 'name:foo bar and foo' end it 'formats tags values with to_s' do