Sha256: de9543d059575e400c62e87d470721b48363e616adec6c99f1342bc1b8cc09e5

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

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/consumer-2020-04-21/schema.cue

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

class Sqreen::Ecosystem::Tracing::Signals::TracingConsumer < 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.consumer'
    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/consumer-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

10 entries across 10 versions & 1 rubygems

Version Path
sqreen-1.25.1 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.25.0 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.24.3 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.24.2 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.24.1 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.24.0 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.23.2 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.23.1 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.23.0 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb
sqreen-1.22.1 lib/sqreen/ecosystem/tracing/signals/tracing_consumer.rb