Class: ScoutApm::Serializers::PayloadSerializer
- Inherits:
-
Object
- Object
- ScoutApm::Serializers::PayloadSerializer
- Defined in:
- lib/scout_apm/serializers/payload_serializer.rb
Class Method Summary collapse
- .deserialize(data) ⇒ Object
- .serialize(metadata, metrics, slow_transactions, jobs, slow_jobs, histograms) ⇒ Object
Class Method Details
.deserialize(data) ⇒ Object
28 29 30 |
# File 'lib/scout_apm/serializers/payload_serializer.rb', line 28 def self.deserialize(data) Marshal.load(data) end |
.serialize(metadata, metrics, slow_transactions, jobs, slow_jobs, histograms) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/scout_apm/serializers/payload_serializer.rb', line 5 def self.serialize(, metrics, slow_transactions, jobs, slow_jobs, histograms) if ScoutApm::Agent.instance.config.value("report_format") == 'json' ScoutApm::Serializers::PayloadSerializerToJson.serialize(, metrics, slow_transactions, jobs, slow_jobs, histograms) else = .dup .default = nil metrics = metrics.dup metrics.default = nil Marshal.dump(:metadata => , :metrics => metrics, :slow_transactions => slow_transactions, :jobs => jobs, :slow_jobs => slow_jobs, # as_json returns a ruby object. Since it's not a simple # array, use this to maintain compatibility with json # payloads. At this point, the marshal code branch is # very rarely used anyway. :histograms => HistogramsSerializerToJson.new(histograms).as_json) end end |