Sha256: 75595cd819aea05f1fb05883f82da773cd337d2d79740a6ed374f6bc4057d662

Contents?: true

Size: 826 Bytes

Versions: 8

Compression:

Stored size: 826 Bytes

Contents

# Serialize & deserialize data from the instrumented app up to the APM server
module ScoutApm
  module Serializers
    class PayloadSerializer
      def self.serialize(metadata, metrics, slow_transactions)
        if ScoutApm::Agent.instance.config.value("report_format") == 'json'
          ScoutApm::Serializers::PayloadSerializerToJson.serialize(metadata, metrics, slow_transactions)
        else
          metadata = metadata.dup
          metadata.default_proc = nil

          metrics = metrics.dup
          metrics.default_proc = nil
          Marshal.dump(:metadata          => metadata,
                       :metrics           => metrics,
                       :slow_transactions => slow_transactions)
        end
      end

      def self.deserialize(data)
        Marshal.load(data)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
scout_apm-1.2.0.pre8 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre7 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre6 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre5 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre4 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre3 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre2 lib/scout_apm/serializers/payload_serializer.rb
scout_apm-1.2.0.pre1 lib/scout_apm/serializers/payload_serializer.rb