class Atatus::Transport::Serializers::MetadataSerializer
@api private
Public Instance Methods
build(metadata)
click to toggle source
# File lib/atatus/transport/serializers/metadata_serializer.rb, line 25 def build(metadata) { metadata: { service: build_service(metadata.service), process: build_process(metadata.process), system: build_system(metadata.system), labels: build_labels(metadata.labels) } } end
Private Instance Methods
build_labels(labels)
click to toggle source
# File lib/atatus/transport/serializers/metadata_serializer.rb, line 86 def build_labels(labels) keyword_object(labels) end
build_process(process)
click to toggle source
# File lib/atatus/transport/serializers/metadata_serializer.rb, line 69 def build_process(process) { pid: process.pid, title: keyword_field(process.title), argv: process.argv } end
build_service(service)
click to toggle source
# File lib/atatus/transport/serializers/metadata_serializer.rb, line 38 def build_service(service) base = { name: keyword_field(service.name), environment: keyword_field(service.environment), version: keyword_field(service.version), agent: { name: keyword_field(service.agent.name), version: keyword_field(service.agent.version) }, framework: { name: keyword_field(service.framework.name), version: keyword_field(service.framework.version) }, language: { name: keyword_field(service.language.name), version: keyword_field(service.language.version) }, runtime: { name: keyword_field(service.runtime.name), version: keyword_field(service.runtime.version) } } if node_name = service.node_name base[:node] = { name: keyword_field(node_name) } end base end
build_system(system)
click to toggle source
# File lib/atatus/transport/serializers/metadata_serializer.rb, line 77 def build_system(system) { hostname: keyword_field(system.hostname), architecture: keyword_field(system.architecture), platform: keyword_field(system.platform), kubernetes: keyword_object(system.kubernetes) } end