Sha256: 62f2888c0c688ede671613e585228c0957178e5762b8e337e93abea8d00ddb02

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

require 'sqreen/kit/configuration'
require 'sqreen/kit/signals/point'
require 'sqreen/kit/signals/dto_helper'

# reference: https://github.com/sqreen/SignalsSchemas/blob/master/schemas/payload/tracing/producer-2020-04-21/schema.cue

module Sqreen
  module Ecosystem
    module Tracing
      module Signals
      end
    end
  end
end

class Sqreen::Ecosystem::Tracing::Signals::TracingProducer < Sqreen::Kit::Signals::Point
  readonly_attrs :payload_schema, :source, :signal_name

  def initialize(values = {})
    self.payload_schema = Payload::SCHEMA_VERSION
    self.source = Sqreen::Kit::Configuration.default_source
    self.signal_name = 'tracing.producer'
    self.time = values[:time] || Time.now
    super
  end

  def payload=(payload)
    unless payload.is_a?(Payload)
      raise ArgumentError, "Payload should be a #{Payload}"
    end
    super
  end

  class Payload
    include Sqreen::Kit::Signals::DtoHelper

    add_mandatory_attrs :message_type, :host, :tracing_identifier

    SCHEMA_VERSION = 'tracing/producer-2020-04-21'.freeze

    # @return [Symbol]
    attr_accessor :message_type

    # @return [String]
    attr_accessor :host

    # @return [String]
    attr_accessor :ip

    # @return [String]
    attr_accessor :topic

    # @return [String]
    attr_accessor :tracing_identifier
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sqreen-1.22.0-java lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
sqreen-1.22.0 lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
sqreen-1.21.1-java lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
sqreen-1.21.1 lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
sqreen-1.21.0-java lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb
sqreen-1.21.0 lib/sqreen/ecosystem/tracing/signals/tracing_producer.rb