class Datadog::Statsd::Serialization::ServiceCheckSerializer
Constants
- SERVICE_CHECK_BASIC_OPTIONS
Attributes
tag_serializer[R]
Public Class Methods
new(global_tags: [])
click to toggle source
# File lib/datadog/statsd/serialization/service_check_serializer.rb, line 12 def initialize(global_tags: []) @tag_serializer = TagSerializer.new(global_tags) end
Public Instance Methods
format(name, status, options = EMPTY_OPTIONS)
click to toggle source
# File lib/datadog/statsd/serialization/service_check_serializer.rb, line 16 def format(name, status, options = EMPTY_OPTIONS) String.new.tap do |service_check| # line basics service_check << "_sc" service_check << "|" service_check << name.to_s service_check << "|" service_check << status.to_s # we are serializing the generic service check options # before serializing specialized options that need edge-cases SERVICE_CHECK_BASIC_OPTIONS.each do |option_key, shortcut| if value = options[option_key] service_check << '|' service_check << shortcut service_check << value.to_s.delete('|') end end if message = options[:message] service_check << '|m:' service_check << escape_message(message) end # also returns the global tags from serializer if tags = tag_serializer.format(options[:tags]) service_check << '|#' service_check << tags end end end
Protected Instance Methods
escape_message(message)
click to toggle source
# File lib/datadog/statsd/serialization/service_check_serializer.rb, line 51 def escape_message(message) message.delete('|').tap do |m| m.gsub!("\n", '\n') m.gsub!('m:', 'm\:') end end